aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Neto <dneto@google.com>2023-01-16 16:35:49 -0500
committerDavid Neto <dneto@google.com>2023-01-16 18:39:12 -0500
commit3413ac75f77bea1fb8cc7f04fd83a62384e1d34e (patch)
treeeb7973ea8406bd6e91a6e1ecc1e3119fc66b0887
parent7e8734f89a7a56ec1326e9ea9bfbc847f38e2f32 (diff)
parent1fb2f1d7896627d62a289439a2c3e750e551a7ab (diff)
downloadglslang-3413ac75f77bea1fb8cc7f04fd83a62384e1d34e.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into update-shaderc
Includes: 1fb2f1d7 Merge pull request #3108 from greg-lunarg/i3105 9b67d41b Fix crash on bad structure member reference 06a7078c build: Remove AMD_EXTENSIONS / NV_EXTENSIONS defines 1d978158 Merge pull request #3100 from daniel-story/fix-dual-src-draw-buffers d1fc064e Merge pull request #3102 from jeremy-lunarg/hayes-fix-debuginfo-disassembly d38d06c0 Fix debuginfo disassembly 68935bc2 Merge pull request #3099 from jeremy-lunarg/hayes-fix-issue-3095 bec8359b Fix const parameter debug types a88f6741 Fix issues with MaxDualSourceDrawBuffersEXT dcae1873 Remove languages from cmake project statement f9b760e6 [glslang] Refine implicit array size interfaces. (#3074) c6b3f279 Merge pull request #3087 from dneto0/remove-unused 4fe00178 Remove the name of unused formal paramters 6d8b00b1 Add support for GL_NV_shader_invocation_reorder. (#3054) 4fc43cd3 Add support for GL_NV_shader_invocation_reorder. (#3054) 19d816c8 Merge pull request #3086 from jeremy-lunarg/hayes-fix-3073 586baa35 Guard AppleClang linker options ed257e2b Merge pull request #3066 from ShchchowAMD/shaochi/bindless 16526fd9 [glslang][EXT] Support extension ARB_bindless_texture. 77551c42 Merge pull request #3081 from jeremy-lunarg/hayes-update-changes 5f6fa4e7 Merge pull request #3080 from jeremy-lunarg/hayes-update-known-good 683c0f34 Update CHANGES for release 11.13.0 08cf7bd2 Update known_good.json e3e8baf8 Merge pull request #3079 from gby/GL_ARM_shader_core_builtins 0464ff45 GL_ARM_shader_core_builtins support a7603c13 Use nullptr where possible instead of NULL or 0 728c6895 Include: PoolAlloc: do not rely on CMake define 12bb8602 Merge pull request #3077 from greg-lunarg/edos3 7f047b98 Add EliminateDeadOutputStores to API. 0cd93a0e Merge pull request #3076 from greg-lunarg/kg124 1ddba01a Update known goods 88fd417b Fix locations of cmake files in side compat shims 2b2523fb Merge pull request #3061 from ShabbyX/remove-angle-build-flag 6b2493a4 Remove GLSLANG_ANGLE f4cba22d Merge pull request #3060 from greg-lunarg/limit3 cc4c7330 Fix include in resource_limits_c.h 5e08deae Merge pull request #3057 from ShabbyX/fix-gn-build 1813a14a Fix gn build 8da64950 Merge pull request #3055 from greg-lunarg/limit2 90c52143 Improve ResourceLimits interface to be more forward compatible 1a8869e4 Merge pull request #3050 from Try/mesh-shader-ibo-fixup 11409249 update failing test-cases 980ac508 Merge pull request #3047 from akien-mga/spirv.hpp-dos2unix 0c3c37de Merge pull request #3046 from amdrexu/bugfix a0ad0d70 Merge pull request #3043 from gnl21/helper-invocation a21b8d8d mesh shader: fix implicit index-array size calculation for lines and triangles 5c352476 Test for spv1.6 + memory model HelperInvocation d570b2b0 Change Volatile generation for HelperInvocation 5755de46 Merge pull request #3049 from jeremy-lunarg/hayes-update-changes 78221d61 Update CHANGES for release 11.12.0 ef6c9714 Merge pull request #3048 from jeremy-lunarg/hayes-update-known-good a77d26f0 Update known_good.json 568e233e Merge pull request #3037 from mbechard/master 15bd5048 Merge pull request #3045 from James2022-rgb/feature/c_interface_preamble_support 7541f398 Convert spirv.hpp line endings to LF (Unix style) 17b0a218 Fix incorrect parse message of mesh shader 573e9849 CInterface: Add preamble support. d11c3ff3 only use dead input elimination on vertex shaders Testing: checkbuild.py on Linux Change-Id: Ie3eacf3d18a88f7e160487515296cc82edef0ad8
-rw-r--r--Android.mk4
-rw-r--r--BUILD.bazel8
-rw-r--r--BUILD.gn15
-rw-r--r--CHANGES.md18
-rw-r--r--CMakeLists.txt10
-rw-r--r--OGLCompilersDLL/CMakeLists.txt2
-rw-r--r--OGLCompilersDLL/InitializeDll.cpp6
-rw-r--r--SPIRV/CMakeLists.txt5
-rw-r--r--SPIRV/GLSL.ext.ARM.h35
-rw-r--r--SPIRV/GLSL.ext.NV.h3
-rw-r--r--SPIRV/GlslangToSpv.cpp397
-rw-r--r--SPIRV/SpvBuilder.cpp46
-rw-r--r--SPIRV/SpvBuilder.h4
-rw-r--r--SPIRV/SpvPostProcess.cpp1
-rw-r--r--SPIRV/SpvTools.cpp52
-rw-r--r--SPIRV/SpvTools.h19
-rw-r--r--SPIRV/disassemble.cpp61
-rw-r--r--SPIRV/doc.cpp234
-rw-r--r--SPIRV/doc.h4
-rw-r--r--SPIRV/spirv.hpp5108
-rw-r--r--StandAlone/CMakeLists.txt6
-rw-r--r--StandAlone/ResourceLimits.cpp16
-rw-r--r--StandAlone/StandAlone.cpp29
-rw-r--r--StandAlone/resource_limits_c.cpp15
-rw-r--r--StandAlone/spirv-remap.cpp4
-rw-r--r--Test/GL_ARB_bindless_texture.frag50
-rw-r--r--Test/baseLegalResults/hlsl.aliasOpaque.frag.out2
-rw-r--r--Test/baseLegalResults/hlsl.flattenOpaque.frag.out2
-rw-r--r--Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out2
-rw-r--r--Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out2
-rw-r--r--Test/baseLegalResults/hlsl.flattenSubset.frag.out2
-rw-r--r--Test/baseLegalResults/hlsl.flattenSubset2.frag.out2
-rw-r--r--Test/baseLegalResults/hlsl.intrinsics.evalfns.frag.out2
-rw-r--r--Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out2
-rw-r--r--Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out2
-rw-r--r--Test/baseResults/GL_ARB_bindless_texture.frag.out205
-rw-r--r--Test/baseResults/compoundsuffix.frag.hlsl90
-rw-r--r--Test/baseResults/compoundsuffix.vert.glsl30
-rw-r--r--Test/baseResults/glsl.autosampledtextures.frag.out2
-rw-r--r--Test/baseResults/glsl.entryPointRename.vert.bad.out2
-rw-r--r--Test/baseResults/glsl.entryPointRename.vert.out2
-rw-r--r--Test/baseResults/glspv.esversion.vert.out2
-rw-r--r--Test/baseResults/glspv.version.frag.out2
-rw-r--r--Test/baseResults/hlsl.PointSize.geom.out2
-rw-r--r--Test/baseResults/hlsl.PointSize.vert.out2
-rw-r--r--Test/baseResults/hlsl.aliasOpaque.frag.out2
-rw-r--r--Test/baseResults/hlsl.amend.frag.out2
-rw-r--r--Test/baseResults/hlsl.array.flatten.frag.out2
-rw-r--r--Test/baseResults/hlsl.array.frag.out2
-rw-r--r--Test/baseResults/hlsl.array.implicit-size.frag.out2
-rw-r--r--Test/baseResults/hlsl.array.multidim.frag.out2
-rw-r--r--Test/baseResults/hlsl.assoc.frag.out2
-rw-r--r--Test/baseResults/hlsl.attribute.expression.comp.out2
-rw-r--r--Test/baseResults/hlsl.attribute.frag.out2
-rw-r--r--Test/baseResults/hlsl.attributeC11.frag.out2
-rw-r--r--Test/baseResults/hlsl.attributeGlobalBuffer.frag.out2
-rw-r--r--Test/baseResults/hlsl.autosampledtextures.frag.out2
-rw-r--r--Test/baseResults/hlsl.basic.comp.out2
-rw-r--r--Test/baseResults/hlsl.basic.geom.out2
-rw-r--r--Test/baseResults/hlsl.boolConv.vert.out2
-rw-r--r--Test/baseResults/hlsl.buffer.frag.out2
-rw-r--r--Test/baseResults/hlsl.calculatelod.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.cast.frag.out2
-rw-r--r--Test/baseResults/hlsl.cbuffer-identifier.vert.out2
-rw-r--r--Test/baseResults/hlsl.charLit.vert.out2
-rw-r--r--Test/baseResults/hlsl.clip.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-1.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-1.geom.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-1.vert.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-2.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-2.geom.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-2.vert.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-3.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-3.geom.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-3.vert.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-4.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-4.geom.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-4.vert.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-5.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-5.vert.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-6.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-6.vert.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-7.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-7.vert.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-8.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-8.vert.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-9.frag.out2
-rw-r--r--Test/baseResults/hlsl.clipdistance-9.vert.out2
-rw-r--r--Test/baseResults/hlsl.color.hull.tesc.out2
-rw-r--r--Test/baseResults/hlsl.comparison.vec.frag.out2
-rw-r--r--Test/baseResults/hlsl.conditional.frag.out2
-rw-r--r--Test/baseResults/hlsl.constantbuffer.frag.out2
-rw-r--r--Test/baseResults/hlsl.constructArray.vert.out2
-rw-r--r--Test/baseResults/hlsl.constructexpr.frag.out2
-rw-r--r--Test/baseResults/hlsl.constructimat.frag.out2
-rw-r--r--Test/baseResults/hlsl.coverage.frag.out2
-rw-r--r--Test/baseResults/hlsl.dashI.vert.out2
-rw-r--r--Test/baseResults/hlsl.deadFunctionMissingBody.vert.out2
-rw-r--r--Test/baseResults/hlsl.depthGreater.frag.out2
-rw-r--r--Test/baseResults/hlsl.depthLess.frag.out2
-rw-r--r--Test/baseResults/hlsl.discard.frag.out2
-rw-r--r--Test/baseResults/hlsl.doLoop.frag.out2
-rw-r--r--Test/baseResults/hlsl.domain.1.tese.out2
-rw-r--r--Test/baseResults/hlsl.domain.2.tese.out2
-rw-r--r--Test/baseResults/hlsl.domain.3.tese.out2
-rw-r--r--Test/baseResults/hlsl.earlydepthstencil.frag.out2
-rw-r--r--Test/baseResults/hlsl.emptystruct.init.vert.out2
-rw-r--r--Test/baseResults/hlsl.emptystructreturn.frag.out2
-rw-r--r--Test/baseResults/hlsl.emptystructreturn.vert.out2
-rw-r--r--Test/baseResults/hlsl.entry-in.frag.out2
-rw-r--r--Test/baseResults/hlsl.entry-out.frag.out2
-rw-r--r--Test/baseResults/hlsl.entry.rename.frag.out2
-rw-r--r--Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out2
-rw-r--r--Test/baseResults/hlsl.explicitDescriptorSet.frag.out2
-rw-r--r--Test/baseResults/hlsl.flatten.return.frag.out2
-rw-r--r--Test/baseResults/hlsl.flattenOpaque.frag.out2
-rw-r--r--Test/baseResults/hlsl.flattenOpaqueInit.vert.out2
-rw-r--r--Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out2
-rw-r--r--Test/baseResults/hlsl.flattenSubset.frag.out2
-rw-r--r--Test/baseResults/hlsl.flattenSubset2.frag.out2
-rw-r--r--Test/baseResults/hlsl.float1.frag.out2
-rw-r--r--Test/baseResults/hlsl.float4.frag.out2
-rw-r--r--Test/baseResults/hlsl.forLoop.frag.out2
-rw-r--r--Test/baseResults/hlsl.format.rwtexture.frag.out2
-rw-r--r--Test/baseResults/hlsl.fraggeom.frag.out2
-rw-r--r--Test/baseResults/hlsl.gather.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.gather.basic.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.gather.basic.dx10.vert.out2
-rw-r--r--Test/baseResults/hlsl.gather.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.getdimensions.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.getdimensions.dx10.vert.out2
-rw-r--r--Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.getsampleposition.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.global-const-init.frag.out2
-rw-r--r--Test/baseResults/hlsl.groupid.comp.out2
-rw-r--r--Test/baseResults/hlsl.gs-hs-mix.tesc.out2
-rw-r--r--Test/baseResults/hlsl.hlslOffset.vert.out2
-rw-r--r--Test/baseResults/hlsl.hull.1.tesc.out2
-rw-r--r--Test/baseResults/hlsl.hull.2.tesc.out2
-rw-r--r--Test/baseResults/hlsl.hull.3.tesc.out2
-rw-r--r--Test/baseResults/hlsl.hull.4.tesc.out2
-rw-r--r--Test/baseResults/hlsl.hull.6.tesc.out2
-rw-r--r--Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out2
-rw-r--r--Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out2
-rw-r--r--Test/baseResults/hlsl.hull.void.tesc.out2
-rw-r--r--Test/baseResults/hlsl.identifier.sample.frag.out2
-rw-r--r--Test/baseResults/hlsl.if.frag.out2
-rw-r--r--Test/baseResults/hlsl.imagefetch-subvec4.comp.out2
-rw-r--r--Test/baseResults/hlsl.imageload-subvec4.comp.out2
-rw-r--r--Test/baseResults/hlsl.implicitBool.frag.out2
-rw-r--r--Test/baseResults/hlsl.include.vert.out2
-rw-r--r--Test/baseResults/hlsl.inf.vert.out2
-rw-r--r--Test/baseResults/hlsl.init.frag.out2
-rw-r--r--Test/baseResults/hlsl.init2.frag.out2
-rw-r--r--Test/baseResults/hlsl.inoutquals.frag.out2
-rw-r--r--Test/baseResults/hlsl.instance.geom.out2
-rw-r--r--Test/baseResults/hlsl.int.dot.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsic.frexp.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsic.frexp.vert.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.barriers.comp.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.comp.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.double.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.f1632.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.f3216.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.lit.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.negative.comp.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.negative.vert.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.promote.down.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.promote.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out2
-rw-r--r--Test/baseResults/hlsl.intrinsics.vert.out2
-rw-r--r--Test/baseResults/hlsl.isfinite.frag.out2
-rw-r--r--Test/baseResults/hlsl.layout.frag.out2
-rw-r--r--Test/baseResults/hlsl.layoutOverride.vert.out2
-rw-r--r--Test/baseResults/hlsl.load.2dms.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.load.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.load.basic.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.load.basic.dx10.vert.out2
-rw-r--r--Test/baseResults/hlsl.load.buffer.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.load.buffer.float.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.load.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.load.offsetarray.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.load.rwtexture.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.logical.binary.frag.out2
-rw-r--r--Test/baseResults/hlsl.logical.binary.vec.frag.out2
-rw-r--r--Test/baseResults/hlsl.logical.unary.frag.out2
-rw-r--r--Test/baseResults/hlsl.logicalConvert.frag.out2
-rw-r--r--Test/baseResults/hlsl.loopattr.frag.out2
-rw-r--r--Test/baseResults/hlsl.matNx1.frag.out2
-rw-r--r--Test/baseResults/hlsl.matType.bool.frag.out2
-rw-r--r--Test/baseResults/hlsl.matType.frag.out2
-rw-r--r--Test/baseResults/hlsl.matType.int.frag.out2
-rw-r--r--Test/baseResults/hlsl.matpack-1.frag.out2
-rw-r--r--Test/baseResults/hlsl.matpack-pragma-global.frag.out2
-rw-r--r--Test/baseResults/hlsl.matpack-pragma.frag.out2
-rw-r--r--Test/baseResults/hlsl.matrixSwizzle.vert.out2
-rw-r--r--Test/baseResults/hlsl.matrixindex.frag.out2
-rw-r--r--Test/baseResults/hlsl.max.frag.out2
-rw-r--r--Test/baseResults/hlsl.memberFunCall.frag.out2
-rw-r--r--Test/baseResults/hlsl.mintypes.frag.out2
-rw-r--r--Test/baseResults/hlsl.mip.operator.frag.out2
-rw-r--r--Test/baseResults/hlsl.mul-truncate.frag.out2
-rw-r--r--Test/baseResults/hlsl.multiDescriptorSet.frag.out2
-rw-r--r--Test/baseResults/hlsl.multiEntry.vert.out2
-rw-r--r--Test/baseResults/hlsl.multiReturn.frag.out2
-rw-r--r--Test/baseResults/hlsl.namespace.frag.out2
-rw-r--r--Test/baseResults/hlsl.noSemantic.functionality1.comp.out2
-rw-r--r--Test/baseResults/hlsl.nonint-index.frag.out2
-rw-r--r--Test/baseResults/hlsl.nonstaticMemberFunction.frag.out2
-rw-r--r--Test/baseResults/hlsl.numericsuffixes.frag.out2
-rw-r--r--Test/baseResults/hlsl.numthreads.comp.out2
-rw-r--r--Test/baseResults/hlsl.opaque-type-bug.frag.out2
-rw-r--r--Test/baseResults/hlsl.overload.frag.out2
-rw-r--r--Test/baseResults/hlsl.params.default.frag.out2
-rw-r--r--Test/baseResults/hlsl.partialFlattenLocal.vert.out2
-rw-r--r--Test/baseResults/hlsl.partialFlattenMixed.vert.out2
-rw-r--r--Test/baseResults/hlsl.partialInit.frag.out2
-rw-r--r--Test/baseResults/hlsl.pp.line.frag.out2
-rw-r--r--Test/baseResults/hlsl.pp.line2.frag.out2
-rw-r--r--Test/baseResults/hlsl.pp.line3.frag.out2
-rw-r--r--Test/baseResults/hlsl.pp.line4.frag.out2
-rw-r--r--Test/baseResults/hlsl.pp.vert.out2
-rw-r--r--Test/baseResults/hlsl.precedence.frag.out2
-rw-r--r--Test/baseResults/hlsl.precedence2.frag.out2
-rw-r--r--Test/baseResults/hlsl.precise.frag.out2
-rw-r--r--Test/baseResults/hlsl.preprocessor.frag.out2
-rw-r--r--Test/baseResults/hlsl.printf.comp.out2
-rw-r--r--Test/baseResults/hlsl.promote.atomic.frag.out2
-rw-r--r--Test/baseResults/hlsl.promote.binary.frag.out2
-rw-r--r--Test/baseResults/hlsl.promote.vec1.frag.out2
-rw-r--r--Test/baseResults/hlsl.promotions.frag.out2
-rw-r--r--Test/baseResults/hlsl.round.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.round.dx9.frag.out2
-rw-r--r--Test/baseResults/hlsl.rw.atomics.frag.out2
-rw-r--r--Test/baseResults/hlsl.rw.bracket.frag.out2
-rw-r--r--Test/baseResults/hlsl.rw.register.frag.out2
-rw-r--r--Test/baseResults/hlsl.rw.scalar.bracket.frag.out2
-rw-r--r--Test/baseResults/hlsl.rw.swizzle.frag.out2
-rw-r--r--Test/baseResults/hlsl.rw.vec2.bracket.frag.out2
-rw-r--r--Test/baseResults/hlsl.sample.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.sample.basic.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.sample.dx9.frag.out2
-rw-r--r--Test/baseResults/hlsl.sample.dx9.vert.out2
-rw-r--r--Test/baseResults/hlsl.sample.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplebias.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplebias.basic.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplebias.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplecmp.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplecmp.dualmode.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplegrad.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out2
-rw-r--r--Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplelevel.array.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out2
-rw-r--r--Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out2
-rw-r--r--Test/baseResults/hlsl.scalar-length.frag.out2
-rw-r--r--Test/baseResults/hlsl.scalar2matrix.frag.out2
-rw-r--r--Test/baseResults/hlsl.scalarCast.vert.out2
-rw-r--r--Test/baseResults/hlsl.scope.frag.out2
-rw-r--r--Test/baseResults/hlsl.self_cast.frag.out2
-rw-r--r--Test/baseResults/hlsl.semantic-1.vert.out2
-rw-r--r--Test/baseResults/hlsl.semantic.geom.out2
-rw-r--r--Test/baseResults/hlsl.semantic.vert.out2
-rw-r--r--Test/baseResults/hlsl.semicolons.frag.out2
-rw-r--r--Test/baseResults/hlsl.shapeConv.frag.out2
-rw-r--r--Test/baseResults/hlsl.shapeConvRet.frag.out2
-rw-r--r--Test/baseResults/hlsl.sin.frag.out2
-rw-r--r--Test/baseResults/hlsl.singleArgIntPromo.vert.out2
-rw-r--r--Test/baseResults/hlsl.snorm.uav.comp.out2
-rw-r--r--Test/baseResults/hlsl.specConstant.frag.out2
-rw-r--r--Test/baseResults/hlsl.spv.1.6.discard.frag.out2
-rw-r--r--Test/baseResults/hlsl.staticFuncInit.frag.out2
-rw-r--r--Test/baseResults/hlsl.staticMemberFunction.frag.out2
-rw-r--r--Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out2
-rw-r--r--Test/baseResults/hlsl.string.frag.out2
-rw-r--r--Test/baseResults/hlsl.stringtoken.frag.out2
-rw-r--r--Test/baseResults/hlsl.struct.frag.out2
-rw-r--r--Test/baseResults/hlsl.struct.split-1.vert.out2
-rw-r--r--Test/baseResults/hlsl.struct.split.array.geom.out2
-rw-r--r--Test/baseResults/hlsl.struct.split.assign.frag.out2
-rw-r--r--Test/baseResults/hlsl.struct.split.call.vert.out2
-rw-r--r--Test/baseResults/hlsl.struct.split.nested.geom.out2
-rw-r--r--Test/baseResults/hlsl.struct.split.trivial.geom.out2
-rw-r--r--Test/baseResults/hlsl.struct.split.trivial.vert.out2
-rw-r--r--Test/baseResults/hlsl.structIoFourWay.frag.out2
-rw-r--r--Test/baseResults/hlsl.structStructName.frag.out2
-rw-r--r--Test/baseResults/hlsl.structarray.flatten.frag.out2
-rw-r--r--Test/baseResults/hlsl.structarray.flatten.geom.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.append.fn.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.append.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.atomics.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.byte.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.coherent.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.floatidx.comp.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.fn.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.fn2.comp.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.incdec.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.rw.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.rwbyte.frag.out2
-rw-r--r--Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out2
-rw-r--r--Test/baseResults/hlsl.structin.vert.out2
-rw-r--r--Test/baseResults/hlsl.subpass.frag.out2
-rw-r--r--Test/baseResults/hlsl.switch.frag.out2
-rw-r--r--Test/baseResults/hlsl.swizzle.frag.out2
-rw-r--r--Test/baseResults/hlsl.synthesizeInput.frag.out2
-rw-r--r--Test/baseResults/hlsl.target.frag.out2
-rw-r--r--Test/baseResults/hlsl.targetStruct1.frag.out2
-rw-r--r--Test/baseResults/hlsl.targetStruct2.frag.out2
-rw-r--r--Test/baseResults/hlsl.templatetypes.frag.out2
-rw-r--r--Test/baseResults/hlsl.texture.struct.frag.out2
-rw-r--r--Test/baseResults/hlsl.texture.subvec4.frag.out2
-rw-r--r--Test/baseResults/hlsl.texturebuffer.frag.out2
-rw-r--r--Test/baseResults/hlsl.this.frag.out2
-rw-r--r--Test/baseResults/hlsl.tristream-append.geom.out2
-rw-r--r--Test/baseResults/hlsl.tx.bracket.frag.out2
-rw-r--r--Test/baseResults/hlsl.tx.overload.frag.out2
-rw-r--r--Test/baseResults/hlsl.type.half.frag.out2
-rw-r--r--Test/baseResults/hlsl.type.identifier.frag.out2
-rw-r--r--Test/baseResults/hlsl.type.type.conversion.valid.frag.out2
-rw-r--r--Test/baseResults/hlsl.typeGraphCopy.vert.out2
-rw-r--r--Test/baseResults/hlsl.typedef.frag.out2
-rw-r--r--Test/baseResults/hlsl.void.frag.out2
-rw-r--r--Test/baseResults/hlsl.w-recip.frag.out2
-rw-r--r--Test/baseResults/hlsl.w-recip2.frag.out2
-rw-r--r--Test/baseResults/hlsl.wavebroadcast.comp.out2
-rw-r--r--Test/baseResults/hlsl.waveprefix.comp.out2
-rw-r--r--Test/baseResults/hlsl.wavequad.comp.out2
-rw-r--r--Test/baseResults/hlsl.wavequery.comp.out2
-rw-r--r--Test/baseResults/hlsl.wavequery.frag.out2
-rw-r--r--Test/baseResults/hlsl.wavereduction.comp.out2
-rw-r--r--Test/baseResults/hlsl.wavevote.comp.out2
-rw-r--r--Test/baseResults/hlsl.whileLoop.frag.out2
-rw-r--r--Test/baseResults/hlsl.y-negate-1.vert.out2
-rw-r--r--Test/baseResults/hlsl.y-negate-2.vert.out2
-rw-r--r--Test/baseResults/hlsl.y-negate-3.vert.out2
-rw-r--r--Test/baseResults/implicitArraySize.vert.out115
-rw-r--r--Test/baseResults/implicitArraySize1.geom.out99
-rw-r--r--Test/baseResults/implicitArraySizeBuiltin.vert.out176
-rw-r--r--Test/baseResults/iomap.blockOutVariableIn.2.vert.out4
-rw-r--r--Test/baseResults/iomap.blockOutVariableIn.vert.out4
-rw-r--r--Test/baseResults/iomap.crossStage.2.vert.out6
-rw-r--r--Test/baseResults/iomap.crossStage.vert.out4
-rw-r--r--Test/baseResults/iomap.crossStage.vk.vert.out6
-rw-r--r--Test/baseResults/iomap.variableOutBlockIn.2.vert.out4
-rw-r--r--Test/baseResults/iomap.variableOutBlockIn.vert.out4
-rwxr-xr-xTest/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out2
-rw-r--r--Test/baseResults/link.vk.matchingPC.0.0.frag.out2
-rw-r--r--Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out2
-rw-r--r--Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out2
-rw-r--r--Test/baseResults/link.vk.pcNamingValid.0.0.vert.out2
-rw-r--r--Test/baseResults/link1.vk.frag.out2
-rw-r--r--Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out2
-rw-r--r--Test/baseResults/rayQuery-allOps.comp.out2
-rw-r--r--Test/baseResults/rayQuery-allOps.frag.out2
-rw-r--r--Test/baseResults/rayQuery-allOps.rgen.out2
-rw-r--r--Test/baseResults/rayQuery-global.rgen.out2
-rw-r--r--Test/baseResults/rayQuery-initialize.rgen.out2
-rw-r--r--Test/baseResults/rayQuery-no-cse.rgen.out2
-rw-r--r--Test/baseResults/rayQuery-types.comp.out2
-rw-r--r--Test/baseResults/rayQuery.rgen.out2
-rw-r--r--Test/baseResults/remap.basic.dcefunc.frag.out2
-rw-r--r--Test/baseResults/remap.basic.everything.frag.out2
-rw-r--r--Test/baseResults/remap.basic.none.frag.out2
-rw-r--r--Test/baseResults/remap.basic.strip.frag.out2
-rw-r--r--Test/baseResults/remap.hlsl.sample.basic.everything.frag.out2
-rw-r--r--Test/baseResults/remap.hlsl.sample.basic.none.frag.out2
-rw-r--r--Test/baseResults/remap.hlsl.sample.basic.strip.frag.out2
-rw-r--r--Test/baseResults/remap.hlsl.templatetypes.everything.frag.out2
-rw-r--r--Test/baseResults/remap.hlsl.templatetypes.none.frag.out2
-rw-r--r--Test/baseResults/remap.if.everything.frag.out2
-rw-r--r--Test/baseResults/remap.if.none.frag.out2
-rw-r--r--Test/baseResults/remap.similar_1a.everything.frag.out2
-rw-r--r--Test/baseResults/remap.similar_1a.none.frag.out2
-rw-r--r--Test/baseResults/remap.similar_1b.everything.frag.out2
-rw-r--r--Test/baseResults/remap.similar_1b.none.frag.out2
-rw-r--r--Test/baseResults/remap.specconst.comp.out2
-rw-r--r--Test/baseResults/remap.switch.everything.frag.out2
-rw-r--r--Test/baseResults/remap.switch.none.frag.out2
-rw-r--r--Test/baseResults/remap.uniformarray.everything.frag.out2
-rw-r--r--Test/baseResults/remap.uniformarray.none.frag.out2
-rw-r--r--Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out2
-rw-r--r--Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out2
-rw-r--r--Test/baseResults/spv.1.3.coopmat.comp.out2
-rw-r--r--Test/baseResults/spv.1.4.LoopControl.frag.out2
-rw-r--r--Test/baseResults/spv.1.4.NonWritable.frag.out2
-rw-r--r--Test/baseResults/spv.1.4.OpCopyLogical.comp.out2
-rw-r--r--Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out2
-rw-r--r--Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out2
-rw-r--r--Test/baseResults/spv.1.4.OpEntryPoint.frag.out2
-rw-r--r--Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out2
-rw-r--r--Test/baseResults/spv.1.4.OpSelect.frag.out2
-rw-r--r--Test/baseResults/spv.1.4.constructComposite.comp.out2
-rw-r--r--Test/baseResults/spv.1.4.funcall.array.frag.out2
-rw-r--r--Test/baseResults/spv.1.4.image.frag.out2
-rw-r--r--Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out2
-rw-r--r--Test/baseResults/spv.1.4.sparseTexture.frag.out2
-rw-r--r--Test/baseResults/spv.1.4.texture.frag.out2
-rw-r--r--Test/baseResults/spv.1.6.conditionalDiscard.frag.out2
-rw-r--r--Test/baseResults/spv.1.6.helperInvocation.frag.out2
-rw-r--r--Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out48
-rw-r--r--Test/baseResults/spv.1.6.samplerBuffer.frag.out2
-rw-r--r--Test/baseResults/spv.1.6.separate.frag.out2
-rw-r--r--Test/baseResults/spv.1.6.specConstant.comp.out2
-rw-r--r--Test/baseResults/spv.100ops.frag.out2
-rw-r--r--Test/baseResults/spv.130.frag.out2
-rw-r--r--Test/baseResults/spv.140.frag.out2
-rw-r--r--Test/baseResults/spv.150.geom.out2
-rw-r--r--Test/baseResults/spv.150.vert.out2
-rw-r--r--Test/baseResults/spv.16bitstorage-int.frag.out2
-rw-r--r--Test/baseResults/spv.16bitstorage-uint.frag.out2
-rw-r--r--Test/baseResults/spv.16bitstorage.frag.out2
-rw-r--r--Test/baseResults/spv.16bitxfb.vert.out2
-rw-r--r--Test/baseResults/spv.300BuiltIns.vert.out2
-rw-r--r--Test/baseResults/spv.300layout.frag.out2
-rw-r--r--Test/baseResults/spv.300layout.vert.out2
-rw-r--r--Test/baseResults/spv.300layoutp.vert.out2
-rw-r--r--Test/baseResults/spv.310.bitcast.frag.out2
-rw-r--r--Test/baseResults/spv.310.comp.out2
-rw-r--r--Test/baseResults/spv.320.meshShaderUserDefined.mesh.out2
-rw-r--r--Test/baseResults/spv.330.geom.out2
-rw-r--r--Test/baseResults/spv.400.frag.nanclamp.out2
-rw-r--r--Test/baseResults/spv.400.frag.out2
-rw-r--r--Test/baseResults/spv.400.tesc.out2
-rw-r--r--Test/baseResults/spv.400.tese.out2
-rw-r--r--Test/baseResults/spv.420.geom.out2
-rw-r--r--Test/baseResults/spv.430.frag.out2
-rw-r--r--Test/baseResults/spv.430.vert.out2
-rw-r--r--Test/baseResults/spv.450.geom.out2
-rw-r--r--Test/baseResults/spv.450.noRedecl.tesc.out2
-rw-r--r--Test/baseResults/spv.450.tesc.out2
-rw-r--r--Test/baseResults/spv.460.comp.out2
-rw-r--r--Test/baseResults/spv.460.frag.out2
-rw-r--r--Test/baseResults/spv.460.subgroupEXT.mesh.out339
-rw-r--r--Test/baseResults/spv.460.subgroupEXT.task.out2
-rw-r--r--Test/baseResults/spv.460.vert.out2
-rw-r--r--Test/baseResults/spv.8bit-16bit-construction.frag.out2
-rw-r--r--Test/baseResults/spv.8bitstorage-int.frag.out2
-rw-r--r--Test/baseResults/spv.8bitstorage-ssbo.vert.out2
-rw-r--r--Test/baseResults/spv.8bitstorage-ubo.vert.out2
-rw-r--r--Test/baseResults/spv.8bitstorage-uint.frag.out2
-rw-r--r--Test/baseResults/spv.ARMCoreBuiltIns.frag.out61
-rw-r--r--Test/baseResults/spv.ARMCoreBuiltIns.vert.out65
-rw-r--r--Test/baseResults/spv.AnyHitShader.rahit.out2
-rw-r--r--Test/baseResults/spv.AnyHitShaderMotion.rahit.out2
-rw-r--r--Test/baseResults/spv.AofA.frag.out2
-rw-r--r--Test/baseResults/spv.ClosestHitShader.rchit.out2
-rw-r--r--Test/baseResults/spv.ClosestHitShaderMotion.rchit.out2
-rw-r--r--Test/baseResults/spv.GeometryShaderPassthrough.geom.out2
-rw-r--r--Test/baseResults/spv.IntersectShader.rint.out2
-rw-r--r--Test/baseResults/spv.IntersectShaderMotion.rint.out2
-rw-r--r--Test/baseResults/spv.MissShader.rmiss.out2
-rw-r--r--Test/baseResults/spv.MissShaderMotion.rmiss.out2
-rw-r--r--Test/baseResults/spv.OVR_multiview.vert.out2
-rw-r--r--Test/baseResults/spv.Operations.frag.out2
-rw-r--r--Test/baseResults/spv.RayCallable.rcall.out2
-rw-r--r--Test/baseResults/spv.RayConstants.rgen.out2
-rw-r--r--Test/baseResults/spv.RayGenShader.rgen.out2
-rw-r--r--Test/baseResults/spv.RayGenShader11.rgen.out2
-rw-r--r--Test/baseResults/spv.RayGenShaderArray.rgen.out2
-rw-r--r--Test/baseResults/spv.RayGenShaderMotion.rgen.out2
-rw-r--r--Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out2
-rw-r--r--Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out2
-rw-r--r--Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out2
-rw-r--r--Test/baseResults/spv.WorkgroupMemoryExplicitLayout.NonBlock.comp.out2
-rw-r--r--Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out2
-rw-r--r--Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out2
-rw-r--r--Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out2
-rw-r--r--Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out2
-rw-r--r--Test/baseResults/spv.accessChain.frag.out2
-rw-r--r--Test/baseResults/spv.aggOps.frag.out2
-rw-r--r--Test/baseResults/spv.always-discard.frag.out2
-rw-r--r--Test/baseResults/spv.always-discard2.frag.out2
-rw-r--r--Test/baseResults/spv.arbPostDepthCoverage.frag.out2
-rw-r--r--Test/baseResults/spv.atomiAddEXT.task.out2
-rw-r--r--Test/baseResults/spv.atomic.comp.out2
-rw-r--r--Test/baseResults/spv.atomicAdd.bufferReference.comp.out2
-rw-r--r--Test/baseResults/spv.atomicFloat.comp.out2
-rw-r--r--Test/baseResults/spv.atomicInt64.comp.out2
-rw-r--r--Test/baseResults/spv.atomicStoreInt64.comp.out2
-rw-r--r--Test/baseResults/spv.barrier.vert.out2
-rw-r--r--Test/baseResults/spv.bitCast.frag.out2
-rw-r--r--Test/baseResults/spv.bool.vert.out2
-rw-r--r--Test/baseResults/spv.boolInBlock.frag.out2
-rw-r--r--Test/baseResults/spv.branch-return.vert.out2
-rw-r--r--Test/baseResults/spv.buffer.autoassign.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle1.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle10.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle11.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle12.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle13.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle14.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle15.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle16.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle18.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle2.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle3.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle4.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle5.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle6.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle7.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle8.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandle9.frag.out2
-rw-r--r--Test/baseResults/spv.bufferhandleUvec2.frag.out2
-rw-r--r--Test/baseResults/spv.builtInXFB.vert.out2
-rw-r--r--Test/baseResults/spv.builtin.PrimitiveShadingRateEXT.vert.out2
-rw-r--r--Test/baseResults/spv.builtin.ShadingRateEXT.frag.out2
-rw-r--r--Test/baseResults/spv.computeShaderDerivatives.comp.out2
-rw-r--r--Test/baseResults/spv.computeShaderDerivatives2.comp.out2
-rw-r--r--Test/baseResults/spv.conditionalDemote.frag.out2
-rw-r--r--Test/baseResults/spv.conditionalDiscard.frag.out2
-rw-r--r--Test/baseResults/spv.constConstruct.vert.out2
-rw-r--r--Test/baseResults/spv.constStruct.vert.out2
-rw-r--r--Test/baseResults/spv.constructComposite.comp.out2
-rw-r--r--Test/baseResults/spv.controlFlowAttributes.frag.out2
-rw-r--r--Test/baseResults/spv.conversion.frag.out2
-rw-r--r--Test/baseResults/spv.coopmat.comp.out2
-rw-r--r--Test/baseResults/spv.dataOut.frag.out2
-rw-r--r--Test/baseResults/spv.dataOutIndirect.frag.out2
-rw-r--r--Test/baseResults/spv.dataOutIndirect.vert.out2
-rw-r--r--Test/baseResults/spv.dead-after-continue.vert.out2
-rw-r--r--Test/baseResults/spv.dead-after-discard.frag.out2
-rw-r--r--Test/baseResults/spv.dead-after-loop-break.vert.out2
-rw-r--r--Test/baseResults/spv.dead-after-return.vert.out2
-rw-r--r--Test/baseResults/spv.dead-after-switch-break.vert.out2
-rw-r--r--Test/baseResults/spv.dead-complex-continue-after-return.vert.out2
-rw-r--r--Test/baseResults/spv.dead-complex-merge-after-return.vert.out2
-rw-r--r--Test/baseResults/spv.debugInfo.1.1.frag.out2
-rw-r--r--Test/baseResults/spv.debugInfo.frag.out2
-rw-r--r--Test/baseResults/spv.debugPrintf.frag.out2
-rw-r--r--Test/baseResults/spv.debuginfo.const_params.glsl.comp.out84
-rw-r--r--Test/baseResults/spv.debuginfo.glsl.comp.out204
-rw-r--r--Test/baseResults/spv.debuginfo.glsl.frag.out300
-rw-r--r--Test/baseResults/spv.debuginfo.glsl.geom.out110
-rw-r--r--Test/baseResults/spv.debuginfo.glsl.tesc.out184
-rw-r--r--Test/baseResults/spv.debuginfo.glsl.tese.out136
-rw-r--r--Test/baseResults/spv.debuginfo.glsl.vert.out124
-rw-r--r--Test/baseResults/spv.debuginfo.hlsl.comp.out222
-rw-r--r--Test/baseResults/spv.debuginfo.hlsl.frag.out340
-rw-r--r--Test/baseResults/spv.debuginfo.hlsl.geom.out128
-rw-r--r--Test/baseResults/spv.debuginfo.hlsl.tesc.out208
-rw-r--r--Test/baseResults/spv.debuginfo.hlsl.tese.out150
-rw-r--r--Test/baseResults/spv.debuginfo.hlsl.vert.out132
-rw-r--r--Test/baseResults/spv.deepRvalue.frag.out2
-rw-r--r--Test/baseResults/spv.depthOut.frag.out2
-rw-r--r--Test/baseResults/spv.depthUnchanged.frag.out2
-rw-r--r--Test/baseResults/spv.deviceGroup.frag.out2
-rw-r--r--Test/baseResults/spv.discard-dce.frag.out2
-rw-r--r--Test/baseResults/spv.do-simple.vert.out2
-rw-r--r--Test/baseResults/spv.do-while-continue-break.vert.out2
-rw-r--r--Test/baseResults/spv.doWhileLoop.frag.out2
-rw-r--r--Test/baseResults/spv.double.comp.out2
-rw-r--r--Test/baseResults/spv.drawParams.vert.out2
-rw-r--r--Test/baseResults/spv.earlyReturnDiscard.frag.out2
-rw-r--r--Test/baseResults/spv.explicittypes.frag.out2
-rw-r--r--Test/baseResults/spv.ext.AccelDecl.frag.out2
-rw-r--r--Test/baseResults/spv.ext.AnyHitShader.rahit.out2
-rw-r--r--Test/baseResults/spv.ext.ClosestHitShader.rchit.out2
-rw-r--r--Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out2
-rw-r--r--Test/baseResults/spv.ext.IntersectShader.rint.out2
-rw-r--r--Test/baseResults/spv.ext.MissShader.rmiss.out2
-rw-r--r--Test/baseResults/spv.ext.RayCallable.rcall.out2
-rw-r--r--Test/baseResults/spv.ext.RayConstants.rgen.out2
-rw-r--r--Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out2
-rw-r--r--Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out2
-rw-r--r--Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out2
-rw-r--r--Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out2
-rw-r--r--Test/baseResults/spv.ext.RayGenShader.rgen.out2
-rw-r--r--Test/baseResults/spv.ext.RayGenShader11.rgen.out2
-rw-r--r--Test/baseResults/spv.ext.RayGenShaderArray.rgen.out2
-rw-r--r--Test/baseResults/spv.ext.RayQueryDecl.frag.out2
-rw-r--r--Test/baseResults/spv.ext.World3x4.rahit.out2
-rw-r--r--Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out85
-rw-r--r--Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out2
-rw-r--r--Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out2
-rw-r--r--Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out2
-rw-r--r--Test/baseResults/spv.ext.meshTaskShader.task.out2
-rw-r--r--Test/baseResults/spv.extPostDepthCoverage.frag.out2
-rw-r--r--Test/baseResults/spv.float16.frag.out2
-rw-r--r--Test/baseResults/spv.float16Fetch.frag.out2
-rw-r--r--Test/baseResults/spv.float16NoRelaxed.vert.out2
-rw-r--r--Test/baseResults/spv.float16convertonlyarith.comp.out2
-rw-r--r--Test/baseResults/spv.float16convertonlystorage.comp.out2
-rw-r--r--Test/baseResults/spv.float32.frag.out2
-rw-r--r--Test/baseResults/spv.float64.frag.out2
-rw-r--r--Test/baseResults/spv.flowControl.frag.out2
-rw-r--r--Test/baseResults/spv.for-complex-condition.vert.out2
-rw-r--r--Test/baseResults/spv.for-continue-break.vert.out2
-rw-r--r--Test/baseResults/spv.for-nobody.vert.out2
-rw-r--r--Test/baseResults/spv.for-notest.vert.out2
-rw-r--r--Test/baseResults/spv.for-simple.vert.out2
-rw-r--r--Test/baseResults/spv.forLoop.frag.out2
-rw-r--r--Test/baseResults/spv.forwardFun.frag.out2
-rw-r--r--Test/baseResults/spv.fragmentDensity-es.frag.out2
-rw-r--r--Test/baseResults/spv.fragmentDensity.frag.out2
-rw-r--r--Test/baseResults/spv.fragmentShaderBarycentric.frag.out2
-rw-r--r--Test/baseResults/spv.fragmentShaderBarycentric2.frag.out2
-rw-r--r--Test/baseResults/spv.fragmentShaderBarycentric3.frag.out2
-rw-r--r--Test/baseResults/spv.fragmentShaderBarycentric4.frag.out2
-rw-r--r--Test/baseResults/spv.fsi.frag.out2
-rw-r--r--Test/baseResults/spv.fullyCovered.frag.out2
-rw-r--r--Test/baseResults/spv.funcall.array.frag.out2
-rw-r--r--Test/baseResults/spv.functionCall.frag.out2
-rw-r--r--Test/baseResults/spv.functionNestedOpaque.vert.out2
-rw-r--r--Test/baseResults/spv.functionParameterTypes.frag.out2
-rw-r--r--Test/baseResults/spv.functionSemantics.frag.out2
-rw-r--r--Test/baseResults/spv.glFragColor.frag.out2
-rw-r--r--Test/baseResults/spv.glsl.register.autoassign.frag.out2
-rw-r--r--Test/baseResults/spv.glsl.register.noautoassign.frag.out2
-rw-r--r--Test/baseResults/spv.hlslDebugInfo.frag.out2
-rw-r--r--Test/baseResults/spv.hlslOffsets.vert.out2
-rw-r--r--Test/baseResults/spv.image.frag.out2
-rw-r--r--Test/baseResults/spv.imageAtomic64.comp.out2
-rw-r--r--Test/baseResults/spv.imageAtomic64.frag.out2
-rw-r--r--Test/baseResults/spv.imageLoadStoreLod.frag.out2
-rw-r--r--Test/baseResults/spv.int16.amd.frag.out2
-rw-r--r--Test/baseResults/spv.int16.frag.out2
-rw-r--r--Test/baseResults/spv.int32.frag.out2
-rw-r--r--Test/baseResults/spv.int64.frag.out2
-rw-r--r--Test/baseResults/spv.int8.frag.out2
-rw-r--r--Test/baseResults/spv.intOps.vert.out2
-rw-r--r--Test/baseResults/spv.intcoopmat.comp.out2
-rw-r--r--Test/baseResults/spv.interpOps.frag.out2
-rw-r--r--Test/baseResults/spv.intrinsicsSpirvByReference.vert.out2
-rw-r--r--Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out2
-rw-r--r--Test/baseResults/spv.intrinsicsSpirvExecutionMode.frag.out2
-rw-r--r--Test/baseResults/spv.intrinsicsSpirvInstruction.vert.out2
-rw-r--r--Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out2
-rw-r--r--Test/baseResults/spv.intrinsicsSpirvStorageClass.rchit.out2
-rw-r--r--Test/baseResults/spv.intrinsicsSpirvType.rgen.out2
-rw-r--r--Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out2
-rw-r--r--Test/baseResults/spv.invariantAll.vert.out2
-rw-r--r--Test/baseResults/spv.layer.tese.out2
-rw-r--r--Test/baseResults/spv.layoutNested.vert.out2
-rw-r--r--Test/baseResults/spv.length.frag.out2
-rw-r--r--Test/baseResults/spv.load.bool.array.interface.block.frag.out2
-rw-r--r--Test/baseResults/spv.localAggregates.frag.out2
-rw-r--r--Test/baseResults/spv.loops.frag.out2
-rw-r--r--Test/baseResults/spv.loopsArtificial.frag.out2
-rw-r--r--Test/baseResults/spv.matFun.vert.out2
-rw-r--r--Test/baseResults/spv.matrix.frag.out2
-rw-r--r--Test/baseResults/spv.matrix2.frag.out2
-rw-r--r--Test/baseResults/spv.memoryQualifier.frag.out2
-rw-r--r--Test/baseResults/spv.memoryScopeSemantics.comp.out2
-rw-r--r--Test/baseResults/spv.merge-unreachable.frag.out2
-rw-r--r--Test/baseResults/spv.meshShaderBuiltins.mesh.out2
-rw-r--r--Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out2
-rw-r--r--Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out2
-rw-r--r--Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out2
-rw-r--r--Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out2
-rw-r--r--Test/baseResults/spv.meshShaderSharedMem.mesh.out2
-rw-r--r--Test/baseResults/spv.meshShaderTaskMem.mesh.out2
-rw-r--r--Test/baseResults/spv.meshShaderUserDefined.mesh.out2
-rw-r--r--Test/baseResults/spv.meshTaskShader.task.out2
-rw-r--r--Test/baseResults/spv.multiStruct.comp.out2
-rw-r--r--Test/baseResults/spv.multiStructFuncall.frag.out2
-rw-r--r--Test/baseResults/spv.multiView.frag.out2
-rw-r--r--Test/baseResults/spv.multiviewPerViewAttributes.tesc.out2
-rw-r--r--Test/baseResults/spv.multiviewPerViewAttributes.vert.out2
-rw-r--r--Test/baseResults/spv.newTexture.frag.out2
-rw-r--r--Test/baseResults/spv.noBuiltInLoc.vert.out2
-rw-r--r--Test/baseResults/spv.noDeadDecorations.vert.out2
-rw-r--r--Test/baseResults/spv.noWorkgroup.comp.out2
-rw-r--r--Test/baseResults/spv.nonSquare.vert.out2
-rw-r--r--Test/baseResults/spv.nonuniform.frag.out2
-rw-r--r--Test/baseResults/spv.nonuniform2.frag.out2
-rw-r--r--Test/baseResults/spv.nonuniform3.frag.out2
-rw-r--r--Test/baseResults/spv.nonuniform4.frag.out2
-rw-r--r--Test/baseResults/spv.nonuniform5.frag.out2
-rwxr-xr-xTest/baseResults/spv.nullInit.comp.out2
-rw-r--r--Test/baseResults/spv.nv.hitobject-allops.rchit.out215
-rw-r--r--Test/baseResults/spv.nv.hitobject-allops.rgen.out219
-rw-r--r--Test/baseResults/spv.nv.hitobject-allops.rmiss.out215
-rw-r--r--Test/baseResults/spv.offsets.frag.out2
-rw-r--r--Test/baseResults/spv.paramMemory.420.frag.out2
-rw-r--r--Test/baseResults/spv.paramMemory.frag.out2
-rw-r--r--Test/baseResults/spv.perprimitiveNV.frag.out2
-rw-r--r--Test/baseResults/spv.pp.line.frag.out2
-rw-r--r--Test/baseResults/spv.precise.tesc.out2
-rw-r--r--Test/baseResults/spv.precise.tese.out2
-rw-r--r--Test/baseResults/spv.precision.frag.out2
-rw-r--r--Test/baseResults/spv.precisionArgs.frag.out2
-rw-r--r--Test/baseResults/spv.precisionNonESSamp.frag.out2
-rw-r--r--Test/baseResults/spv.precisionTexture.frag.out2
-rw-r--r--Test/baseResults/spv.prepost.frag.out2
-rw-r--r--Test/baseResults/spv.privateVariableTypes.frag.out2
-rw-r--r--Test/baseResults/spv.pushConstant.vert.out2
-rw-r--r--Test/baseResults/spv.pushConstantAnon.vert.out2
-rw-r--r--Test/baseResults/spv.qualifiers.vert.out2
-rw-r--r--Test/baseResults/spv.queryL.frag.out2
-rw-r--r--Test/baseResults/spv.queueFamilyScope.comp.out2
-rw-r--r--Test/baseResults/spv.rankShift.comp.out2
-rw-r--r--Test/baseResults/spv.register.autoassign-2.frag.out2
-rw-r--r--Test/baseResults/spv.register.autoassign.frag.out2
-rw-r--r--Test/baseResults/spv.register.autoassign.rangetest.frag.out2
-rw-r--r--Test/baseResults/spv.register.noautoassign.frag.out2
-rw-r--r--Test/baseResults/spv.register.subpass.frag.out2
-rw-r--r--Test/baseResults/spv.rw.autoassign.frag.out2
-rw-r--r--Test/baseResults/spv.sample.frag.out2
-rw-r--r--Test/baseResults/spv.sampleId.frag.out2
-rw-r--r--Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out2
-rw-r--r--Test/baseResults/spv.samplePosition.frag.out2
-rw-r--r--Test/baseResults/spv.samplerlessTextureFunctions.frag.out2
-rw-r--r--Test/baseResults/spv.scalarlayout.frag.out2
-rw-r--r--Test/baseResults/spv.scalarlayoutfloat16.frag.out2
-rw-r--r--Test/baseResults/spv.separate.frag.out2
-rw-r--r--Test/baseResults/spv.set.vert.out2
-rw-r--r--Test/baseResults/spv.shaderBallot.comp.out2
-rw-r--r--Test/baseResults/spv.shaderBallotAMD.comp.out2
-rw-r--r--Test/baseResults/spv.shaderDrawParams.vert.out2
-rw-r--r--Test/baseResults/spv.shaderFragMaskAMD.frag.out2
-rw-r--r--Test/baseResults/spv.shaderGroupVote.comp.out2
-rw-r--r--Test/baseResults/spv.shaderImageFootprint.frag.out2
-rw-r--r--Test/baseResults/spv.shaderStencilExport.frag.out2
-rw-r--r--Test/baseResults/spv.shadingRate.frag.out2
-rw-r--r--Test/baseResults/spv.shiftOps.frag.out2
-rw-r--r--Test/baseResults/spv.shortCircuit.frag.out2
-rw-r--r--Test/baseResults/spv.simpleFunctionCall.frag.out2
-rw-r--r--Test/baseResults/spv.simpleMat.vert.out2
-rw-r--r--Test/baseResults/spv.smBuiltins.frag.out2
-rw-r--r--Test/baseResults/spv.smBuiltins.vert.out2
-rw-r--r--Test/baseResults/spv.sparseTexture.frag.out2
-rw-r--r--Test/baseResults/spv.sparseTextureClamp.frag.out2
-rw-r--r--Test/baseResults/spv.specConst.vert.out2
-rw-r--r--Test/baseResults/spv.specConstant.comp.out2
-rw-r--r--Test/baseResults/spv.specConstant.float16.comp.out2
-rw-r--r--Test/baseResults/spv.specConstant.int16.comp.out2
-rw-r--r--Test/baseResults/spv.specConstant.int8.comp.out2
-rw-r--r--Test/baseResults/spv.specConstant.vert.out2
-rw-r--r--Test/baseResults/spv.specConstantComposite.vert.out2
-rw-r--r--Test/baseResults/spv.specConstantOperations.vert.out2
-rw-r--r--Test/baseResults/spv.specTexture.frag.out2
-rw-r--r--Test/baseResults/spv.ssbo.autoassign.frag.out2
-rw-r--r--Test/baseResults/spv.ssboAlias.frag.out2
-rw-r--r--Test/baseResults/spv.stereoViewRendering.tesc.out2
-rw-r--r--Test/baseResults/spv.stereoViewRendering.vert.out2
-rw-r--r--Test/baseResults/spv.storageBuffer.vert.out2
-rw-r--r--Test/baseResults/spv.structAssignment.frag.out2
-rw-r--r--Test/baseResults/spv.structDeref.frag.out2
-rw-r--r--Test/baseResults/spv.structure.frag.out2
-rw-r--r--Test/baseResults/spv.subgroup.frag.out2
-rw-r--r--Test/baseResults/spv.subgroup.geom.out2
-rw-r--r--Test/baseResults/spv.subgroup.tesc.out2
-rw-r--r--Test/baseResults/spv.subgroup.tese.out2
-rw-r--r--Test/baseResults/spv.subgroup.vert.out2
-rw-r--r--Test/baseResults/spv.subgroupArithmetic.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupBallot.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupBasic.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupClustered.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupExtendedTypesVote.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupPartitioned.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupQuad.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupShuffle.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupShuffleRelative.comp.out2
-rw-r--r--Test/baseResults/spv.subgroupSizeARB.frag.out2
-rw-r--r--Test/baseResults/spv.subgroupUniformControlFlow.vert.out2
-rw-r--r--Test/baseResults/spv.subgroupVote.comp.out2
-rw-r--r--Test/baseResults/spv.subpass.frag.out2
-rw-r--r--Test/baseResults/spv.switch.frag.out2
-rw-r--r--Test/baseResults/spv.swizzle.frag.out2
-rw-r--r--Test/baseResults/spv.swizzleInversion.frag.out2
-rwxr-xr-xTest/baseResults/spv.terminate.frag.out2
-rw-r--r--Test/baseResults/spv.test.frag.out2
-rw-r--r--Test/baseResults/spv.test.vert.out2
-rw-r--r--Test/baseResults/spv.texture.frag.out2
-rw-r--r--Test/baseResults/spv.texture.sampler.transform.frag.out2
-rw-r--r--Test/baseResults/spv.texture.vert.out2
-rw-r--r--Test/baseResults/spv.textureBuffer.vert.out2
-rw-r--r--Test/baseResults/spv.textureGatherBiasLod.frag.out2
-rw-r--r--Test/baseResults/spv.types.frag.out2
-rw-r--r--Test/baseResults/spv.uint.frag.out2
-rw-r--r--Test/baseResults/spv.uniformArray.frag.out2
-rw-r--r--Test/baseResults/spv.uniformInitializer.frag.out2
-rw-r--r--Test/baseResults/spv.uniformInitializerStruct.frag.out2
-rw-r--r--Test/baseResults/spv.unit1.frag.out2
-rw-r--r--Test/baseResults/spv.variableArrayIndex.frag.out2
-rw-r--r--Test/baseResults/spv.varyingArray.frag.out2
-rw-r--r--Test/baseResults/spv.varyingArrayIndirect.frag.out2
-rw-r--r--Test/baseResults/spv.vecMatConstruct.frag.out2
-rw-r--r--Test/baseResults/spv.viewportArray2.tesc.out2
-rw-r--r--Test/baseResults/spv.viewportArray2.vert.out2
-rw-r--r--Test/baseResults/spv.viewportindex.tese.out2
-rw-r--r--Test/baseResults/spv.voidFunction.frag.out2
-rw-r--r--Test/baseResults/spv.volatileAtomic.comp.out2
-rw-r--r--Test/baseResults/spv.vulkan110.int16.frag.out2
-rw-r--r--Test/baseResults/spv.vulkan110.storageBuffer.vert.out2
-rw-r--r--Test/baseResults/spv.while-continue-break.vert.out2
-rw-r--r--Test/baseResults/spv.while-simple.vert.out2
-rw-r--r--Test/baseResults/spv.whileLoop.frag.out2
-rw-r--r--Test/baseResults/spv.xfb.vert.out2
-rw-r--r--Test/baseResults/spv.xfb2.vert.out2
-rw-r--r--Test/baseResults/spv.xfb3.vert.out2
-rw-r--r--Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out2
-rw-r--r--Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out2
-rw-r--r--Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out2
-rw-r--r--Test/baseResults/spv.xfbStrideJustOnce.vert.out2
-rw-r--r--Test/baseResults/struct.error.frag.out37
-rwxr-xr-xTest/baseResults/vk.relaxed.changeSet.vert.out4
-rw-r--r--Test/baseResults/vk.relaxed.frag.out2
-rw-r--r--Test/baseResults/vk.relaxed.link1.frag.out2
-rwxr-xr-xTest/baseResults/vk.relaxed.stagelink.0.0.vert.out4
-rw-r--r--Test/baseResults/vk.relaxed.stagelink.vert.out4
-rw-r--r--Test/baseResults/vulkan.ast.vert.out2
-rw-r--r--Test/baseResults/vulkan.frag.out2
-rw-r--r--Test/implicitArraySize.frag9
-rw-r--r--Test/implicitArraySize.vert8
-rw-r--r--Test/implicitArraySize1.geom14
-rw-r--r--Test/implicitArraySize2.geom8
-rw-r--r--Test/implicitArraySizeBuiltin.geom20
-rw-r--r--Test/implicitArraySizeBuiltin.vert11
-rw-r--r--Test/spv.1.6.helperInvocation.memmodel.frag16
-rw-r--r--Test/spv.ARMCoreBuiltIns.frag8
-rw-r--r--Test/spv.ARMCoreBuiltIns.vert12
-rw-r--r--Test/spv.debuginfo.const_params.glsl.comp14
-rw-r--r--Test/spv.nv.hitobject-allops.rchit55
-rw-r--r--Test/spv.nv.hitobject-allops.rgen61
-rw-r--r--Test/spv.nv.hitobject-allops.rmiss58
-rw-r--r--Test/struct.error.frag14
-rwxr-xr-xgen_extension_headers.py2
-rw-r--r--glslang/CInterface/glslang_c_interface.cpp6
-rw-r--r--glslang/CMakeLists.txt4
-rw-r--r--glslang/GenericCodeGen/Link.cpp2
-rw-r--r--glslang/HLSL/hlslGrammar.cpp2
-rw-r--r--glslang/HLSL/hlslParseHelper.cpp10
-rw-r--r--glslang/HLSL/hlslParseHelper.h8
-rw-r--r--glslang/Include/BaseTypes.h10
-rw-r--r--glslang/Include/PoolAlloc.h8
-rw-r--r--glslang/Include/ShHandle.h16
-rw-r--r--glslang/Include/Types.h62
-rw-r--r--glslang/Include/arrays.h19
-rw-r--r--glslang/Include/glslang_c_interface.h9
-rw-r--r--glslang/Include/intermediate.h91
-rw-r--r--glslang/MachineIndependent/Constant.cpp10
-rw-r--r--glslang/MachineIndependent/Initialize.cpp334
-rw-r--r--glslang/MachineIndependent/Intermediate.cpp7
-rw-r--r--glslang/MachineIndependent/ParseContextBase.cpp6
-rw-r--r--glslang/MachineIndependent/ParseHelper.cpp380
-rw-r--r--glslang/MachineIndependent/ParseHelper.h8
-rw-r--r--glslang/MachineIndependent/PoolAlloc.cpp10
-rw-r--r--glslang/MachineIndependent/Scan.cpp17
-rw-r--r--glslang/MachineIndependent/ShaderLang.cpp101
-rw-r--r--glslang/MachineIndependent/SymbolTable.cpp5
-rw-r--r--glslang/MachineIndependent/SymbolTable.h45
-rw-r--r--glslang/MachineIndependent/Versions.cpp31
-rw-r--r--glslang/MachineIndependent/Versions.h5
-rw-r--r--glslang/MachineIndependent/glslang.m417
-rw-r--r--glslang/MachineIndependent/glslang.y19
-rw-r--r--glslang/MachineIndependent/glslang_tab.cpp9174
-rw-r--r--glslang/MachineIndependent/glslang_tab.cpp.h588
-rw-r--r--glslang/MachineIndependent/intermOut.cpp38
-rw-r--r--glslang/MachineIndependent/iomapper.cpp4
-rw-r--r--glslang/MachineIndependent/iomapper.h4
-rw-r--r--glslang/MachineIndependent/linkValidate.cpp55
-rw-r--r--glslang/MachineIndependent/localintermediate.h90
-rw-r--r--glslang/MachineIndependent/parseConst.cpp2
-rw-r--r--glslang/MachineIndependent/parseVersions.h10
-rw-r--r--glslang/MachineIndependent/preprocessor/PpContext.cpp2
-rw-r--r--glslang/MachineIndependent/preprocessor/PpTokens.cpp2
-rw-r--r--glslang/MachineIndependent/propagateNoContraction.cpp2
-rw-r--r--glslang/MachineIndependent/reflection.cpp6
-rw-r--r--glslang/MachineIndependent/reflection.h4
-rw-r--r--glslang/OSDependent/Unix/CMakeLists.txt2
-rw-r--r--glslang/OSDependent/Unix/ossource.cpp2
-rw-r--r--glslang/OSDependent/Windows/CMakeLists.txt2
-rw-r--r--glslang/OSDependent/Windows/ossource.cpp4
-rw-r--r--glslang/OSDependent/osinclude.h2
-rw-r--r--glslang/Public/ResourceLimits.h (renamed from StandAlone/ResourceLimits.h)10
-rw-r--r--glslang/Public/ShaderLang.h10
-rw-r--r--glslang/Public/resource_limits_c.h (renamed from StandAlone/resource_limits_c.h)5
-rw-r--r--gtests/AST.FromFile.cpp2
-rw-r--r--gtests/BuiltInResource.FromFile.cpp14
-rw-r--r--gtests/CMakeLists.txt2
-rw-r--r--gtests/Config.FromFile.cpp4
-rw-r--r--gtests/Link.FromFile.Vk.cpp2
-rw-r--r--gtests/Link.FromFile.cpp3
-rw-r--r--gtests/Spv.FromFile.cpp12
-rw-r--r--gtests/TestFixture.h12
-rw-r--r--hlsl/CMakeLists.txt2
-rw-r--r--known_good.json4
912 files changed, 13652 insertions, 10038 deletions
diff --git a/Android.mk b/Android.mk
index 40cddb75..8e2fac0a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2020 The Khronos Group Inc.
+# Copyright (C) 2020-2023 The Khronos Group Inc.
#
# All rights reserved.
#
@@ -53,7 +53,7 @@ $(eval $(call gen_glslang_build_info_h))
GLSLANG_OS_FLAGS := -DGLSLANG_OSINCLUDE_UNIX
# AMD and NV extensions are turned on by default in upstream Glslang.
-GLSLANG_DEFINES:= -DAMD_EXTENSIONS -DNV_EXTENSIONS -DENABLE_HLSL $(GLSLANG_OS_FLAGS)
+GLSLANG_DEFINES:= -DENABLE_HLSL $(GLSLANG_OS_FLAGS)
include $(CLEAR_VARS)
LOCAL_MODULE:=OSDependent
diff --git a/BUILD.bazel b/BUILD.bazel
index 12168fae..8dd76e07 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -1,4 +1,4 @@
-# Copyright (C) 2020 The Khronos Group Inc.
+# Copyright (C) 2020-2023 The Khronos Group Inc.
#
# All rights reserved.
#
@@ -125,10 +125,8 @@ cc_library(
],
copts = COMMON_COPTS,
defines = [
- "AMD_EXTENSIONS",
"ENABLE_HLSL=0",
"ENABLE_OPT=0",
- "NV_EXTENSIONS",
],
linkopts = select({
"@bazel_tools//src/conditions:windows": [""],
@@ -144,6 +142,7 @@ genrule(
"SPIRV/GLSL.ext.EXT.h",
"SPIRV/GLSL.ext.KHR.h",
"SPIRV/GLSL.ext.NV.h",
+ "SPIRV/GLSL.ext.ARM.h",
"SPIRV/GLSL.std.450.h",
"SPIRV/NonSemanticDebugPrintf.h",
"SPIRV/NonSemanticShaderDebugInfo100.h",
@@ -154,6 +153,7 @@ genrule(
"include/SPIRV/GLSL.ext.EXT.h",
"include/SPIRV/GLSL.ext.KHR.h",
"include/SPIRV/GLSL.ext.NV.h",
+ "include/SPIRV/GLSL.ext.ARM.h",
"include/SPIRV/GLSL.std.450.h",
"include/SPIRV/NonSemanticDebugPrintf.h",
"include/SPIRV/NonSemanticShaderDebugInfo100.h",
@@ -210,7 +210,7 @@ cc_library(
cc_library(
name = "glslang-default-resource-limits",
srcs = ["StandAlone/ResourceLimits.cpp"],
- hdrs = ["StandAlone/ResourceLimits.h"],
+ hdrs = ["glslang/Public/ResourceLimits.h"],
copts = COMMON_COPTS,
linkstatic = 1,
deps = [":glslang"],
diff --git a/BUILD.gn b/BUILD.gn
index 29328d40..0aacbf5a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -96,9 +96,6 @@ action("glslang_extension_headers") {
}
spirv_tools_dir = glslang_spirv_tools_dir
-if (!defined(glslang_angle)) {
- glslang_angle = false
-}
config("glslang_public") {
include_dirs = [ "." ]
@@ -126,6 +123,7 @@ template("glslang_sources_common") {
"SPIRV/GLSL.ext.EXT.h",
"SPIRV/GLSL.ext.KHR.h",
"SPIRV/GLSL.ext.NV.h",
+ "SPIRV/GLSL.ext.ARM.h",
"SPIRV/GLSL.std.450.h",
"SPIRV/GlslangToSpv.cpp",
"SPIRV/GlslangToSpv.h",
@@ -242,9 +240,6 @@ template("glslang_sources_common") {
sources += [ "SPIRV/SpvTools.cpp" ]
defines += [ "ENABLE_OPT=1" ]
}
- if (invoker.is_angle) {
- defines += [ "GLSLANG_ANGLE" ]
- }
if (is_win) {
sources += [ "glslang/OSDependent/Windows/ossource.cpp" ]
@@ -293,21 +288,19 @@ template("glslang_sources_common") {
}
glslang_sources_common("glslang_lib_sources") {
- enable_opt = !glslang_angle
- enable_hlsl = !glslang_angle
- is_angle = glslang_angle
+ enable_opt = true
+ enable_hlsl = true
}
glslang_sources_common("glslang_sources") {
enable_opt = true
enable_hlsl = true
- is_angle = false
}
source_set("glslang_default_resource_limits_sources") {
sources = [
"StandAlone/ResourceLimits.cpp",
- "StandAlone/ResourceLimits.h",
+ "glslang/Public/ResourceLimits.h",
"glslang/Include/ResourceLimits.h",
]
public_configs = [ ":glslang_public" ]
diff --git a/CHANGES.md b/CHANGES.md
index 292147c3..aee747f5 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -3,6 +3,24 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/).
+## 11.13.0 2022-12-06
+
+### Other changes
+* Make HelperInvocation accesses volatile for SPIR-V 1.6.
+* Improve forward compatibility of ResourceLimits interface
+* Remove GLSLANG_ANGLE
+
+## 11.12.0 2022-10-12
+
+### Other changes
+* Update generator version
+* Add support for GL_EXT_mesh_shader
+* Add support for NonSemantic.Shader.DebugInfo.100
+* Make OpEmitMeshTasksEXT a terminal instruction
+* Make gl_SubGroupARB a flat in int in Vulkan
+* Add support for GL_EXT_opacity_micromap
+* Add preamble support to C interface
+
## 11.11.0 2022-08-11
### Other changes
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b581c842..e93ba455 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,7 +41,7 @@ if(POLICY CMP0054)
cmake_policy(SET CMP0054 NEW)
endif()
-project(glslang LANGUAGES CXX)
+project(glslang)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
@@ -192,10 +192,10 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" AND NOT MSVC)
# Error if there's symbols that are not found at link time.
# add_link_options() was added in CMake 3.13 - if using an earlier
# version don't set this - it should be caught by presubmits anyway.
- if (WIN32)
- add_link_options("-Wl,--no-undefined")
- else()
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
add_link_options("-Wl,-undefined,error")
+ else()
+ add_link_options("-Wl,--no-undefined")
endif()
endif()
elseif(MSVC)
@@ -402,4 +402,4 @@ if(ENABLE_GLSLANG_INSTALL)
DESTINATION
"${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
)
-endif() \ No newline at end of file
+endif()
diff --git a/OGLCompilersDLL/CMakeLists.txt b/OGLCompilersDLL/CMakeLists.txt
index b44cbc73..33f16b0d 100644
--- a/OGLCompilersDLL/CMakeLists.txt
+++ b/OGLCompilersDLL/CMakeLists.txt
@@ -49,7 +49,7 @@ if(ENABLE_GLSLANG_INSTALL AND NOT BUILD_SHARED_LIBS)
message(WARNING \"Using `OGLCompilerTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::OGLCompiler)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(OGLCompiler ALIAS glslang::OGLCompiler)
diff --git a/OGLCompilersDLL/InitializeDll.cpp b/OGLCompilersDLL/InitializeDll.cpp
index abea9108..9d81f578 100644
--- a/OGLCompilersDLL/InitializeDll.cpp
+++ b/OGLCompilersDLL/InitializeDll.cpp
@@ -102,7 +102,7 @@ bool InitThread()
return false;
}
- if (OS_GetTLSValue(ThreadInitializeIndex) != 0)
+ if (OS_GetTLSValue(ThreadInitializeIndex) != nullptr)
return true;
if (! OS_SetTLSValue(ThreadInitializeIndex, (void *)1)) {
@@ -130,8 +130,8 @@ bool DetachThread()
//
// Function is re-entrant and this thread may not have been initialized.
//
- if (OS_GetTLSValue(ThreadInitializeIndex) != 0) {
- if (!OS_SetTLSValue(ThreadInitializeIndex, (void *)0)) {
+ if (OS_GetTLSValue(ThreadInitializeIndex) != nullptr) {
+ if (!OS_SetTLSValue(ThreadInitializeIndex, nullptr)) {
assert(0 && "DetachThread(): Unable to clear init flag.");
success = false;
}
diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt
index 2408e4cc..62ffbc45 100644
--- a/SPIRV/CMakeLists.txt
+++ b/SPIRV/CMakeLists.txt
@@ -62,6 +62,7 @@ set(HEADERS
disassemble.h
GLSL.ext.AMD.h
GLSL.ext.NV.h
+ GLSL.ext.ARM.h
NonSemanticDebugPrintf.h
NonSemanticShaderDebugInfo100.h)
@@ -122,7 +123,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `SPVRemapperTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::SPVRemapper)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(SPVRemapper ALIAS glslang::SPVRemapper)
@@ -134,7 +135,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `SPIRVTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::SPIRV)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(SPIRV ALIAS glslang::SPIRV)
diff --git a/SPIRV/GLSL.ext.ARM.h b/SPIRV/GLSL.ext.ARM.h
new file mode 100644
index 00000000..14425be1
--- /dev/null
+++ b/SPIRV/GLSL.ext.ARM.h
@@ -0,0 +1,35 @@
+/*
+** Copyright (c) 2022 ARM Limited
+**
+** 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.
+**
+** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
+** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
+** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
+**
+** 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 GLSLextARM_H
+#define GLSLextARM_H
+
+static const int GLSLextARMVersion = 100;
+static const int GLSLextARMRevision = 1;
+
+static const char * const E_SPV_ARM_core_builtins = "SPV_ARM_core_builtins";
+
+#endif // #ifndef GLSLextARM_H
diff --git a/SPIRV/GLSL.ext.NV.h b/SPIRV/GLSL.ext.NV.h
index 93c98bf6..5b0f7eb1 100644
--- a/SPIRV/GLSL.ext.NV.h
+++ b/SPIRV/GLSL.ext.NV.h
@@ -81,4 +81,7 @@ const char* const E_SPV_NV_cooperative_matrix = "SPV_NV_cooperative_matrix";
//SPV_NV_shader_sm_builtins
const char* const E_SPV_NV_shader_sm_builtins = "SPV_NV_shader_sm_builtins";
+//SPV_NV_shader_execution_reorder
+const char* const E_SPV_NV_shader_invocation_reorder = "SPV_NV_shader_invocation_reorder";
+
#endif // #ifndef GLSLextNV_H
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 601c872e..378f7924 100644
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -49,6 +49,7 @@ namespace spv {
#include "GLSL.ext.EXT.h"
#include "GLSL.ext.AMD.h"
#include "GLSL.ext.NV.h"
+ #include "GLSL.ext.ARM.h"
#include "NonSemanticDebugPrintf.h"
}
@@ -277,12 +278,10 @@ protected:
// requiring local translation to and from SPIR-V type on every access.
// Maps <builtin-variable-id -> AST-required-type-id>
std::unordered_map<spv::Id, spv::Id> forceType;
-
- // Used later for generating OpTraceKHR/OpExecuteCallableKHR
- std::unordered_map<unsigned int, glslang::TIntermSymbol *> locationToSymbol[2];
-
// Used by Task shader while generating opearnds for OpEmitMeshTasksEXT
spv::Id taskPayloadID;
+ // Used later for generating OpTraceKHR/OpExecuteCallableKHR/OpHitObjectRecordHit*/OpHitObjectGetShaderBindingTableData
+ std::unordered_map<unsigned int, glslang::TIntermSymbol *> locationToSymbol[4];
};
//
@@ -294,8 +293,6 @@ spv::SourceLanguage TranslateSourceLanguage(glslang::EShSource source, EProfile
{
#ifdef GLSLANG_WEB
return spv::SourceLanguageESSL;
-#elif defined(GLSLANG_ANGLE)
- return spv::SourceLanguageGLSL;
#endif
switch (source) {
@@ -393,6 +390,7 @@ spv::Decoration TranslateBlockDecoration(const glslang::TType& type, bool useSto
case glslang::EvqHitAttr: return spv::DecorationBlock;
case glslang::EvqCallableData: return spv::DecorationBlock;
case glslang::EvqCallableDataIn: return spv::DecorationBlock;
+ case glslang::EvqHitObjectAttrNV: return spv::DecorationBlock;
#endif
default:
assert(0);
@@ -470,6 +468,7 @@ spv::Decoration TranslateLayoutDecoration(const glslang::TType& type, glslang::T
case glslang::EvqHitAttr:
case glslang::EvqCallableData:
case glslang::EvqCallableDataIn:
+ case glslang::EvqHitObjectAttrNV:
return spv::DecorationMax;
#endif
default:
@@ -1108,6 +1107,28 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
builder.addExtension(spv::E_SPV_NV_shader_sm_builtins);
builder.addCapability(spv::CapabilityShaderSMBuiltinsNV);
return spv::BuiltInSMIDNV;
+
+ // ARM builtins
+ case glslang::EbvCoreCountARM:
+ builder.addExtension(spv::E_SPV_ARM_core_builtins);
+ builder.addCapability(spv::CapabilityCoreBuiltinsARM);
+ return spv::BuiltInCoreCountARM;
+ case glslang::EbvCoreIDARM:
+ builder.addExtension(spv::E_SPV_ARM_core_builtins);
+ builder.addCapability(spv::CapabilityCoreBuiltinsARM);
+ return spv::BuiltInCoreIDARM;
+ case glslang::EbvCoreMaxIDARM:
+ builder.addExtension(spv::E_SPV_ARM_core_builtins);
+ builder.addCapability(spv::CapabilityCoreBuiltinsARM);
+ return spv::BuiltInCoreMaxIDARM;
+ case glslang::EbvWarpIDARM:
+ builder.addExtension(spv::E_SPV_ARM_core_builtins);
+ builder.addCapability(spv::CapabilityCoreBuiltinsARM);
+ return spv::BuiltInWarpIDARM;
+ case glslang::EbvWarpMaxIDARM:
+ builder.addExtension(spv::E_SPV_ARM_core_builtins);
+ builder.addCapability(spv::CapabilityCoreBuiltinsARM);
+ return spv::BuiltInWarpMaxIDARM;
#endif
default:
@@ -1278,7 +1299,7 @@ spv::LoopControlMask TGlslangToSpvTraverser::TranslateLoopControl(const glslang:
// Translate glslang type to SPIR-V storage class.
spv::StorageClass TGlslangToSpvTraverser::TranslateStorageClass(const glslang::TType& type)
{
- if (type.getBasicType() == glslang::EbtRayQuery)
+ if (type.getBasicType() == glslang::EbtRayQuery || type.getBasicType() == glslang::EbtHitObjectNV)
return spv::StorageClassPrivate;
#ifndef GLSLANG_WEB
if (type.getQualifier().isSpirvByReference()) {
@@ -1295,7 +1316,7 @@ spv::StorageClass TGlslangToSpvTraverser::TranslateStorageClass(const glslang::T
type.getQualifier().storage == glslang::EvqUniform) {
if (type.isAtomic())
return spv::StorageClassAtomicCounter;
- if (type.containsOpaque())
+ if (type.containsOpaque() && !glslangIntermediate->getBindlessMode())
return spv::StorageClassUniformConstant;
}
@@ -1335,6 +1356,7 @@ spv::StorageClass TGlslangToSpvTraverser::TranslateStorageClass(const glslang::T
case glslang::EvqCallableData: return spv::StorageClassCallableDataKHR;
case glslang::EvqCallableDataIn: return spv::StorageClassIncomingCallableDataKHR;
case glslang::EvqtaskPayloadSharedEXT : return spv::StorageClassTaskPayloadWorkgroupEXT;
+ case glslang::EvqHitObjectAttrNV: return spv::StorageClassHitObjectAttributeNV;
case glslang::EvqSpirvStorageClass: return static_cast<spv::StorageClass>(type.getQualifier().spirvStorageClass);
#endif
default:
@@ -2561,6 +2583,35 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
spv::Builder::AccessChain::CoherentFlags lvalueCoherentFlags;
+ const auto hitObjectOpsWithLvalue = [](glslang::TOperator op) {
+ switch(op) {
+ case glslang::EOpReorderThreadNV:
+ case glslang::EOpHitObjectGetCurrentTimeNV:
+ case glslang::EOpHitObjectGetHitKindNV:
+ case glslang::EOpHitObjectGetPrimitiveIndexNV:
+ case glslang::EOpHitObjectGetGeometryIndexNV:
+ case glslang::EOpHitObjectGetInstanceIdNV:
+ case glslang::EOpHitObjectGetInstanceCustomIndexNV:
+ case glslang::EOpHitObjectGetObjectRayDirectionNV:
+ case glslang::EOpHitObjectGetObjectRayOriginNV:
+ case glslang::EOpHitObjectGetWorldRayDirectionNV:
+ case glslang::EOpHitObjectGetWorldRayOriginNV:
+ case glslang::EOpHitObjectGetWorldToObjectNV:
+ case glslang::EOpHitObjectGetObjectToWorldNV:
+ case glslang::EOpHitObjectGetRayTMaxNV:
+ case glslang::EOpHitObjectGetRayTMinNV:
+ case glslang::EOpHitObjectIsEmptyNV:
+ case glslang::EOpHitObjectIsHitNV:
+ case glslang::EOpHitObjectIsMissNV:
+ case glslang::EOpHitObjectRecordEmptyNV:
+ case glslang::EOpHitObjectGetShaderBindingTableRecordIndexNV:
+ case glslang::EOpHitObjectGetShaderRecordBufferHandleNV:
+ return true;
+ default:
+ return false;
+ }
+ };
+
#ifndef GLSLANG_WEB
if (node->getOp() == glslang::EOpAtomicCounterIncrement ||
node->getOp() == glslang::EOpAtomicCounterDecrement ||
@@ -2575,7 +2626,8 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
node->getOp() == glslang::EOpRayQueryGetIntersectionCandidateAABBOpaque ||
node->getOp() == glslang::EOpRayQueryTerminate ||
node->getOp() == glslang::EOpRayQueryConfirmIntersection ||
- (node->getOp() == glslang::EOpSpirvInst && operandNode->getAsTyped()->getQualifier().isSpirvByReference())) {
+ (node->getOp() == glslang::EOpSpirvInst && operandNode->getAsTyped()->getQualifier().isSpirvByReference()) ||
+ hitObjectOpsWithLvalue(node->getOp())) {
operand = builder.accessChainGetLValue(); // Special case l-value operands
lvalueCoherentFlags = builder.getAccessChain().coherentFlags;
lvalueCoherentFlags |= TranslateCoherent(operandNode->getAsTyped()->getType());
@@ -2710,6 +2762,12 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
case glslang::EOpRayQueryConfirmIntersection:
builder.createNoResultOp(spv::OpRayQueryConfirmIntersectionKHR, operand);
return false;
+ case glslang::EOpReorderThreadNV:
+ builder.createNoResultOp(spv::OpReorderThreadWithHitObjectNV, operand);
+ return false;
+ case glslang::EOpHitObjectRecordEmptyNV:
+ builder.createNoResultOp(spv::OpHitObjectRecordEmptyNV, operand);
+ return false;
#endif
default:
@@ -3201,6 +3259,43 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
builder.addExtension(spv::E_SPV_EXT_fragment_shader_interlock);
noReturnValue = true;
break;
+
+ case glslang::EOpHitObjectTraceRayNV:
+ case glslang::EOpHitObjectTraceRayMotionNV:
+ case glslang::EOpHitObjectGetAttributesNV:
+ case glslang::EOpHitObjectExecuteShaderNV:
+ case glslang::EOpHitObjectRecordEmptyNV:
+ case glslang::EOpHitObjectRecordMissNV:
+ case glslang::EOpHitObjectRecordMissMotionNV:
+ case glslang::EOpHitObjectRecordHitNV:
+ case glslang::EOpHitObjectRecordHitMotionNV:
+ case glslang::EOpHitObjectRecordHitWithIndexNV:
+ case glslang::EOpHitObjectRecordHitWithIndexMotionNV:
+ case glslang::EOpReorderThreadNV:
+ noReturnValue = true;
+ //Fallthrough
+ case glslang::EOpHitObjectIsEmptyNV:
+ case glslang::EOpHitObjectIsMissNV:
+ case glslang::EOpHitObjectIsHitNV:
+ case glslang::EOpHitObjectGetRayTMinNV:
+ case glslang::EOpHitObjectGetRayTMaxNV:
+ case glslang::EOpHitObjectGetObjectRayOriginNV:
+ case glslang::EOpHitObjectGetObjectRayDirectionNV:
+ case glslang::EOpHitObjectGetWorldRayOriginNV:
+ case glslang::EOpHitObjectGetWorldRayDirectionNV:
+ case glslang::EOpHitObjectGetObjectToWorldNV:
+ case glslang::EOpHitObjectGetWorldToObjectNV:
+ case glslang::EOpHitObjectGetInstanceCustomIndexNV:
+ case glslang::EOpHitObjectGetInstanceIdNV:
+ case glslang::EOpHitObjectGetGeometryIndexNV:
+ case glslang::EOpHitObjectGetPrimitiveIndexNV:
+ case glslang::EOpHitObjectGetHitKindNV:
+ case glslang::EOpHitObjectGetCurrentTimeNV:
+ case glslang::EOpHitObjectGetShaderBindingTableRecordIndexNV:
+ case glslang::EOpHitObjectGetShaderRecordBufferHandleNV:
+ builder.addExtension(spv::E_SPV_NV_shader_invocation_reorder);
+ builder.addCapability(spv::CapabilityShaderInvocationReorderNV);
+ break;
#endif
case glslang::EOpDebugPrintf:
@@ -3258,6 +3353,22 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
lvalue = true;
break;
+
+
+ case glslang::EOpHitObjectRecordHitNV:
+ case glslang::EOpHitObjectRecordHitMotionNV:
+ case glslang::EOpHitObjectRecordHitWithIndexNV:
+ case glslang::EOpHitObjectRecordHitWithIndexMotionNV:
+ case glslang::EOpHitObjectTraceRayNV:
+ case glslang::EOpHitObjectTraceRayMotionNV:
+ case glslang::EOpHitObjectExecuteShaderNV:
+ case glslang::EOpHitObjectRecordMissNV:
+ case glslang::EOpHitObjectRecordMissMotionNV:
+ case glslang::EOpHitObjectGetAttributesNV:
+ if (arg == 0)
+ lvalue = true;
+ break;
+
case glslang::EOpRayQueryInitialize:
case glslang::EOpRayQueryTerminate:
case glslang::EOpRayQueryConfirmIntersection:
@@ -3358,6 +3469,11 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
if (glslangOperands[arg]->getAsTyped()->getQualifier().isSpirvByReference())
lvalue = true;
break;
+ case glslang::EOpReorderThreadNV:
+ //Three variants of reorderThreadNV, two of them use hitObjectNV
+ if (arg == 0 && glslangOperands.size() != 2)
+ lvalue = true;
+ break;
#endif
default:
break;
@@ -3414,7 +3530,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
} else if (arg == 2) {
continue;
}
- }
+ }
#endif
// for l-values, pass the address, for r-values, pass the value
@@ -3456,11 +3572,23 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
operands.push_back(builder.makeIntConstant(cond ? 1 : 0));
} else if ((arg == 10 && glslangOp == glslang::EOpTraceKHR) ||
(arg == 11 && glslangOp == glslang::EOpTraceRayMotionNV) ||
- (arg == 1 && glslangOp == glslang::EOpExecuteCallableKHR)) {
- const int opdNum = glslangOp == glslang::EOpTraceKHR ? 10 : (glslangOp == glslang::EOpTraceRayMotionNV ? 11 : 1);
+ (arg == 1 && glslangOp == glslang::EOpExecuteCallableKHR) ||
+ (arg == 1 && glslangOp == glslang::EOpHitObjectExecuteShaderNV) ||
+ (arg == 11 && glslangOp == glslang::EOpHitObjectTraceRayNV) ||
+ (arg == 12 && glslangOp == glslang::EOpHitObjectTraceRayMotionNV)) {
const int set = glslangOp == glslang::EOpExecuteCallableKHR ? 1 : 0;
-
- const int location = glslangOperands[opdNum]->getAsConstantUnion()->getConstArray()[0].getUConst();
+ const int location = glslangOperands[arg]->getAsConstantUnion()->getConstArray()[0].getUConst();
+ auto itNode = locationToSymbol[set].find(location);
+ visitSymbol(itNode->second);
+ spv::Id symId = getSymbolId(itNode->second);
+ operands.push_back(symId);
+ } else if ((arg == 12 && glslangOp == glslang::EOpHitObjectRecordHitNV) ||
+ (arg == 13 && glslangOp == glslang::EOpHitObjectRecordHitMotionNV) ||
+ (arg == 11 && glslangOp == glslang::EOpHitObjectRecordHitWithIndexNV) ||
+ (arg == 12 && glslangOp == glslang::EOpHitObjectRecordHitWithIndexMotionNV) ||
+ (arg == 1 && glslangOp == glslang::EOpHitObjectGetAttributesNV)) {
+ const int location = glslangOperands[arg]->getAsConstantUnion()->getConstArray()[0].getUConst();
+ const int set = 2;
auto itNode = locationToSymbol[set].find(location);
visitSymbol(itNode->second);
spv::Id symId = getSymbolId(itNode->second);
@@ -4286,6 +4414,13 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty
case glslang::EbtString:
// no type used for OpString
return 0;
+
+ case glslang::EbtHitObjectNV: {
+ builder.addExtension(spv::E_SPV_NV_shader_invocation_reorder);
+ builder.addCapability(spv::CapabilityShaderInvocationReorderNV);
+ spvType = builder.makeHitObjectNVType();
+ }
+ break;
#ifndef GLSLANG_WEB
case glslang::EbtSpirvType: {
// GL_EXT_spirv_intrinsics
@@ -4705,6 +4840,9 @@ void TGlslangToSpvTraverser::decorateStructType(const glslang::TType& type,
// Decorate the structure
builder.addDecoration(spvType, TranslateLayoutDecoration(type, qualifier.layoutMatrix));
builder.addDecoration(spvType, TranslateBlockDecoration(type, glslangIntermediate->usingStorageBuffer()));
+
+ if (qualifier.hasHitObjectShaderRecordNV())
+ builder.addDecoration(spvType, spv::DecorationHitObjectShaderRecordBufferNV);
}
// Turn the expression forming the array size into an id.
@@ -4741,6 +4879,16 @@ spv::Id TGlslangToSpvTraverser::accessChainLoad(const glslang::TType& type)
spv::Builder::AccessChain::CoherentFlags coherentFlags = builder.getAccessChain().coherentFlags;
coherentFlags |= TranslateCoherent(type);
+ spv::MemoryAccessMask accessMask = spv::MemoryAccessMask(TranslateMemoryAccess(coherentFlags) & ~spv::MemoryAccessMakePointerAvailableKHRMask);
+ // If the value being loaded is HelperInvocation, SPIR-V 1.6 is being generated (so that
+ // SPV_EXT_demote_to_helper_invocation is in core) and the memory model is in use, add
+ // the Volatile MemoryAccess semantic.
+ if (type.getQualifier().builtIn == glslang::EbvHelperInvocation &&
+ glslangIntermediate->usingVulkanMemoryModel() &&
+ glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_6) {
+ accessMask = spv::MemoryAccessMask(accessMask | spv::MemoryAccessVolatileMask);
+ }
+
unsigned int alignment = builder.getAccessChain().alignment;
alignment |= type.getBufferReferenceAlignment();
@@ -4748,7 +4896,7 @@ spv::Id TGlslangToSpvTraverser::accessChainLoad(const glslang::TType& type)
TranslateNonUniformDecoration(builder.getAccessChain().coherentFlags),
TranslateNonUniformDecoration(type.getQualifier()),
nominalTypeId,
- spv::MemoryAccessMask(TranslateMemoryAccess(coherentFlags) & ~spv::MemoryAccessMakePointerAvailableKHRMask),
+ accessMask,
TranslateMemoryScope(coherentFlags),
alignment);
@@ -5075,7 +5223,7 @@ bool TGlslangToSpvTraverser::originalParam(glslang::TStorageQualifier qualifier,
return true;
if (glslangIntermediate->getSource() == glslang::EShSourceHlsl)
return paramType.getBasicType() == glslang::EbtBlock;
- return paramType.containsOpaque() || // sampler, etc.
+ return (paramType.containsOpaque() && !glslangIntermediate->getBindlessMode()) || // sampler, etc.
#ifndef GLSLANG_WEB
paramType.getQualifier().isSpirvByReference() || // spirv_by_reference
#endif
@@ -5222,6 +5370,10 @@ void TGlslangToSpvTraverser::collectRayTracingLinkerObjects()
set = 1;
break;
+ case glslang::EvqHitObjectAttrNV:
+ set = 2;
+ break;
+
default:
set = -1;
}
@@ -6866,6 +7018,83 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, OpDe
case glslang::EOpConvUvec2ToAccStruct:
unaryOp = spv::OpConvertUToAccelerationStructureKHR;
break;
+
+ case glslang::EOpHitObjectIsEmptyNV:
+ unaryOp = spv::OpHitObjectIsEmptyNV;
+ break;
+
+ case glslang::EOpHitObjectIsMissNV:
+ unaryOp = spv::OpHitObjectIsMissNV;
+ break;
+
+ case glslang::EOpHitObjectIsHitNV:
+ unaryOp = spv::OpHitObjectIsHitNV;
+ break;
+
+ case glslang::EOpHitObjectGetObjectRayOriginNV:
+ unaryOp = spv::OpHitObjectGetObjectRayOriginNV;
+ break;
+
+ case glslang::EOpHitObjectGetObjectRayDirectionNV:
+ unaryOp = spv::OpHitObjectGetObjectRayDirectionNV;
+ break;
+
+ case glslang::EOpHitObjectGetWorldRayOriginNV:
+ unaryOp = spv::OpHitObjectGetWorldRayOriginNV;
+ break;
+
+ case glslang::EOpHitObjectGetWorldRayDirectionNV:
+ unaryOp = spv::OpHitObjectGetWorldRayDirectionNV;
+ break;
+
+ case glslang::EOpHitObjectGetObjectToWorldNV:
+ unaryOp = spv::OpHitObjectGetObjectToWorldNV;
+ break;
+
+ case glslang::EOpHitObjectGetWorldToObjectNV:
+ unaryOp = spv::OpHitObjectGetWorldToObjectNV;
+ break;
+
+ case glslang::EOpHitObjectGetRayTMinNV:
+ unaryOp = spv::OpHitObjectGetRayTMinNV;
+ break;
+
+ case glslang::EOpHitObjectGetRayTMaxNV:
+ unaryOp = spv::OpHitObjectGetRayTMaxNV;
+ break;
+
+ case glslang::EOpHitObjectGetPrimitiveIndexNV:
+ unaryOp = spv::OpHitObjectGetPrimitiveIndexNV;
+ break;
+
+ case glslang::EOpHitObjectGetInstanceIdNV:
+ unaryOp = spv::OpHitObjectGetInstanceIdNV;
+ break;
+
+ case glslang::EOpHitObjectGetInstanceCustomIndexNV:
+ unaryOp = spv::OpHitObjectGetInstanceCustomIndexNV;
+ break;
+
+ case glslang::EOpHitObjectGetGeometryIndexNV:
+ unaryOp = spv::OpHitObjectGetGeometryIndexNV;
+ break;
+
+ case glslang::EOpHitObjectGetHitKindNV:
+ unaryOp = spv::OpHitObjectGetHitKindNV;
+ break;
+
+ case glslang::EOpHitObjectGetCurrentTimeNV:
+ unaryOp = spv::OpHitObjectGetCurrentTimeNV;
+ break;
+
+ case glslang::EOpHitObjectGetShaderBindingTableRecordIndexNV:
+ unaryOp = spv::OpHitObjectGetShaderBindingTableRecordIndexNV;
+ break;
+
+ case glslang::EOpHitObjectGetShaderRecordBufferHandleNV:
+ unaryOp = spv::OpHitObjectGetShaderRecordBufferHandleNV;
+ break;
+
#endif
case glslang::EOpCopyObject:
@@ -8607,6 +8836,122 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
case glslang::EOpCooperativeMatrixMulAdd:
opCode = spv::OpCooperativeMatrixMulAddNV;
break;
+ case glslang::EOpHitObjectTraceRayNV:
+ builder.createNoResultOp(spv::OpHitObjectTraceRayNV, operands);
+ return 0;
+ case glslang::EOpHitObjectTraceRayMotionNV:
+ builder.createNoResultOp(spv::OpHitObjectTraceRayMotionNV, operands);
+ return 0;
+ case glslang::EOpHitObjectRecordHitNV:
+ builder.createNoResultOp(spv::OpHitObjectRecordHitNV, operands);
+ return 0;
+ case glslang::EOpHitObjectRecordHitMotionNV:
+ builder.createNoResultOp(spv::OpHitObjectRecordHitMotionNV, operands);
+ return 0;
+ case glslang::EOpHitObjectRecordHitWithIndexNV:
+ builder.createNoResultOp(spv::OpHitObjectRecordHitWithIndexNV, operands);
+ return 0;
+ case glslang::EOpHitObjectRecordHitWithIndexMotionNV:
+ builder.createNoResultOp(spv::OpHitObjectRecordHitWithIndexMotionNV, operands);
+ return 0;
+ case glslang::EOpHitObjectRecordMissNV:
+ builder.createNoResultOp(spv::OpHitObjectRecordMissNV, operands);
+ return 0;
+ case glslang::EOpHitObjectRecordMissMotionNV:
+ builder.createNoResultOp(spv::OpHitObjectRecordMissMotionNV, operands);
+ return 0;
+ case glslang::EOpHitObjectExecuteShaderNV:
+ builder.createNoResultOp(spv::OpHitObjectExecuteShaderNV, operands);
+ return 0;
+ case glslang::EOpHitObjectIsEmptyNV:
+ typeId = builder.makeBoolType();
+ opCode = spv::OpHitObjectIsEmptyNV;
+ break;
+ case glslang::EOpHitObjectIsMissNV:
+ typeId = builder.makeBoolType();
+ opCode = spv::OpHitObjectIsMissNV;
+ break;
+ case glslang::EOpHitObjectIsHitNV:
+ typeId = builder.makeBoolType();
+ opCode = spv::OpHitObjectIsHitNV;
+ break;
+ case glslang::EOpHitObjectGetRayTMinNV:
+ typeId = builder.makeFloatType(32);
+ opCode = spv::OpHitObjectGetRayTMinNV;
+ break;
+ case glslang::EOpHitObjectGetRayTMaxNV:
+ typeId = builder.makeFloatType(32);
+ opCode = spv::OpHitObjectGetRayTMaxNV;
+ break;
+ case glslang::EOpHitObjectGetObjectRayOriginNV:
+ typeId = builder.makeVectorType(builder.makeFloatType(32), 3);
+ opCode = spv::OpHitObjectGetObjectRayOriginNV;
+ break;
+ case glslang::EOpHitObjectGetObjectRayDirectionNV:
+ typeId = builder.makeVectorType(builder.makeFloatType(32), 3);
+ opCode = spv::OpHitObjectGetObjectRayDirectionNV;
+ break;
+ case glslang::EOpHitObjectGetWorldRayOriginNV:
+ typeId = builder.makeVectorType(builder.makeFloatType(32), 3);
+ opCode = spv::OpHitObjectGetWorldRayOriginNV;
+ break;
+ case glslang::EOpHitObjectGetWorldRayDirectionNV:
+ typeId = builder.makeVectorType(builder.makeFloatType(32), 3);
+ opCode = spv::OpHitObjectGetWorldRayDirectionNV;
+ break;
+ case glslang::EOpHitObjectGetWorldToObjectNV:
+ typeId = builder.makeMatrixType(builder.makeFloatType(32), 4, 3);
+ opCode = spv::OpHitObjectGetWorldToObjectNV;
+ break;
+ case glslang::EOpHitObjectGetObjectToWorldNV:
+ typeId = builder.makeMatrixType(builder.makeFloatType(32), 4, 3);
+ opCode = spv::OpHitObjectGetObjectToWorldNV;
+ break;
+ case glslang::EOpHitObjectGetInstanceCustomIndexNV:
+ typeId = builder.makeIntegerType(32, 1);
+ opCode = spv::OpHitObjectGetInstanceCustomIndexNV;
+ break;
+ case glslang::EOpHitObjectGetInstanceIdNV:
+ typeId = builder.makeIntegerType(32, 1);
+ opCode = spv::OpHitObjectGetInstanceIdNV;
+ break;
+ case glslang::EOpHitObjectGetGeometryIndexNV:
+ typeId = builder.makeIntegerType(32, 1);
+ opCode = spv::OpHitObjectGetGeometryIndexNV;
+ break;
+ case glslang::EOpHitObjectGetPrimitiveIndexNV:
+ typeId = builder.makeIntegerType(32, 1);
+ opCode = spv::OpHitObjectGetPrimitiveIndexNV;
+ break;
+ case glslang::EOpHitObjectGetHitKindNV:
+ typeId = builder.makeIntegerType(32, 0);
+ opCode = spv::OpHitObjectGetHitKindNV;
+ break;
+ case glslang::EOpHitObjectGetCurrentTimeNV:
+ typeId = builder.makeFloatType(32);
+ opCode = spv::OpHitObjectGetCurrentTimeNV;
+ break;
+ case glslang::EOpHitObjectGetShaderBindingTableRecordIndexNV:
+ typeId = builder.makeIntegerType(32, 0);
+ opCode = spv::OpHitObjectGetShaderBindingTableRecordIndexNV;
+ return 0;
+ case glslang::EOpHitObjectGetAttributesNV:
+ builder.createNoResultOp(spv::OpHitObjectGetAttributesNV, operands);
+ return 0;
+ case glslang::EOpHitObjectGetShaderRecordBufferHandleNV:
+ typeId = builder.makeVectorType(builder.makeUintType(32), 2);
+ opCode = spv::OpHitObjectGetShaderRecordBufferHandleNV;
+ break;
+ case glslang::EOpReorderThreadNV: {
+ if (operands.size() == 2) {
+ builder.createNoResultOp(spv::OpReorderThreadWithHintNV, operands);
+ } else {
+ builder.createNoResultOp(spv::OpReorderThreadWithHitObjectNV, operands);
+ }
+ return 0;
+
+ }
+ break;
#endif // GLSLANG_WEB
default:
return 0;
@@ -8916,13 +9261,17 @@ spv::Id TGlslangToSpvTraverser::getSymbolId(const glslang::TIntermSymbol* symbol
}
if (symbol->getQualifier().hasLocation()) {
- if (!(glslangIntermediate->isRayTracingStage() && glslangIntermediate->IsRequestedExtension(glslang::E_GL_EXT_ray_tracing)
+ if (!(glslangIntermediate->isRayTracingStage() &&
+ (glslangIntermediate->IsRequestedExtension(glslang::E_GL_EXT_ray_tracing) ||
+ glslangIntermediate->IsRequestedExtension(glslang::E_GL_NV_shader_invocation_reorder))
&& (builder.getStorageClass(id) == spv::StorageClassRayPayloadKHR ||
builder.getStorageClass(id) == spv::StorageClassIncomingRayPayloadKHR ||
builder.getStorageClass(id) == spv::StorageClassCallableDataKHR ||
- builder.getStorageClass(id) == spv::StorageClassIncomingCallableDataKHR))) {
- // Location values are used to link TraceRayKHR and ExecuteCallableKHR to corresponding variables
- // but are not valid in SPIRV since they are supported only for Input/Output Storage classes.
+ builder.getStorageClass(id) == spv::StorageClassIncomingCallableDataKHR ||
+ builder.getStorageClass(id) == spv::StorageClassHitObjectAttributeNV))) {
+ // Location values are used to link TraceRayKHR/ExecuteCallableKHR/HitObjectGetAttributesNV
+ // to corresponding variables but are not valid in SPIRV since they are supported only
+ // for Input/Output Storage classes.
builder.addDecoration(id, spv::DecorationLocation, symbol->getQualifier().layoutLocation);
}
}
@@ -8968,6 +9317,7 @@ spv::Id TGlslangToSpvTraverser::getSymbolId(const glslang::TIntermSymbol* symbol
// Add volatile decoration to HelperInvocation for spirv1.6 and beyond
if (builtIn == spv::BuiltInHelperInvocation &&
+ !glslangIntermediate->usingVulkanMemoryModel() &&
glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_6) {
builder.addDecoration(id, spv::DecorationVolatile);
}
@@ -9538,7 +9888,8 @@ int GetSpirvGeneratorVersion()
// return 7; // GLSL volatile keyword maps to both SPIR-V decorations Volatile and Coherent
// return 8; // switch to new dead block eliminator; use OpUnreachable
// return 9; // don't include opaque function parameters in OpEntryPoint global's operand list
- return 10; // Generate OpFUnordNotEqual for != comparisons
+ // return 10; // Generate OpFUnordNotEqual for != comparisons
+ return 11; // Make OpEmitMeshTasksEXT a terminal instruction
}
// Write SPIR-V out to a binary file
@@ -9558,7 +9909,7 @@ void OutputSpvBin(const std::vector<unsigned int>& spirv, const char* baseName)
// Write SPIR-V out to a text file with 32-bit hexadecimal words
void OutputSpvHex(const std::vector<unsigned int>& spirv, const char* baseName, const char* varName)
{
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
std::ofstream out;
out.open(baseName, std::ios::binary | std::ios::out);
if (out.fail())
@@ -9605,7 +9956,7 @@ void GlslangToSpv(const TIntermediate& intermediate, std::vector<unsigned int>&
{
TIntermNode* root = intermediate.getTreeRoot();
- if (root == 0)
+ if (root == nullptr)
return;
SpvOptions defaultOptions;
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
index 7c5ea874..764a8860 100644
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -71,9 +71,9 @@ Builder::Builder(unsigned int spvVersion, unsigned int magicNumber, SpvBuildLogg
addressModel(AddressingModelLogical),
memoryModel(MemoryModelGLSL450),
builderNumber(magicNumber),
- buildPoint(0),
+ buildPoint(nullptr),
uniqueId(0),
- entryPointFunction(0),
+ entryPointFunction(nullptr),
generatingOpCodeForSpecConst(false),
logger(buildLogger)
{
@@ -650,8 +650,12 @@ Id Builder::makeDebugFunctionType(Id returnType, const std::vector<Id>& paramTyp
type->addIdOperand(makeUintConstant(NonSemanticShaderDebugInfo100FlagIsPublic));
type->addIdOperand(debugId[returnType]);
for (auto const paramType : paramTypes) {
- assert(isPointerType(paramType) || isArrayType(paramType));
- type->addIdOperand(debugId[getContainedTypeId(paramType)]);
+ if (isPointerType(paramType) || isArrayType(paramType)) {
+ type->addIdOperand(debugId[getContainedTypeId(paramType)]);
+ }
+ else {
+ type->addIdOperand(debugId[paramType]);
+ }
}
constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
module.mapInstruction(type);
@@ -1176,6 +1180,21 @@ Id Builder::makeRayQueryType()
return type->getResultId();
}
+
+Id Builder::makeHitObjectNVType()
+{
+ Instruction *type;
+ if (groupedTypes[OpTypeHitObjectNV].size() == 0) {
+ type = new Instruction(getUniqueId(), NoType, OpTypeHitObjectNV);
+ groupedTypes[OpTypeHitObjectNV].push_back(type);
+ constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
+ module.mapInstruction(type);
+ } else {
+ type = groupedTypes[OpTypeHitObjectNV].back();
+ }
+
+ return type->getResultId();
+}
#endif
Id Builder::getDerefTypeId(Id resultId) const
@@ -1675,7 +1694,7 @@ Id Builder::importNonSemanticShaderDebugInfoInstructions()
Id Builder::findCompositeConstant(Op typeClass, Id typeId, const std::vector<Id>& comps)
{
- Instruction* constant = 0;
+ Instruction* constant = nullptr;
bool found = false;
for (int i = 0; i < (int)groupedConstants[typeClass].size(); ++i) {
constant = groupedConstants[typeClass][i];
@@ -1702,7 +1721,7 @@ Id Builder::findCompositeConstant(Op typeClass, Id typeId, const std::vector<Id>
Id Builder::findStructConstant(Id typeId, const std::vector<Id>& comps)
{
- Instruction* constant = 0;
+ Instruction* constant = nullptr;
bool found = false;
for (int i = 0; i < (int)groupedStructConstants[typeId].size(); ++i) {
constant = groupedStructConstants[typeId][i];
@@ -2047,11 +2066,16 @@ Function* Builder::makeFunctionEntry(Decoration precision, Id returnType, const
assert(paramTypes.size() == paramNames.size());
for(size_t p = 0; p < paramTypes.size(); ++p)
{
- auto const& paramType = paramTypes[p];
- assert(isPointerType(paramType) || isArrayType(paramType));
- assert(debugId[getContainedTypeId(paramType)] != 0);
+ auto getParamTypeId = [this](Id const& typeId) {
+ if (isPointerType(typeId) || isArrayType(typeId)) {
+ return getContainedTypeId(typeId);
+ }
+ else {
+ return typeId;
+ }
+ };
auto const& paramName = paramNames[p];
- auto const debugLocalVariableId = createDebugLocalVariable(debugId[getContainedTypeId(paramType)], paramName, p+1);
+ auto const debugLocalVariableId = createDebugLocalVariable(debugId[getParamTypeId(paramTypes[p])], paramName, p+1);
debugId[firstParamId + p] = debugLocalVariableId;
makeDebugDeclare(debugLocalVariableId, firstParamId + p);
@@ -3332,7 +3356,7 @@ Builder::If::If(Id cond, unsigned int ctrl, Builder& gb) :
builder(gb),
condition(cond),
control(ctrl),
- elseBlock(0)
+ elseBlock(nullptr)
{
function = &builder.getBuildPoint()->getParent();
diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h
index f7fdc6ad..02e9cf40 100644
--- a/SPIRV/SpvBuilder.h
+++ b/SPIRV/SpvBuilder.h
@@ -240,6 +240,8 @@ public:
Id makeAccelerationStructureType();
// rayQueryEXT type
Id makeRayQueryType();
+ // hitObjectNV type
+ Id makeHitObjectNVType();
// For querying about types.
Id getTypeId(Id resultId) const { return module.getTypeId(resultId); }
@@ -414,7 +416,7 @@ public:
// The returned pointer is only valid for the lifetime of this builder.
Function* makeFunctionEntry(Decoration precision, Id returnType, const char* name,
const std::vector<Id>& paramTypes, const std::vector<char const*>& paramNames,
- const std::vector<std::vector<Decoration>>& precisions, Block **entry = 0);
+ const std::vector<std::vector<Decoration>>& precisions, Block **entry = nullptr);
// Create a return. An 'implicit' return is one not appearing in the source
// code. In the case of an implicit return, no post-return block is inserted.
diff --git a/SPIRV/SpvPostProcess.cpp b/SPIRV/SpvPostProcess.cpp
index dd6dabce..b185f61b 100644
--- a/SPIRV/SpvPostProcess.cpp
+++ b/SPIRV/SpvPostProcess.cpp
@@ -52,6 +52,7 @@ namespace spv {
#include "GLSL.ext.EXT.h"
#include "GLSL.ext.AMD.h"
#include "GLSL.ext.NV.h"
+ #include "GLSL.ext.ARM.h"
}
namespace spv {
diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp
index 8cc17cca..ff04f4f9 100644
--- a/SPIRV/SpvTools.cpp
+++ b/SPIRV/SpvTools.cpp
@@ -212,7 +212,7 @@ void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector
optimizer.RegisterPass(spvtools::CreateInterpolateFixupPass());
if (options->optimizeSize) {
optimizer.RegisterPass(spvtools::CreateRedundancyEliminationPass());
- optimizer.RegisterPass(spvtools::CreateEliminateDeadInputComponentsPass());
+ optimizer.RegisterPass(spvtools::CreateEliminateDeadInputComponentsSafePass());
}
optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
optimizer.RegisterPass(spvtools::CreateCFGCleanupPass());
@@ -223,6 +223,56 @@ void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector
optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
}
+bool SpirvToolsAnalyzeDeadOutputStores(spv_target_env target_env, std::vector<unsigned int>& spirv,
+ std::unordered_set<uint32_t>* live_locs,
+ std::unordered_set<uint32_t>* live_builtins,
+ spv::SpvBuildLogger*)
+{
+ spvtools::Optimizer optimizer(target_env);
+ optimizer.SetMessageConsumer(OptimizerMesssageConsumer);
+
+ optimizer.RegisterPass(spvtools::CreateAnalyzeLiveInputPass(live_locs, live_builtins));
+
+ spvtools::OptimizerOptions spvOptOptions;
+ optimizer.SetTargetEnv(target_env);
+ spvOptOptions.set_run_validator(false);
+ return optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
+}
+
+void SpirvToolsEliminateDeadOutputStores(spv_target_env target_env, std::vector<unsigned int>& spirv,
+ std::unordered_set<uint32_t>* live_locs,
+ std::unordered_set<uint32_t>* live_builtins,
+ spv::SpvBuildLogger*)
+{
+ spvtools::Optimizer optimizer(target_env);
+ optimizer.SetMessageConsumer(OptimizerMesssageConsumer);
+
+ optimizer.RegisterPass(spvtools::CreateEliminateDeadOutputStoresPass(live_locs, live_builtins));
+ optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass(false, true));
+ optimizer.RegisterPass(spvtools::CreateEliminateDeadOutputComponentsPass());
+ optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass(false, true));
+
+ spvtools::OptimizerOptions spvOptOptions;
+ optimizer.SetTargetEnv(target_env);
+ spvOptOptions.set_run_validator(false);
+ optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
+}
+
+void SpirvToolsEliminateDeadInputComponents(spv_target_env target_env, std::vector<unsigned int>& spirv,
+ spv::SpvBuildLogger*)
+{
+ spvtools::Optimizer optimizer(target_env);
+ optimizer.SetMessageConsumer(OptimizerMesssageConsumer);
+
+ optimizer.RegisterPass(spvtools::CreateEliminateDeadInputComponentsPass());
+ optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
+
+ spvtools::OptimizerOptions spvOptOptions;
+ optimizer.SetTargetEnv(target_env);
+ spvOptOptions.set_run_validator(false);
+ optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
+}
+
// Apply the SPIRV-Tools optimizer to strip debug info from SPIR-V. This is implicitly done by
// SpirvToolsTransform if spvOptions->stripDebugInfo is set, but can be called separately if
// optimization is disabled.
diff --git a/SPIRV/SpvTools.h b/SPIRV/SpvTools.h
index 5386048a..6fc4e40b 100644
--- a/SPIRV/SpvTools.h
+++ b/SPIRV/SpvTools.h
@@ -65,6 +65,9 @@ struct SpvOptions {
#if ENABLE_OPT
+// Translate glslang's view of target versioning to what SPIRV-Tools uses.
+spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLogger* logger);
+
// Use the SPIRV-Tools disassembler to print SPIR-V using a SPV_ENV_UNIVERSAL_1_3 environment.
void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& spirv);
@@ -80,6 +83,22 @@ void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<
void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
spv::SpvBuildLogger*, const SpvOptions*);
+// Apply the SPIRV-Tools EliminateDeadInputComponents pass to generated SPIR-V. Put result in |spirv|.
+void SpirvToolsEliminateDeadInputComponents(spv_target_env target_env, std::vector<unsigned int>& spirv,
+ spv::SpvBuildLogger*);
+
+// Apply the SPIRV-Tools AnalyzeDeadOutputStores pass to generated SPIR-V. Put result in |live_locs|.
+// Return true if the result is valid.
+bool SpirvToolsAnalyzeDeadOutputStores(spv_target_env target_env, std::vector<unsigned int>& spirv,
+ std::unordered_set<uint32_t>* live_locs,
+ std::unordered_set<uint32_t>* live_builtins, spv::SpvBuildLogger*);
+
+// Apply the SPIRV-Tools EliminateDeadOutputStores and AggressiveDeadCodeElimination passes to generated SPIR-V using
+// |live_locs|. Put result in |spirv|.
+void SpirvToolsEliminateDeadOutputStores(spv_target_env target_env, std::vector<unsigned int>& spirv,
+ std::unordered_set<uint32_t>* live_locs,
+ std::unordered_set<uint32_t>* live_builtins, spv::SpvBuildLogger*);
+
// Apply the SPIRV-Tools optimizer to strip debug info from SPIR-V. This is implicitly done by
// SpirvToolsTransform if spvOptions->stripDebugInfo is set, but can be called separately if
// optimization is disabled.
diff --git a/SPIRV/disassemble.cpp b/SPIRV/disassemble.cpp
index 74dd6054..f943fd56 100644
--- a/SPIRV/disassemble.cpp
+++ b/SPIRV/disassemble.cpp
@@ -54,6 +54,8 @@ namespace spv {
#include "GLSL.std.450.h"
#include "GLSL.ext.AMD.h"
#include "GLSL.ext.NV.h"
+ #include "GLSL.ext.ARM.h"
+ #include "NonSemanticShaderDebugInfo100.h"
}
}
const char* GlslStd450DebugNames[spv::GLSLstd450Count];
@@ -62,6 +64,7 @@ namespace spv {
static const char* GLSLextAMDGetDebugNames(const char*, unsigned);
static const char* GLSLextNVGetDebugNames(const char*, unsigned);
+static const char* NonSemanticShaderDebugInfo100GetDebugNames(unsigned);
static void Kill(std::ostream& out, const char* message)
{
@@ -76,6 +79,7 @@ enum ExtInstSet {
GLSLextNVInst,
OpenCLExtInst,
NonSemanticDebugPrintfExtInst,
+ NonSemanticShaderDebugInfo100
};
// Container class for a single instance of a SPIR-V stream, with methods for disassembly.
@@ -501,6 +505,8 @@ void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode,
extInstSet = OpenCLExtInst;
} else if (strcmp("NonSemantic.DebugPrintf", name) == 0) {
extInstSet = NonSemanticDebugPrintfExtInst;
+ } else if (strcmp("NonSemantic.Shader.DebugInfo.100", name) == 0) {
+ extInstSet = NonSemanticShaderDebugInfo100;
} else if (strcmp(spv::E_SPV_AMD_shader_ballot, name) == 0 ||
strcmp(spv::E_SPV_AMD_shader_trinary_minmax, name) == 0 ||
strcmp(spv::E_SPV_AMD_shader_explicit_vertex_parameter, name) == 0 ||
@@ -526,6 +532,8 @@ void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode,
out << "(" << GLSLextNVGetDebugNames(name, entrypoint) << ")";
} else if (extInstSet == NonSemanticDebugPrintfExtInst) {
out << "(DebugPrintf)";
+ } else if (extInstSet == NonSemanticShaderDebugInfo100) {
+ out << "(" << NonSemanticShaderDebugInfo100GetDebugNames(entrypoint) << ")";
}
}
break;
@@ -749,6 +757,59 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
return "Bad";
}
+static const char* NonSemanticShaderDebugInfo100GetDebugNames(unsigned entrypoint)
+{
+ switch (entrypoint) {
+ case NonSemanticShaderDebugInfo100DebugInfoNone: return "DebugInfoNone";
+ case NonSemanticShaderDebugInfo100DebugCompilationUnit: return "DebugCompilationUnit";
+ case NonSemanticShaderDebugInfo100DebugTypeBasic: return "DebugTypeBasic";
+ case NonSemanticShaderDebugInfo100DebugTypePointer: return "DebugTypePointer";
+ case NonSemanticShaderDebugInfo100DebugTypeQualifier: return "DebugTypeQualifier";
+ case NonSemanticShaderDebugInfo100DebugTypeArray: return "DebugTypeArray";
+ case NonSemanticShaderDebugInfo100DebugTypeVector: return "DebugTypeVector";
+ case NonSemanticShaderDebugInfo100DebugTypedef: return "DebugTypedef";
+ case NonSemanticShaderDebugInfo100DebugTypeFunction: return "DebugTypeFunction";
+ case NonSemanticShaderDebugInfo100DebugTypeEnum: return "DebugTypeEnum";
+ case NonSemanticShaderDebugInfo100DebugTypeComposite: return "DebugTypeComposite";
+ case NonSemanticShaderDebugInfo100DebugTypeMember: return "DebugTypeMember";
+ case NonSemanticShaderDebugInfo100DebugTypeInheritance: return "DebugTypeInheritance";
+ case NonSemanticShaderDebugInfo100DebugTypePtrToMember: return "DebugTypePtrToMember";
+ case NonSemanticShaderDebugInfo100DebugTypeTemplate: return "DebugTypeTemplate";
+ case NonSemanticShaderDebugInfo100DebugTypeTemplateParameter: return "DebugTypeTemplateParameter";
+ case NonSemanticShaderDebugInfo100DebugTypeTemplateTemplateParameter: return "DebugTypeTemplateTemplateParameter";
+ case NonSemanticShaderDebugInfo100DebugTypeTemplateParameterPack: return "DebugTypeTemplateParameterPack";
+ case NonSemanticShaderDebugInfo100DebugGlobalVariable: return "DebugGlobalVariable";
+ case NonSemanticShaderDebugInfo100DebugFunctionDeclaration: return "DebugFunctionDeclaration";
+ case NonSemanticShaderDebugInfo100DebugFunction: return "DebugFunction";
+ case NonSemanticShaderDebugInfo100DebugLexicalBlock: return "DebugLexicalBlock";
+ case NonSemanticShaderDebugInfo100DebugLexicalBlockDiscriminator: return "DebugLexicalBlockDiscriminator";
+ case NonSemanticShaderDebugInfo100DebugScope: return "DebugScope";
+ case NonSemanticShaderDebugInfo100DebugNoScope: return "DebugNoScope";
+ case NonSemanticShaderDebugInfo100DebugInlinedAt: return "DebugInlinedAt";
+ case NonSemanticShaderDebugInfo100DebugLocalVariable: return "DebugLocalVariable";
+ case NonSemanticShaderDebugInfo100DebugInlinedVariable: return "DebugInlinedVariable";
+ case NonSemanticShaderDebugInfo100DebugDeclare: return "DebugDeclare";
+ case NonSemanticShaderDebugInfo100DebugValue: return "DebugValue";
+ case NonSemanticShaderDebugInfo100DebugOperation: return "DebugOperation";
+ case NonSemanticShaderDebugInfo100DebugExpression: return "DebugExpression";
+ case NonSemanticShaderDebugInfo100DebugMacroDef: return "DebugMacroDef";
+ case NonSemanticShaderDebugInfo100DebugMacroUndef: return "DebugMacroUndef";
+ case NonSemanticShaderDebugInfo100DebugImportedEntity: return "DebugImportedEntity";
+ case NonSemanticShaderDebugInfo100DebugSource: return "DebugSource";
+ case NonSemanticShaderDebugInfo100DebugFunctionDefinition: return "DebugFunctionDefinition";
+ case NonSemanticShaderDebugInfo100DebugSourceContinued: return "DebugSourceContinued";
+ case NonSemanticShaderDebugInfo100DebugLine: return "DebugLine";
+ case NonSemanticShaderDebugInfo100DebugNoLine: return "DebugNoLine";
+ case NonSemanticShaderDebugInfo100DebugBuildIdentifier: return "DebugBuildIdentifier";
+ case NonSemanticShaderDebugInfo100DebugStoragePath: return "DebugStoragePath";
+ case NonSemanticShaderDebugInfo100DebugEntryPoint: return "DebugEntryPoint";
+ case NonSemanticShaderDebugInfo100DebugTypeMatrix: return "DebugTypeMatrix";
+ default: return "Bad";
+ }
+
+ return "Bad";
+}
+
void Disassemble(std::ostream& out, const std::vector<unsigned int>& stream)
{
SpirvStream SpirvStream(out, stream);
diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp
index b7fe3e74..87ab1203 100644
--- a/SPIRV/doc.cpp
+++ b/SPIRV/doc.cpp
@@ -53,6 +53,7 @@ namespace spv {
#include "GLSL.ext.EXT.h"
#include "GLSL.ext.AMD.h"
#include "GLSL.ext.NV.h"
+ #include "GLSL.ext.ARM.h"
}
}
@@ -245,6 +246,7 @@ const char* StorageClassString(int StorageClass)
case StorageClassPhysicalStorageBufferEXT: return "PhysicalStorageBufferEXT";
case StorageClassTaskPayloadWorkgroupEXT: return "TaskPayloadWorkgroupEXT";
+ case StorageClassHitObjectAttributeNV: return "HitObjectAttributeNV";
default: return "Bad";
}
}
@@ -319,6 +321,8 @@ const char* DecorationString(int decoration)
case DecorationHlslSemanticGOOGLE: return "DecorationHlslSemanticGOOGLE";
case DecorationRestrictPointerEXT: return "DecorationRestrictPointerEXT";
case DecorationAliasedPointerEXT: return "DecorationAliasedPointerEXT";
+
+ case DecorationHitObjectShaderRecordBufferNV: return "DecorationHitObjectShaderRecordBufferNV";
}
}
@@ -439,6 +443,11 @@ const char* BuiltInString(int builtIn)
case BuiltInPrimitiveLineIndicesEXT: return "PrimitiveLineIndicesEXT";
case BuiltInPrimitiveTriangleIndicesEXT: return "PrimitiveTriangleIndicesEXT";
case BuiltInCullPrimitiveEXT: return "CullPrimitiveEXT";
+ case BuiltInCoreCountARM: return "CoreCountARM";
+ case BuiltInCoreIDARM: return "CoreIDARM";
+ case BuiltInCoreMaxIDARM: return "CoreMaxIDARM";
+ case BuiltInWarpIDARM: return "WarpIDARM";
+ case BuiltInWarpMaxIDARM: return "BuiltInWarpMaxIDARM";
default: return "Bad";
}
@@ -998,7 +1007,9 @@ const char* CapabilityString(int info)
case CapabilityWorkgroupMemoryExplicitLayoutKHR: return "CapabilityWorkgroupMemoryExplicitLayoutKHR";
case CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR: return "CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR";
case CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR: return "CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR";
+ case CapabilityCoreBuiltinsARM: return "CoreBuiltinsARM";
+ case CapabilityShaderInvocationReorderNV: return "ShaderInvocationReorderNV";
default: return "Bad";
}
}
@@ -1453,6 +1464,40 @@ const char* OpcodeString(int op)
case OpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT";
case OpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT";
+ case OpTypeHitObjectNV: return "OpTypeHitObjectNV";
+ case OpHitObjectTraceRayNV: return "OpHitObjectTraceRayNV";
+ case OpHitObjectTraceRayMotionNV: return "OpHitObjectTraceRayMotionNV";
+ case OpHitObjectRecordHitNV: return "OpHitObjectRecordHitNV";
+ case OpHitObjectRecordHitMotionNV: return "OpHitObjectRecordHitMotionNV";
+ case OpHitObjectRecordHitWithIndexNV: return "OpHitObjectRecordHitWithIndexNV";
+ case OpHitObjectRecordHitWithIndexMotionNV: return "OpHitObjectRecordHitWithIndexMotionNV";
+ case OpHitObjectRecordMissNV: return "OpHitObjectRecordMissNV";
+ case OpHitObjectRecordMissMotionNV: return "OpHitObjectRecordMissMotionNV";
+ case OpHitObjectRecordEmptyNV: return "OpHitObjectRecordEmptyNV";
+ case OpHitObjectExecuteShaderNV: return "OpHitObjectExecuteShaderNV";
+ case OpReorderThreadWithHintNV: return "OpReorderThreadWithHintNV";
+ case OpReorderThreadWithHitObjectNV: return "OpReorderThreadWithHitObjectNV";
+ case OpHitObjectGetCurrentTimeNV: return "OpHitObjectGetCurrentTimeNV";
+ case OpHitObjectGetAttributesNV: return "OpHitObjectGetAttributesNV";
+ case OpHitObjectGetHitKindNV: return "OpHitObjectGetFrontFaceNV";
+ case OpHitObjectGetPrimitiveIndexNV: return "OpHitObjectGetPrimitiveIndexNV";
+ case OpHitObjectGetGeometryIndexNV: return "OpHitObjectGetGeometryIndexNV";
+ case OpHitObjectGetInstanceIdNV: return "OpHitObjectGetInstanceIdNV";
+ case OpHitObjectGetInstanceCustomIndexNV: return "OpHitObjectGetInstanceCustomIndexNV";
+ case OpHitObjectGetObjectRayDirectionNV: return "OpHitObjectGetObjectRayDirectionNV";
+ case OpHitObjectGetObjectRayOriginNV: return "OpHitObjectGetObjectRayOriginNV";
+ case OpHitObjectGetWorldRayDirectionNV: return "OpHitObjectGetWorldRayDirectionNV";
+ case OpHitObjectGetWorldRayOriginNV: return "OpHitObjectGetWorldRayOriginNV";
+ case OpHitObjectGetWorldToObjectNV: return "OpHitObjectGetWorldToObjectNV";
+ case OpHitObjectGetObjectToWorldNV: return "OpHitObjectGetObjectToWorldNV";
+ case OpHitObjectGetRayTMaxNV: return "OpHitObjectGetRayTMaxNV";
+ case OpHitObjectGetRayTMinNV: return "OpHitObjectGetRayTMinNV";
+ case OpHitObjectIsEmptyNV: return "OpHitObjectIsEmptyNV";
+ case OpHitObjectIsHitNV: return "OpHitObjectIsHitNV";
+ case OpHitObjectIsMissNV: return "OpHitObjectIsMissNV";
+ case OpHitObjectGetShaderBindingTableRecordIndexNV: return "OpHitObjectGetShaderBindingTableRecordIndexNV";
+ case OpHitObjectGetShaderRecordBufferHandleNV: return "OpHitObjectGetShaderRecordBufferHandleNV";
+
default:
return "Bad";
}
@@ -1607,7 +1652,7 @@ void Parameterize()
DecorationOperands[DecorationInputAttachmentIndex].push(OperandLiteralNumber, "'Attachment Index'");
DecorationOperands[DecorationAlignment].push(OperandLiteralNumber, "'Alignment'");
- OperandClassParams[OperandSource].set(0, SourceString, 0);
+ OperandClassParams[OperandSource].set(0, SourceString, nullptr);
OperandClassParams[OperandExecutionModel].set(0, ExecutionModelString, nullptr);
OperandClassParams[OperandAddressing].set(0, AddressingString, nullptr);
OperandClassParams[OperandMemory].set(0, MemoryString, nullptr);
@@ -1639,7 +1684,7 @@ void Parameterize()
OperandClassParams[OperandKernelEnqueueFlags].set(0, KernelEnqueueFlagsString, nullptr);
OperandClassParams[OperandKernelProfilingInfo].set(0, KernelProfilingInfoString, nullptr, true);
OperandClassParams[OperandCapability].set(0, CapabilityString, nullptr);
- OperandClassParams[OperandOpcode].set(OpCodeMask + 1, OpcodeString, 0);
+ OperandClassParams[OperandOpcode].set(OpCodeMask + 1, OpcodeString, nullptr);
// set name of operator, an initial set of <id> style operands, and the description
@@ -3030,6 +3075,191 @@ void Parameterize()
InstructionDesc[OpDemoteToHelperInvocationEXT].setResultAndType(false, false);
InstructionDesc[OpReadClockKHR].operands.push(OperandScope, "'Scope'");
+
+ InstructionDesc[OpTypeHitObjectNV].setResultAndType(true, false);
+
+ InstructionDesc[OpHitObjectGetShaderRecordBufferHandleNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetShaderRecordBufferHandleNV].setResultAndType(true, true);
+
+ InstructionDesc[OpReorderThreadWithHintNV].operands.push(OperandId, "'Hint'");
+ InstructionDesc[OpReorderThreadWithHintNV].operands.push(OperandId, "'Bits'");
+ InstructionDesc[OpReorderThreadWithHintNV].setResultAndType(false, false);
+
+ InstructionDesc[OpReorderThreadWithHitObjectNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpReorderThreadWithHitObjectNV].operands.push(OperandId, "'Hint'");
+ InstructionDesc[OpReorderThreadWithHitObjectNV].operands.push(OperandId, "'Bits'");
+ InstructionDesc[OpReorderThreadWithHitObjectNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectGetCurrentTimeNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetCurrentTimeNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetHitKindNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetHitKindNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetPrimitiveIndexNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetPrimitiveIndexNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetGeometryIndexNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetGeometryIndexNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetInstanceIdNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetInstanceIdNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetInstanceCustomIndexNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetInstanceCustomIndexNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetObjectRayDirectionNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetObjectRayDirectionNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetObjectRayOriginNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetObjectRayOriginNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetWorldRayDirectionNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetWorldRayDirectionNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetWorldRayOriginNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetWorldRayOriginNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetWorldToObjectNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetWorldToObjectNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetObjectToWorldNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetObjectToWorldNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetRayTMaxNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetRayTMaxNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetRayTMinNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetRayTMinNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetShaderBindingTableRecordIndexNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetShaderBindingTableRecordIndexNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectIsEmptyNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectIsEmptyNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectIsHitNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectIsHitNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectIsMissNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectIsMissNV].setResultAndType(true, true);
+
+ InstructionDesc[OpHitObjectGetAttributesNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectGetAttributesNV].operands.push(OperandId, "'HitObjectAttribute'");
+ InstructionDesc[OpHitObjectGetAttributesNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectExecuteShaderNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectExecuteShaderNV].operands.push(OperandId, "'Payload'");
+ InstructionDesc[OpHitObjectExecuteShaderNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'Acceleration Structure'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'InstanceId'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'PrimitiveId'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'GeometryIndex'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'HitKind'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'SBT Record Offset'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'SBT Record Stride'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'Origin'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'Direction'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpHitObjectRecordHitNV].operands.push(OperandId, "'HitObject Attribute'");
+ InstructionDesc[OpHitObjectRecordHitNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'Acceleration Structure'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'InstanceId'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'PrimitiveId'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'GeometryIndex'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'HitKind'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'SBT Record Offset'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'SBT Record Stride'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'Origin'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'Direction'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'Current Time'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].operands.push(OperandId, "'HitObject Attribute'");
+ InstructionDesc[OpHitObjectRecordHitMotionNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'Acceleration Structure'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'InstanceId'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'PrimitiveId'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'GeometryIndex'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'HitKind'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'SBT Record Index'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'Origin'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'Direction'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].operands.push(OperandId, "'HitObject Attribute'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'Acceleration Structure'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'InstanceId'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'PrimitiveId'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'GeometryIndex'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'HitKind'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'SBT Record Index'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'Origin'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'Direction'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'Current Time'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].operands.push(OperandId, "'HitObject Attribute'");
+ InstructionDesc[OpHitObjectRecordHitWithIndexMotionNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectRecordMissNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectRecordMissNV].operands.push(OperandId, "'SBT Index'");
+ InstructionDesc[OpHitObjectRecordMissNV].operands.push(OperandId, "'Origin'");
+ InstructionDesc[OpHitObjectRecordMissNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpHitObjectRecordMissNV].operands.push(OperandId, "'Direction'");
+ InstructionDesc[OpHitObjectRecordMissNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpHitObjectRecordMissNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectRecordMissMotionNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectRecordMissMotionNV].operands.push(OperandId, "'SBT Index'");
+ InstructionDesc[OpHitObjectRecordMissMotionNV].operands.push(OperandId, "'Origin'");
+ InstructionDesc[OpHitObjectRecordMissMotionNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpHitObjectRecordMissMotionNV].operands.push(OperandId, "'Direction'");
+ InstructionDesc[OpHitObjectRecordMissMotionNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpHitObjectRecordMissMotionNV].operands.push(OperandId, "'Current Time'");
+ InstructionDesc[OpHitObjectRecordMissMotionNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectRecordEmptyNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectRecordEmptyNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'Acceleration Structure'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'RayFlags'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'Cullmask'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'SBT Record Offset'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'SBT Record Stride'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'Miss Index'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'Origin'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'Direction'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpHitObjectTraceRayNV].operands.push(OperandId, "'Payload'");
+ InstructionDesc[OpHitObjectTraceRayNV].setResultAndType(false, false);
+
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'HitObject'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'Acceleration Structure'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'RayFlags'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'Cullmask'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'SBT Record Offset'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'SBT Record Stride'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'Miss Index'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'Origin'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'Direction'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'Time'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].operands.push(OperandId, "'Payload'");
+ InstructionDesc[OpHitObjectTraceRayMotionNV].setResultAndType(false, false);
}
}; // end spv namespace
diff --git a/SPIRV/doc.h b/SPIRV/doc.h
index 2a0b28c6..7e155995 100644
--- a/SPIRV/doc.h
+++ b/SPIRV/doc.h
@@ -190,7 +190,7 @@ protected:
// Parameterize an enumerant
class EnumParameters {
public:
- EnumParameters() : desc(0) { }
+ EnumParameters() : desc(nullptr) { }
const char* desc;
};
@@ -198,7 +198,7 @@ public:
class EnumDefinition : public EnumParameters {
public:
EnumDefinition() :
- ceiling(0), bitmask(false), getName(0), enumParams(0), operandParams(0) { }
+ ceiling(0), bitmask(false), getName(nullptr), enumParams(nullptr), operandParams(nullptr) { }
void set(int ceil, const char* (*name)(int), EnumParameters* ep, bool mask = false)
{
ceiling = ceil;
diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp
index 0e40544b..768a6f56 100644
--- a/SPIRV/spirv.hpp
+++ b/SPIRV/spirv.hpp
@@ -1,2533 +1,2575 @@
-// Copyright (c) 2014-2020 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.
-//
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
-//
-// 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.
-
-// This header is automatically generated by the same tool that creates
-// the Binary Section of the SPIR-V specification.
-
-// Enumeration tokens for SPIR-V, in various styles:
-// C, C++, C++11, JSON, Lua, Python, C#, D
-//
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace,
-// e.g.: Spv.Specification.SourceLanguage.GLSL
-// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
-//
-// Some tokens act like mask values, which can be OR'd together,
-// while others are mutually exclusive. The mask-like ones have
-// "Mask" in their name, and a parallel enum that has the shift
-// amount (1 << x) for each corresponding enumerant.
-
-#ifndef spirv_HPP
-#define spirv_HPP
-
-namespace spv {
-
-typedef unsigned int Id;
-
-#define SPV_VERSION 0x10600
-#define SPV_REVISION 1
-
-static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010600;
-static const unsigned int Revision = 1;
-static const unsigned int OpCodeMask = 0xffff;
-static const unsigned int WordCountShift = 16;
-
-enum SourceLanguage {
- SourceLanguageUnknown = 0,
- SourceLanguageESSL = 1,
- SourceLanguageGLSL = 2,
- SourceLanguageOpenCL_C = 3,
- SourceLanguageOpenCL_CPP = 4,
- SourceLanguageHLSL = 5,
- SourceLanguageCPP_for_OpenCL = 6,
- SourceLanguageMax = 0x7fffffff,
-};
-
-enum ExecutionModel {
- ExecutionModelVertex = 0,
- ExecutionModelTessellationControl = 1,
- ExecutionModelTessellationEvaluation = 2,
- ExecutionModelGeometry = 3,
- ExecutionModelFragment = 4,
- ExecutionModelGLCompute = 5,
- ExecutionModelKernel = 6,
- ExecutionModelTaskNV = 5267,
- ExecutionModelMeshNV = 5268,
- ExecutionModelRayGenerationKHR = 5313,
- ExecutionModelRayGenerationNV = 5313,
- ExecutionModelIntersectionKHR = 5314,
- ExecutionModelIntersectionNV = 5314,
- ExecutionModelAnyHitKHR = 5315,
- ExecutionModelAnyHitNV = 5315,
- ExecutionModelClosestHitKHR = 5316,
- ExecutionModelClosestHitNV = 5316,
- ExecutionModelMissKHR = 5317,
- ExecutionModelMissNV = 5317,
- ExecutionModelCallableKHR = 5318,
- ExecutionModelCallableNV = 5318,
- ExecutionModelTaskEXT = 5364,
- ExecutionModelMeshEXT = 5365,
- ExecutionModelMax = 0x7fffffff,
-};
-
-enum AddressingModel {
- AddressingModelLogical = 0,
- AddressingModelPhysical32 = 1,
- AddressingModelPhysical64 = 2,
- AddressingModelPhysicalStorageBuffer64 = 5348,
- AddressingModelPhysicalStorageBuffer64EXT = 5348,
- AddressingModelMax = 0x7fffffff,
-};
-
-enum MemoryModel {
- MemoryModelSimple = 0,
- MemoryModelGLSL450 = 1,
- MemoryModelOpenCL = 2,
- MemoryModelVulkan = 3,
- MemoryModelVulkanKHR = 3,
- MemoryModelMax = 0x7fffffff,
-};
-
-enum ExecutionMode {
- ExecutionModeInvocations = 0,
- ExecutionModeSpacingEqual = 1,
- ExecutionModeSpacingFractionalEven = 2,
- ExecutionModeSpacingFractionalOdd = 3,
- ExecutionModeVertexOrderCw = 4,
- ExecutionModeVertexOrderCcw = 5,
- ExecutionModePixelCenterInteger = 6,
- ExecutionModeOriginUpperLeft = 7,
- ExecutionModeOriginLowerLeft = 8,
- ExecutionModeEarlyFragmentTests = 9,
- ExecutionModePointMode = 10,
- ExecutionModeXfb = 11,
- ExecutionModeDepthReplacing = 12,
- ExecutionModeDepthGreater = 14,
- ExecutionModeDepthLess = 15,
- ExecutionModeDepthUnchanged = 16,
- ExecutionModeLocalSize = 17,
- ExecutionModeLocalSizeHint = 18,
- ExecutionModeInputPoints = 19,
- ExecutionModeInputLines = 20,
- ExecutionModeInputLinesAdjacency = 21,
- ExecutionModeTriangles = 22,
- ExecutionModeInputTrianglesAdjacency = 23,
- ExecutionModeQuads = 24,
- ExecutionModeIsolines = 25,
- ExecutionModeOutputVertices = 26,
- ExecutionModeOutputPoints = 27,
- ExecutionModeOutputLineStrip = 28,
- ExecutionModeOutputTriangleStrip = 29,
- ExecutionModeVecTypeHint = 30,
- ExecutionModeContractionOff = 31,
- ExecutionModeInitializer = 33,
- ExecutionModeFinalizer = 34,
- ExecutionModeSubgroupSize = 35,
- ExecutionModeSubgroupsPerWorkgroup = 36,
- ExecutionModeSubgroupsPerWorkgroupId = 37,
- ExecutionModeLocalSizeId = 38,
- ExecutionModeLocalSizeHintId = 39,
- ExecutionModeSubgroupUniformControlFlowKHR = 4421,
- ExecutionModePostDepthCoverage = 4446,
- ExecutionModeDenormPreserve = 4459,
- ExecutionModeDenormFlushToZero = 4460,
- ExecutionModeSignedZeroInfNanPreserve = 4461,
- ExecutionModeRoundingModeRTE = 4462,
- ExecutionModeRoundingModeRTZ = 4463,
- ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
- ExecutionModeStencilRefReplacingEXT = 5027,
- ExecutionModeStencilRefUnchangedFrontAMD = 5079,
- ExecutionModeStencilRefGreaterFrontAMD = 5080,
- ExecutionModeStencilRefLessFrontAMD = 5081,
- ExecutionModeStencilRefUnchangedBackAMD = 5082,
- ExecutionModeStencilRefGreaterBackAMD = 5083,
- ExecutionModeStencilRefLessBackAMD = 5084,
- ExecutionModeOutputLinesEXT = 5269,
- ExecutionModeOutputLinesNV = 5269,
- ExecutionModeOutputPrimitivesEXT = 5270,
- ExecutionModeOutputPrimitivesNV = 5270,
- ExecutionModeDerivativeGroupQuadsNV = 5289,
- ExecutionModeDerivativeGroupLinearNV = 5290,
- ExecutionModeOutputTrianglesEXT = 5298,
- ExecutionModeOutputTrianglesNV = 5298,
- ExecutionModePixelInterlockOrderedEXT = 5366,
- ExecutionModePixelInterlockUnorderedEXT = 5367,
- ExecutionModeSampleInterlockOrderedEXT = 5368,
- ExecutionModeSampleInterlockUnorderedEXT = 5369,
- ExecutionModeShadingRateInterlockOrderedEXT = 5370,
- ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
- ExecutionModeSharedLocalMemorySizeINTEL = 5618,
- ExecutionModeRoundingModeRTPINTEL = 5620,
- ExecutionModeRoundingModeRTNINTEL = 5621,
- ExecutionModeFloatingPointModeALTINTEL = 5622,
- ExecutionModeFloatingPointModeIEEEINTEL = 5623,
- ExecutionModeMaxWorkgroupSizeINTEL = 5893,
- ExecutionModeMaxWorkDimINTEL = 5894,
- ExecutionModeNoGlobalOffsetINTEL = 5895,
- ExecutionModeNumSIMDWorkitemsINTEL = 5896,
- ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
- ExecutionModeMax = 0x7fffffff,
-};
-
-enum StorageClass {
- StorageClassUniformConstant = 0,
- StorageClassInput = 1,
- StorageClassUniform = 2,
- StorageClassOutput = 3,
- StorageClassWorkgroup = 4,
- StorageClassCrossWorkgroup = 5,
- StorageClassPrivate = 6,
- StorageClassFunction = 7,
- StorageClassGeneric = 8,
- StorageClassPushConstant = 9,
- StorageClassAtomicCounter = 10,
- StorageClassImage = 11,
- StorageClassStorageBuffer = 12,
- StorageClassCallableDataKHR = 5328,
- StorageClassCallableDataNV = 5328,
- StorageClassIncomingCallableDataKHR = 5329,
- StorageClassIncomingCallableDataNV = 5329,
- StorageClassRayPayloadKHR = 5338,
- StorageClassRayPayloadNV = 5338,
- StorageClassHitAttributeKHR = 5339,
- StorageClassHitAttributeNV = 5339,
- StorageClassIncomingRayPayloadKHR = 5342,
- StorageClassIncomingRayPayloadNV = 5342,
- StorageClassShaderRecordBufferKHR = 5343,
- StorageClassShaderRecordBufferNV = 5343,
- StorageClassPhysicalStorageBuffer = 5349,
- StorageClassPhysicalStorageBufferEXT = 5349,
- StorageClassTaskPayloadWorkgroupEXT = 5402,
- StorageClassCodeSectionINTEL = 5605,
- StorageClassDeviceOnlyINTEL = 5936,
- StorageClassHostOnlyINTEL = 5937,
- StorageClassMax = 0x7fffffff,
-};
-
-enum Dim {
- Dim1D = 0,
- Dim2D = 1,
- Dim3D = 2,
- DimCube = 3,
- DimRect = 4,
- DimBuffer = 5,
- DimSubpassData = 6,
- DimMax = 0x7fffffff,
-};
-
-enum SamplerAddressingMode {
- SamplerAddressingModeNone = 0,
- SamplerAddressingModeClampToEdge = 1,
- SamplerAddressingModeClamp = 2,
- SamplerAddressingModeRepeat = 3,
- SamplerAddressingModeRepeatMirrored = 4,
- SamplerAddressingModeMax = 0x7fffffff,
-};
-
-enum SamplerFilterMode {
- SamplerFilterModeNearest = 0,
- SamplerFilterModeLinear = 1,
- SamplerFilterModeMax = 0x7fffffff,
-};
-
-enum ImageFormat {
- ImageFormatUnknown = 0,
- ImageFormatRgba32f = 1,
- ImageFormatRgba16f = 2,
- ImageFormatR32f = 3,
- ImageFormatRgba8 = 4,
- ImageFormatRgba8Snorm = 5,
- ImageFormatRg32f = 6,
- ImageFormatRg16f = 7,
- ImageFormatR11fG11fB10f = 8,
- ImageFormatR16f = 9,
- ImageFormatRgba16 = 10,
- ImageFormatRgb10A2 = 11,
- ImageFormatRg16 = 12,
- ImageFormatRg8 = 13,
- ImageFormatR16 = 14,
- ImageFormatR8 = 15,
- ImageFormatRgba16Snorm = 16,
- ImageFormatRg16Snorm = 17,
- ImageFormatRg8Snorm = 18,
- ImageFormatR16Snorm = 19,
- ImageFormatR8Snorm = 20,
- ImageFormatRgba32i = 21,
- ImageFormatRgba16i = 22,
- ImageFormatRgba8i = 23,
- ImageFormatR32i = 24,
- ImageFormatRg32i = 25,
- ImageFormatRg16i = 26,
- ImageFormatRg8i = 27,
- ImageFormatR16i = 28,
- ImageFormatR8i = 29,
- ImageFormatRgba32ui = 30,
- ImageFormatRgba16ui = 31,
- ImageFormatRgba8ui = 32,
- ImageFormatR32ui = 33,
- ImageFormatRgb10a2ui = 34,
- ImageFormatRg32ui = 35,
- ImageFormatRg16ui = 36,
- ImageFormatRg8ui = 37,
- ImageFormatR16ui = 38,
- ImageFormatR8ui = 39,
- ImageFormatR64ui = 40,
- ImageFormatR64i = 41,
- ImageFormatMax = 0x7fffffff,
-};
-
-enum ImageChannelOrder {
- ImageChannelOrderR = 0,
- ImageChannelOrderA = 1,
- ImageChannelOrderRG = 2,
- ImageChannelOrderRA = 3,
- ImageChannelOrderRGB = 4,
- ImageChannelOrderRGBA = 5,
- ImageChannelOrderBGRA = 6,
- ImageChannelOrderARGB = 7,
- ImageChannelOrderIntensity = 8,
- ImageChannelOrderLuminance = 9,
- ImageChannelOrderRx = 10,
- ImageChannelOrderRGx = 11,
- ImageChannelOrderRGBx = 12,
- ImageChannelOrderDepth = 13,
- ImageChannelOrderDepthStencil = 14,
- ImageChannelOrdersRGB = 15,
- ImageChannelOrdersRGBx = 16,
- ImageChannelOrdersRGBA = 17,
- ImageChannelOrdersBGRA = 18,
- ImageChannelOrderABGR = 19,
- ImageChannelOrderMax = 0x7fffffff,
-};
-
-enum ImageChannelDataType {
- ImageChannelDataTypeSnormInt8 = 0,
- ImageChannelDataTypeSnormInt16 = 1,
- ImageChannelDataTypeUnormInt8 = 2,
- ImageChannelDataTypeUnormInt16 = 3,
- ImageChannelDataTypeUnormShort565 = 4,
- ImageChannelDataTypeUnormShort555 = 5,
- ImageChannelDataTypeUnormInt101010 = 6,
- ImageChannelDataTypeSignedInt8 = 7,
- ImageChannelDataTypeSignedInt16 = 8,
- ImageChannelDataTypeSignedInt32 = 9,
- ImageChannelDataTypeUnsignedInt8 = 10,
- ImageChannelDataTypeUnsignedInt16 = 11,
- ImageChannelDataTypeUnsignedInt32 = 12,
- ImageChannelDataTypeHalfFloat = 13,
- ImageChannelDataTypeFloat = 14,
- ImageChannelDataTypeUnormInt24 = 15,
- ImageChannelDataTypeUnormInt101010_2 = 16,
- ImageChannelDataTypeMax = 0x7fffffff,
-};
-
-enum ImageOperandsShift {
- ImageOperandsBiasShift = 0,
- ImageOperandsLodShift = 1,
- ImageOperandsGradShift = 2,
- ImageOperandsConstOffsetShift = 3,
- ImageOperandsOffsetShift = 4,
- ImageOperandsConstOffsetsShift = 5,
- ImageOperandsSampleShift = 6,
- ImageOperandsMinLodShift = 7,
- ImageOperandsMakeTexelAvailableShift = 8,
- ImageOperandsMakeTexelAvailableKHRShift = 8,
- ImageOperandsMakeTexelVisibleShift = 9,
- ImageOperandsMakeTexelVisibleKHRShift = 9,
- ImageOperandsNonPrivateTexelShift = 10,
- ImageOperandsNonPrivateTexelKHRShift = 10,
- ImageOperandsVolatileTexelShift = 11,
- ImageOperandsVolatileTexelKHRShift = 11,
- ImageOperandsSignExtendShift = 12,
- ImageOperandsZeroExtendShift = 13,
- ImageOperandsNontemporalShift = 14,
- ImageOperandsOffsetsShift = 16,
- ImageOperandsMax = 0x7fffffff,
-};
-
-enum ImageOperandsMask {
- ImageOperandsMaskNone = 0,
- ImageOperandsBiasMask = 0x00000001,
- ImageOperandsLodMask = 0x00000002,
- ImageOperandsGradMask = 0x00000004,
- ImageOperandsConstOffsetMask = 0x00000008,
- ImageOperandsOffsetMask = 0x00000010,
- ImageOperandsConstOffsetsMask = 0x00000020,
- ImageOperandsSampleMask = 0x00000040,
- ImageOperandsMinLodMask = 0x00000080,
- ImageOperandsMakeTexelAvailableMask = 0x00000100,
- ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
- ImageOperandsMakeTexelVisibleMask = 0x00000200,
- ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
- ImageOperandsNonPrivateTexelMask = 0x00000400,
- ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
- ImageOperandsVolatileTexelMask = 0x00000800,
- ImageOperandsVolatileTexelKHRMask = 0x00000800,
- ImageOperandsSignExtendMask = 0x00001000,
- ImageOperandsZeroExtendMask = 0x00002000,
- ImageOperandsNontemporalMask = 0x00004000,
- ImageOperandsOffsetsMask = 0x00010000,
-};
-
-enum FPFastMathModeShift {
- FPFastMathModeNotNaNShift = 0,
- FPFastMathModeNotInfShift = 1,
- FPFastMathModeNSZShift = 2,
- FPFastMathModeAllowRecipShift = 3,
- FPFastMathModeFastShift = 4,
- FPFastMathModeAllowContractFastINTELShift = 16,
- FPFastMathModeAllowReassocINTELShift = 17,
- FPFastMathModeMax = 0x7fffffff,
-};
-
-enum FPFastMathModeMask {
- FPFastMathModeMaskNone = 0,
- FPFastMathModeNotNaNMask = 0x00000001,
- FPFastMathModeNotInfMask = 0x00000002,
- FPFastMathModeNSZMask = 0x00000004,
- FPFastMathModeAllowRecipMask = 0x00000008,
- FPFastMathModeFastMask = 0x00000010,
- FPFastMathModeAllowContractFastINTELMask = 0x00010000,
- FPFastMathModeAllowReassocINTELMask = 0x00020000,
-};
-
-enum FPRoundingMode {
- FPRoundingModeRTE = 0,
- FPRoundingModeRTZ = 1,
- FPRoundingModeRTP = 2,
- FPRoundingModeRTN = 3,
- FPRoundingModeMax = 0x7fffffff,
-};
-
-enum LinkageType {
- LinkageTypeExport = 0,
- LinkageTypeImport = 1,
- LinkageTypeLinkOnceODR = 2,
- LinkageTypeMax = 0x7fffffff,
-};
-
-enum AccessQualifier {
- AccessQualifierReadOnly = 0,
- AccessQualifierWriteOnly = 1,
- AccessQualifierReadWrite = 2,
- AccessQualifierMax = 0x7fffffff,
-};
-
-enum FunctionParameterAttribute {
- FunctionParameterAttributeZext = 0,
- FunctionParameterAttributeSext = 1,
- FunctionParameterAttributeByVal = 2,
- FunctionParameterAttributeSret = 3,
- FunctionParameterAttributeNoAlias = 4,
- FunctionParameterAttributeNoCapture = 5,
- FunctionParameterAttributeNoWrite = 6,
- FunctionParameterAttributeNoReadWrite = 7,
- FunctionParameterAttributeMax = 0x7fffffff,
-};
-
-enum Decoration {
- DecorationRelaxedPrecision = 0,
- DecorationSpecId = 1,
- DecorationBlock = 2,
- DecorationBufferBlock = 3,
- DecorationRowMajor = 4,
- DecorationColMajor = 5,
- DecorationArrayStride = 6,
- DecorationMatrixStride = 7,
- DecorationGLSLShared = 8,
- DecorationGLSLPacked = 9,
- DecorationCPacked = 10,
- DecorationBuiltIn = 11,
- DecorationNoPerspective = 13,
- DecorationFlat = 14,
- DecorationPatch = 15,
- DecorationCentroid = 16,
- DecorationSample = 17,
- DecorationInvariant = 18,
- DecorationRestrict = 19,
- DecorationAliased = 20,
- DecorationVolatile = 21,
- DecorationConstant = 22,
- DecorationCoherent = 23,
- DecorationNonWritable = 24,
- DecorationNonReadable = 25,
- DecorationUniform = 26,
- DecorationUniformId = 27,
- DecorationSaturatedConversion = 28,
- DecorationStream = 29,
- DecorationLocation = 30,
- DecorationComponent = 31,
- DecorationIndex = 32,
- DecorationBinding = 33,
- DecorationDescriptorSet = 34,
- DecorationOffset = 35,
- DecorationXfbBuffer = 36,
- DecorationXfbStride = 37,
- DecorationFuncParamAttr = 38,
- DecorationFPRoundingMode = 39,
- DecorationFPFastMathMode = 40,
- DecorationLinkageAttributes = 41,
- DecorationNoContraction = 42,
- DecorationInputAttachmentIndex = 43,
- DecorationAlignment = 44,
- DecorationMaxByteOffset = 45,
- DecorationAlignmentId = 46,
- DecorationMaxByteOffsetId = 47,
- DecorationNoSignedWrap = 4469,
- DecorationNoUnsignedWrap = 4470,
- DecorationExplicitInterpAMD = 4999,
- DecorationOverrideCoverageNV = 5248,
- DecorationPassthroughNV = 5250,
- DecorationViewportRelativeNV = 5252,
- DecorationSecondaryViewportRelativeNV = 5256,
- DecorationPerPrimitiveEXT = 5271,
- DecorationPerPrimitiveNV = 5271,
- DecorationPerViewNV = 5272,
- DecorationPerTaskNV = 5273,
- DecorationPerVertexKHR = 5285,
- DecorationPerVertexNV = 5285,
- DecorationNonUniform = 5300,
- DecorationNonUniformEXT = 5300,
- DecorationRestrictPointer = 5355,
- DecorationRestrictPointerEXT = 5355,
- DecorationAliasedPointer = 5356,
- DecorationAliasedPointerEXT = 5356,
- DecorationBindlessSamplerNV = 5398,
- DecorationBindlessImageNV = 5399,
- DecorationBoundSamplerNV = 5400,
- DecorationBoundImageNV = 5401,
- DecorationSIMTCallINTEL = 5599,
- DecorationReferencedIndirectlyINTEL = 5602,
- DecorationClobberINTEL = 5607,
- DecorationSideEffectsINTEL = 5608,
- DecorationVectorComputeVariableINTEL = 5624,
- DecorationFuncParamIOKindINTEL = 5625,
- DecorationVectorComputeFunctionINTEL = 5626,
- DecorationStackCallINTEL = 5627,
- DecorationGlobalVariableOffsetINTEL = 5628,
- DecorationCounterBuffer = 5634,
- DecorationHlslCounterBufferGOOGLE = 5634,
- DecorationHlslSemanticGOOGLE = 5635,
- DecorationUserSemantic = 5635,
- DecorationUserTypeGOOGLE = 5636,
- DecorationFunctionRoundingModeINTEL = 5822,
- DecorationFunctionDenormModeINTEL = 5823,
- DecorationRegisterINTEL = 5825,
- DecorationMemoryINTEL = 5826,
- DecorationNumbanksINTEL = 5827,
- DecorationBankwidthINTEL = 5828,
- DecorationMaxPrivateCopiesINTEL = 5829,
- DecorationSinglepumpINTEL = 5830,
- DecorationDoublepumpINTEL = 5831,
- DecorationMaxReplicatesINTEL = 5832,
- DecorationSimpleDualPortINTEL = 5833,
- DecorationMergeINTEL = 5834,
- DecorationBankBitsINTEL = 5835,
- DecorationForcePow2DepthINTEL = 5836,
- DecorationBurstCoalesceINTEL = 5899,
- DecorationCacheSizeINTEL = 5900,
- DecorationDontStaticallyCoalesceINTEL = 5901,
- DecorationPrefetchINTEL = 5902,
- DecorationStallEnableINTEL = 5905,
- DecorationFuseLoopsInFunctionINTEL = 5907,
- DecorationBufferLocationINTEL = 5921,
- DecorationIOPipeStorageINTEL = 5944,
- DecorationFunctionFloatingPointModeINTEL = 6080,
- DecorationSingleElementVectorINTEL = 6085,
- DecorationVectorComputeCallableFunctionINTEL = 6087,
- DecorationMediaBlockIOINTEL = 6140,
- DecorationMax = 0x7fffffff,
-};
-
-enum BuiltIn {
- BuiltInPosition = 0,
- BuiltInPointSize = 1,
- BuiltInClipDistance = 3,
- BuiltInCullDistance = 4,
- BuiltInVertexId = 5,
- BuiltInInstanceId = 6,
- BuiltInPrimitiveId = 7,
- BuiltInInvocationId = 8,
- BuiltInLayer = 9,
- BuiltInViewportIndex = 10,
- BuiltInTessLevelOuter = 11,
- BuiltInTessLevelInner = 12,
- BuiltInTessCoord = 13,
- BuiltInPatchVertices = 14,
- BuiltInFragCoord = 15,
- BuiltInPointCoord = 16,
- BuiltInFrontFacing = 17,
- BuiltInSampleId = 18,
- BuiltInSamplePosition = 19,
- BuiltInSampleMask = 20,
- BuiltInFragDepth = 22,
- BuiltInHelperInvocation = 23,
- BuiltInNumWorkgroups = 24,
- BuiltInWorkgroupSize = 25,
- BuiltInWorkgroupId = 26,
- BuiltInLocalInvocationId = 27,
- BuiltInGlobalInvocationId = 28,
- BuiltInLocalInvocationIndex = 29,
- BuiltInWorkDim = 30,
- BuiltInGlobalSize = 31,
- BuiltInEnqueuedWorkgroupSize = 32,
- BuiltInGlobalOffset = 33,
- BuiltInGlobalLinearId = 34,
- BuiltInSubgroupSize = 36,
- BuiltInSubgroupMaxSize = 37,
- BuiltInNumSubgroups = 38,
- BuiltInNumEnqueuedSubgroups = 39,
- BuiltInSubgroupId = 40,
- BuiltInSubgroupLocalInvocationId = 41,
- BuiltInVertexIndex = 42,
- BuiltInInstanceIndex = 43,
- BuiltInSubgroupEqMask = 4416,
- BuiltInSubgroupEqMaskKHR = 4416,
- BuiltInSubgroupGeMask = 4417,
- BuiltInSubgroupGeMaskKHR = 4417,
- BuiltInSubgroupGtMask = 4418,
- BuiltInSubgroupGtMaskKHR = 4418,
- BuiltInSubgroupLeMask = 4419,
- BuiltInSubgroupLeMaskKHR = 4419,
- BuiltInSubgroupLtMask = 4420,
- BuiltInSubgroupLtMaskKHR = 4420,
- BuiltInBaseVertex = 4424,
- BuiltInBaseInstance = 4425,
- BuiltInDrawIndex = 4426,
- BuiltInPrimitiveShadingRateKHR = 4432,
- BuiltInDeviceIndex = 4438,
- BuiltInViewIndex = 4440,
- BuiltInShadingRateKHR = 4444,
- BuiltInBaryCoordNoPerspAMD = 4992,
- BuiltInBaryCoordNoPerspCentroidAMD = 4993,
- BuiltInBaryCoordNoPerspSampleAMD = 4994,
- BuiltInBaryCoordSmoothAMD = 4995,
- BuiltInBaryCoordSmoothCentroidAMD = 4996,
- BuiltInBaryCoordSmoothSampleAMD = 4997,
- BuiltInBaryCoordPullModelAMD = 4998,
- BuiltInFragStencilRefEXT = 5014,
- BuiltInViewportMaskNV = 5253,
- BuiltInSecondaryPositionNV = 5257,
- BuiltInSecondaryViewportMaskNV = 5258,
- BuiltInPositionPerViewNV = 5261,
- BuiltInViewportMaskPerViewNV = 5262,
- BuiltInFullyCoveredEXT = 5264,
- BuiltInTaskCountNV = 5274,
- BuiltInPrimitiveCountNV = 5275,
- BuiltInPrimitiveIndicesNV = 5276,
- BuiltInClipDistancePerViewNV = 5277,
- BuiltInCullDistancePerViewNV = 5278,
- BuiltInLayerPerViewNV = 5279,
- BuiltInMeshViewCountNV = 5280,
- BuiltInMeshViewIndicesNV = 5281,
- BuiltInBaryCoordKHR = 5286,
- BuiltInBaryCoordNV = 5286,
- BuiltInBaryCoordNoPerspKHR = 5287,
- BuiltInBaryCoordNoPerspNV = 5287,
- BuiltInFragSizeEXT = 5292,
- BuiltInFragmentSizeNV = 5292,
- BuiltInFragInvocationCountEXT = 5293,
- BuiltInInvocationsPerPixelNV = 5293,
- BuiltInPrimitivePointIndicesEXT = 5294,
- BuiltInPrimitiveLineIndicesEXT = 5295,
- BuiltInPrimitiveTriangleIndicesEXT = 5296,
- BuiltInCullPrimitiveEXT = 5299,
- BuiltInLaunchIdKHR = 5319,
- BuiltInLaunchIdNV = 5319,
- BuiltInLaunchSizeKHR = 5320,
- BuiltInLaunchSizeNV = 5320,
- BuiltInWorldRayOriginKHR = 5321,
- BuiltInWorldRayOriginNV = 5321,
- BuiltInWorldRayDirectionKHR = 5322,
- BuiltInWorldRayDirectionNV = 5322,
- BuiltInObjectRayOriginKHR = 5323,
- BuiltInObjectRayOriginNV = 5323,
- BuiltInObjectRayDirectionKHR = 5324,
- BuiltInObjectRayDirectionNV = 5324,
- BuiltInRayTminKHR = 5325,
- BuiltInRayTminNV = 5325,
- BuiltInRayTmaxKHR = 5326,
- BuiltInRayTmaxNV = 5326,
- BuiltInInstanceCustomIndexKHR = 5327,
- BuiltInInstanceCustomIndexNV = 5327,
- BuiltInObjectToWorldKHR = 5330,
- BuiltInObjectToWorldNV = 5330,
- BuiltInWorldToObjectKHR = 5331,
- BuiltInWorldToObjectNV = 5331,
- BuiltInHitTNV = 5332,
- BuiltInHitKindKHR = 5333,
- BuiltInHitKindNV = 5333,
- BuiltInCurrentRayTimeNV = 5334,
- BuiltInIncomingRayFlagsKHR = 5351,
- BuiltInIncomingRayFlagsNV = 5351,
- BuiltInRayGeometryIndexKHR = 5352,
- BuiltInWarpsPerSMNV = 5374,
- BuiltInSMCountNV = 5375,
- BuiltInWarpIDNV = 5376,
- BuiltInSMIDNV = 5377,
- BuiltInCullMaskKHR = 6021,
- BuiltInMax = 0x7fffffff,
-};
-
-enum SelectionControlShift {
- SelectionControlFlattenShift = 0,
- SelectionControlDontFlattenShift = 1,
- SelectionControlMax = 0x7fffffff,
-};
-
-enum SelectionControlMask {
- SelectionControlMaskNone = 0,
- SelectionControlFlattenMask = 0x00000001,
- SelectionControlDontFlattenMask = 0x00000002,
-};
-
-enum LoopControlShift {
- LoopControlUnrollShift = 0,
- LoopControlDontUnrollShift = 1,
- LoopControlDependencyInfiniteShift = 2,
- LoopControlDependencyLengthShift = 3,
- LoopControlMinIterationsShift = 4,
- LoopControlMaxIterationsShift = 5,
- LoopControlIterationMultipleShift = 6,
- LoopControlPeelCountShift = 7,
- LoopControlPartialCountShift = 8,
- LoopControlInitiationIntervalINTELShift = 16,
- LoopControlMaxConcurrencyINTELShift = 17,
- LoopControlDependencyArrayINTELShift = 18,
- LoopControlPipelineEnableINTELShift = 19,
- LoopControlLoopCoalesceINTELShift = 20,
- LoopControlMaxInterleavingINTELShift = 21,
- LoopControlSpeculatedIterationsINTELShift = 22,
- LoopControlNoFusionINTELShift = 23,
- LoopControlMax = 0x7fffffff,
-};
-
-enum LoopControlMask {
- LoopControlMaskNone = 0,
- LoopControlUnrollMask = 0x00000001,
- LoopControlDontUnrollMask = 0x00000002,
- LoopControlDependencyInfiniteMask = 0x00000004,
- LoopControlDependencyLengthMask = 0x00000008,
- LoopControlMinIterationsMask = 0x00000010,
- LoopControlMaxIterationsMask = 0x00000020,
- LoopControlIterationMultipleMask = 0x00000040,
- LoopControlPeelCountMask = 0x00000080,
- LoopControlPartialCountMask = 0x00000100,
- LoopControlInitiationIntervalINTELMask = 0x00010000,
- LoopControlMaxConcurrencyINTELMask = 0x00020000,
- LoopControlDependencyArrayINTELMask = 0x00040000,
- LoopControlPipelineEnableINTELMask = 0x00080000,
- LoopControlLoopCoalesceINTELMask = 0x00100000,
- LoopControlMaxInterleavingINTELMask = 0x00200000,
- LoopControlSpeculatedIterationsINTELMask = 0x00400000,
- LoopControlNoFusionINTELMask = 0x00800000,
-};
-
-enum FunctionControlShift {
- FunctionControlInlineShift = 0,
- FunctionControlDontInlineShift = 1,
- FunctionControlPureShift = 2,
- FunctionControlConstShift = 3,
- FunctionControlOptNoneINTELShift = 16,
- FunctionControlMax = 0x7fffffff,
-};
-
-enum FunctionControlMask {
- FunctionControlMaskNone = 0,
- FunctionControlInlineMask = 0x00000001,
- FunctionControlDontInlineMask = 0x00000002,
- FunctionControlPureMask = 0x00000004,
- FunctionControlConstMask = 0x00000008,
- FunctionControlOptNoneINTELMask = 0x00010000,
-};
-
-enum MemorySemanticsShift {
- MemorySemanticsAcquireShift = 1,
- MemorySemanticsReleaseShift = 2,
- MemorySemanticsAcquireReleaseShift = 3,
- MemorySemanticsSequentiallyConsistentShift = 4,
- MemorySemanticsUniformMemoryShift = 6,
- MemorySemanticsSubgroupMemoryShift = 7,
- MemorySemanticsWorkgroupMemoryShift = 8,
- MemorySemanticsCrossWorkgroupMemoryShift = 9,
- MemorySemanticsAtomicCounterMemoryShift = 10,
- MemorySemanticsImageMemoryShift = 11,
- MemorySemanticsOutputMemoryShift = 12,
- MemorySemanticsOutputMemoryKHRShift = 12,
- MemorySemanticsMakeAvailableShift = 13,
- MemorySemanticsMakeAvailableKHRShift = 13,
- MemorySemanticsMakeVisibleShift = 14,
- MemorySemanticsMakeVisibleKHRShift = 14,
- MemorySemanticsVolatileShift = 15,
- MemorySemanticsMax = 0x7fffffff,
-};
-
-enum MemorySemanticsMask {
- MemorySemanticsMaskNone = 0,
- MemorySemanticsAcquireMask = 0x00000002,
- MemorySemanticsReleaseMask = 0x00000004,
- MemorySemanticsAcquireReleaseMask = 0x00000008,
- MemorySemanticsSequentiallyConsistentMask = 0x00000010,
- MemorySemanticsUniformMemoryMask = 0x00000040,
- MemorySemanticsSubgroupMemoryMask = 0x00000080,
- MemorySemanticsWorkgroupMemoryMask = 0x00000100,
- MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
- MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
- MemorySemanticsImageMemoryMask = 0x00000800,
- MemorySemanticsOutputMemoryMask = 0x00001000,
- MemorySemanticsOutputMemoryKHRMask = 0x00001000,
- MemorySemanticsMakeAvailableMask = 0x00002000,
- MemorySemanticsMakeAvailableKHRMask = 0x00002000,
- MemorySemanticsMakeVisibleMask = 0x00004000,
- MemorySemanticsMakeVisibleKHRMask = 0x00004000,
- MemorySemanticsVolatileMask = 0x00008000,
-};
-
-enum MemoryAccessShift {
- MemoryAccessVolatileShift = 0,
- MemoryAccessAlignedShift = 1,
- MemoryAccessNontemporalShift = 2,
- MemoryAccessMakePointerAvailableShift = 3,
- MemoryAccessMakePointerAvailableKHRShift = 3,
- MemoryAccessMakePointerVisibleShift = 4,
- MemoryAccessMakePointerVisibleKHRShift = 4,
- MemoryAccessNonPrivatePointerShift = 5,
- MemoryAccessNonPrivatePointerKHRShift = 5,
- MemoryAccessMax = 0x7fffffff,
-};
-
-enum MemoryAccessMask {
- MemoryAccessMaskNone = 0,
- MemoryAccessVolatileMask = 0x00000001,
- MemoryAccessAlignedMask = 0x00000002,
- MemoryAccessNontemporalMask = 0x00000004,
- MemoryAccessMakePointerAvailableMask = 0x00000008,
- MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
- MemoryAccessMakePointerVisibleMask = 0x00000010,
- MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
- MemoryAccessNonPrivatePointerMask = 0x00000020,
- MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
-};
-
-enum Scope {
- ScopeCrossDevice = 0,
- ScopeDevice = 1,
- ScopeWorkgroup = 2,
- ScopeSubgroup = 3,
- ScopeInvocation = 4,
- ScopeQueueFamily = 5,
- ScopeQueueFamilyKHR = 5,
- ScopeShaderCallKHR = 6,
- ScopeMax = 0x7fffffff,
-};
-
-enum GroupOperation {
- GroupOperationReduce = 0,
- GroupOperationInclusiveScan = 1,
- GroupOperationExclusiveScan = 2,
- GroupOperationClusteredReduce = 3,
- GroupOperationPartitionedReduceNV = 6,
- GroupOperationPartitionedInclusiveScanNV = 7,
- GroupOperationPartitionedExclusiveScanNV = 8,
- GroupOperationMax = 0x7fffffff,
-};
-
-enum KernelEnqueueFlags {
- KernelEnqueueFlagsNoWait = 0,
- KernelEnqueueFlagsWaitKernel = 1,
- KernelEnqueueFlagsWaitWorkGroup = 2,
- KernelEnqueueFlagsMax = 0x7fffffff,
-};
-
-enum KernelProfilingInfoShift {
- KernelProfilingInfoCmdExecTimeShift = 0,
- KernelProfilingInfoMax = 0x7fffffff,
-};
-
-enum KernelProfilingInfoMask {
- KernelProfilingInfoMaskNone = 0,
- KernelProfilingInfoCmdExecTimeMask = 0x00000001,
-};
-
-enum Capability {
- CapabilityMatrix = 0,
- CapabilityShader = 1,
- CapabilityGeometry = 2,
- CapabilityTessellation = 3,
- CapabilityAddresses = 4,
- CapabilityLinkage = 5,
- CapabilityKernel = 6,
- CapabilityVector16 = 7,
- CapabilityFloat16Buffer = 8,
- CapabilityFloat16 = 9,
- CapabilityFloat64 = 10,
- CapabilityInt64 = 11,
- CapabilityInt64Atomics = 12,
- CapabilityImageBasic = 13,
- CapabilityImageReadWrite = 14,
- CapabilityImageMipmap = 15,
- CapabilityPipes = 17,
- CapabilityGroups = 18,
- CapabilityDeviceEnqueue = 19,
- CapabilityLiteralSampler = 20,
- CapabilityAtomicStorage = 21,
- CapabilityInt16 = 22,
- CapabilityTessellationPointSize = 23,
- CapabilityGeometryPointSize = 24,
- CapabilityImageGatherExtended = 25,
- CapabilityStorageImageMultisample = 27,
- CapabilityUniformBufferArrayDynamicIndexing = 28,
- CapabilitySampledImageArrayDynamicIndexing = 29,
- CapabilityStorageBufferArrayDynamicIndexing = 30,
- CapabilityStorageImageArrayDynamicIndexing = 31,
- CapabilityClipDistance = 32,
- CapabilityCullDistance = 33,
- CapabilityImageCubeArray = 34,
- CapabilitySampleRateShading = 35,
- CapabilityImageRect = 36,
- CapabilitySampledRect = 37,
- CapabilityGenericPointer = 38,
- CapabilityInt8 = 39,
- CapabilityInputAttachment = 40,
- CapabilitySparseResidency = 41,
- CapabilityMinLod = 42,
- CapabilitySampled1D = 43,
- CapabilityImage1D = 44,
- CapabilitySampledCubeArray = 45,
- CapabilitySampledBuffer = 46,
- CapabilityImageBuffer = 47,
- CapabilityImageMSArray = 48,
- CapabilityStorageImageExtendedFormats = 49,
- CapabilityImageQuery = 50,
- CapabilityDerivativeControl = 51,
- CapabilityInterpolationFunction = 52,
- CapabilityTransformFeedback = 53,
- CapabilityGeometryStreams = 54,
- CapabilityStorageImageReadWithoutFormat = 55,
- CapabilityStorageImageWriteWithoutFormat = 56,
- CapabilityMultiViewport = 57,
- CapabilitySubgroupDispatch = 58,
- CapabilityNamedBarrier = 59,
- CapabilityPipeStorage = 60,
- CapabilityGroupNonUniform = 61,
- CapabilityGroupNonUniformVote = 62,
- CapabilityGroupNonUniformArithmetic = 63,
- CapabilityGroupNonUniformBallot = 64,
- CapabilityGroupNonUniformShuffle = 65,
- CapabilityGroupNonUniformShuffleRelative = 66,
- CapabilityGroupNonUniformClustered = 67,
- CapabilityGroupNonUniformQuad = 68,
- CapabilityShaderLayer = 69,
- CapabilityShaderViewportIndex = 70,
- CapabilityUniformDecoration = 71,
- CapabilityFragmentShadingRateKHR = 4422,
- CapabilitySubgroupBallotKHR = 4423,
- CapabilityDrawParameters = 4427,
- CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
- CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
- CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
- CapabilitySubgroupVoteKHR = 4431,
- CapabilityStorageBuffer16BitAccess = 4433,
- CapabilityStorageUniformBufferBlock16 = 4433,
- CapabilityStorageUniform16 = 4434,
- CapabilityUniformAndStorageBuffer16BitAccess = 4434,
- CapabilityStoragePushConstant16 = 4435,
- CapabilityStorageInputOutput16 = 4436,
- CapabilityDeviceGroup = 4437,
- CapabilityMultiView = 4439,
- CapabilityVariablePointersStorageBuffer = 4441,
- CapabilityVariablePointers = 4442,
- CapabilityAtomicStorageOps = 4445,
- CapabilitySampleMaskPostDepthCoverage = 4447,
- CapabilityStorageBuffer8BitAccess = 4448,
- CapabilityUniformAndStorageBuffer8BitAccess = 4449,
- CapabilityStoragePushConstant8 = 4450,
- CapabilityDenormPreserve = 4464,
- CapabilityDenormFlushToZero = 4465,
- CapabilitySignedZeroInfNanPreserve = 4466,
- CapabilityRoundingModeRTE = 4467,
- CapabilityRoundingModeRTZ = 4468,
- CapabilityRayQueryProvisionalKHR = 4471,
- CapabilityRayQueryKHR = 4472,
- CapabilityRayTraversalPrimitiveCullingKHR = 4478,
- CapabilityRayTracingKHR = 4479,
- CapabilityFloat16ImageAMD = 5008,
- CapabilityImageGatherBiasLodAMD = 5009,
- CapabilityFragmentMaskAMD = 5010,
- CapabilityStencilExportEXT = 5013,
- CapabilityImageReadWriteLodAMD = 5015,
- CapabilityInt64ImageEXT = 5016,
- CapabilityShaderClockKHR = 5055,
- CapabilitySampleMaskOverrideCoverageNV = 5249,
- CapabilityGeometryShaderPassthroughNV = 5251,
- CapabilityShaderViewportIndexLayerEXT = 5254,
- CapabilityShaderViewportIndexLayerNV = 5254,
- CapabilityShaderViewportMaskNV = 5255,
- CapabilityShaderStereoViewNV = 5259,
- CapabilityPerViewAttributesNV = 5260,
- CapabilityFragmentFullyCoveredEXT = 5265,
- CapabilityMeshShadingNV = 5266,
- CapabilityImageFootprintNV = 5282,
- CapabilityMeshShadingEXT = 5283,
- CapabilityFragmentBarycentricKHR = 5284,
- CapabilityFragmentBarycentricNV = 5284,
- CapabilityComputeDerivativeGroupQuadsNV = 5288,
- CapabilityFragmentDensityEXT = 5291,
- CapabilityShadingRateNV = 5291,
- CapabilityGroupNonUniformPartitionedNV = 5297,
- CapabilityShaderNonUniform = 5301,
- CapabilityShaderNonUniformEXT = 5301,
- CapabilityRuntimeDescriptorArray = 5302,
- CapabilityRuntimeDescriptorArrayEXT = 5302,
- CapabilityInputAttachmentArrayDynamicIndexing = 5303,
- CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
- CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
- CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
- CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
- CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
- CapabilityUniformBufferArrayNonUniformIndexing = 5306,
- CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
- CapabilitySampledImageArrayNonUniformIndexing = 5307,
- CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
- CapabilityStorageBufferArrayNonUniformIndexing = 5308,
- CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
- CapabilityStorageImageArrayNonUniformIndexing = 5309,
- CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
- CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
- CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
- CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
- CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
- CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
- CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
- CapabilityRayTracingNV = 5340,
- CapabilityRayTracingMotionBlurNV = 5341,
- CapabilityVulkanMemoryModel = 5345,
- CapabilityVulkanMemoryModelKHR = 5345,
- CapabilityVulkanMemoryModelDeviceScope = 5346,
- CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
- CapabilityPhysicalStorageBufferAddresses = 5347,
- CapabilityPhysicalStorageBufferAddressesEXT = 5347,
- CapabilityComputeDerivativeGroupLinearNV = 5350,
- CapabilityRayTracingProvisionalKHR = 5353,
- CapabilityCooperativeMatrixNV = 5357,
- CapabilityFragmentShaderSampleInterlockEXT = 5363,
- CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
- CapabilityShaderSMBuiltinsNV = 5373,
- CapabilityFragmentShaderPixelInterlockEXT = 5378,
- CapabilityDemoteToHelperInvocation = 5379,
- CapabilityDemoteToHelperInvocationEXT = 5379,
- CapabilityBindlessTextureNV = 5390,
- CapabilitySubgroupShuffleINTEL = 5568,
- CapabilitySubgroupBufferBlockIOINTEL = 5569,
- CapabilitySubgroupImageBlockIOINTEL = 5570,
- CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
- CapabilityRoundToInfinityINTEL = 5582,
- CapabilityFloatingPointModeINTEL = 5583,
- CapabilityIntegerFunctions2INTEL = 5584,
- CapabilityFunctionPointersINTEL = 5603,
- CapabilityIndirectReferencesINTEL = 5604,
- CapabilityAsmINTEL = 5606,
- CapabilityAtomicFloat32MinMaxEXT = 5612,
- CapabilityAtomicFloat64MinMaxEXT = 5613,
- CapabilityAtomicFloat16MinMaxEXT = 5616,
- CapabilityVectorComputeINTEL = 5617,
- CapabilityVectorAnyINTEL = 5619,
- CapabilityExpectAssumeKHR = 5629,
- CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
- CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
- CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
- CapabilityVariableLengthArrayINTEL = 5817,
- CapabilityFunctionFloatControlINTEL = 5821,
- CapabilityFPGAMemoryAttributesINTEL = 5824,
- CapabilityFPFastMathModeINTEL = 5837,
- CapabilityArbitraryPrecisionIntegersINTEL = 5844,
- CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
- CapabilityUnstructuredLoopControlsINTEL = 5886,
- CapabilityFPGALoopControlsINTEL = 5888,
- CapabilityKernelAttributesINTEL = 5892,
- CapabilityFPGAKernelAttributesINTEL = 5897,
- CapabilityFPGAMemoryAccessesINTEL = 5898,
- CapabilityFPGAClusterAttributesINTEL = 5904,
- CapabilityLoopFuseINTEL = 5906,
- CapabilityFPGABufferLocationINTEL = 5920,
- CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
- CapabilityUSMStorageClassesINTEL = 5935,
- CapabilityIOPipesINTEL = 5943,
- CapabilityBlockingPipesINTEL = 5945,
- CapabilityFPGARegINTEL = 5948,
- CapabilityDotProductInputAll = 6016,
- CapabilityDotProductInputAllKHR = 6016,
- CapabilityDotProductInput4x8Bit = 6017,
- CapabilityDotProductInput4x8BitKHR = 6017,
- CapabilityDotProductInput4x8BitPacked = 6018,
- CapabilityDotProductInput4x8BitPackedKHR = 6018,
- CapabilityDotProduct = 6019,
- CapabilityDotProductKHR = 6019,
- CapabilityRayCullMaskKHR = 6020,
- CapabilityBitInstructions = 6025,
- CapabilityAtomicFloat32AddEXT = 6033,
- CapabilityAtomicFloat64AddEXT = 6034,
- CapabilityLongConstantCompositeINTEL = 6089,
- CapabilityOptNoneINTEL = 6094,
- CapabilityAtomicFloat16AddEXT = 6095,
- CapabilityDebugInfoModuleINTEL = 6114,
- CapabilityMax = 0x7fffffff,
-};
-
-enum RayFlagsShift {
- RayFlagsOpaqueKHRShift = 0,
- RayFlagsNoOpaqueKHRShift = 1,
- RayFlagsTerminateOnFirstHitKHRShift = 2,
- RayFlagsSkipClosestHitShaderKHRShift = 3,
- RayFlagsCullBackFacingTrianglesKHRShift = 4,
- RayFlagsCullFrontFacingTrianglesKHRShift = 5,
- RayFlagsCullOpaqueKHRShift = 6,
- RayFlagsCullNoOpaqueKHRShift = 7,
- RayFlagsSkipTrianglesKHRShift = 8,
- RayFlagsSkipAABBsKHRShift = 9,
- RayFlagsMax = 0x7fffffff,
-};
-
-enum RayFlagsMask {
- RayFlagsMaskNone = 0,
- RayFlagsOpaqueKHRMask = 0x00000001,
- RayFlagsNoOpaqueKHRMask = 0x00000002,
- RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
- RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
- RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
- RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
- RayFlagsCullOpaqueKHRMask = 0x00000040,
- RayFlagsCullNoOpaqueKHRMask = 0x00000080,
- RayFlagsSkipTrianglesKHRMask = 0x00000100,
- RayFlagsSkipAABBsKHRMask = 0x00000200,
-};
-
-enum RayQueryIntersection {
- RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
- RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
- RayQueryIntersectionMax = 0x7fffffff,
-};
-
-enum RayQueryCommittedIntersectionType {
- RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
- RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
- RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
- RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
-};
-
-enum RayQueryCandidateIntersectionType {
- RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
- RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
- RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
-};
-
-enum FragmentShadingRateShift {
- FragmentShadingRateVertical2PixelsShift = 0,
- FragmentShadingRateVertical4PixelsShift = 1,
- FragmentShadingRateHorizontal2PixelsShift = 2,
- FragmentShadingRateHorizontal4PixelsShift = 3,
- FragmentShadingRateMax = 0x7fffffff,
-};
-
-enum FragmentShadingRateMask {
- FragmentShadingRateMaskNone = 0,
- FragmentShadingRateVertical2PixelsMask = 0x00000001,
- FragmentShadingRateVertical4PixelsMask = 0x00000002,
- FragmentShadingRateHorizontal2PixelsMask = 0x00000004,
- FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
-};
-
-enum FPDenormMode {
- FPDenormModePreserve = 0,
- FPDenormModeFlushToZero = 1,
- FPDenormModeMax = 0x7fffffff,
-};
-
-enum FPOperationMode {
- FPOperationModeIEEE = 0,
- FPOperationModeALT = 1,
- FPOperationModeMax = 0x7fffffff,
-};
-
-enum QuantizationModes {
- QuantizationModesTRN = 0,
- QuantizationModesTRN_ZERO = 1,
- QuantizationModesRND = 2,
- QuantizationModesRND_ZERO = 3,
- QuantizationModesRND_INF = 4,
- QuantizationModesRND_MIN_INF = 5,
- QuantizationModesRND_CONV = 6,
- QuantizationModesRND_CONV_ODD = 7,
- QuantizationModesMax = 0x7fffffff,
-};
-
-enum OverflowModes {
- OverflowModesWRAP = 0,
- OverflowModesSAT = 1,
- OverflowModesSAT_ZERO = 2,
- OverflowModesSAT_SYM = 3,
- OverflowModesMax = 0x7fffffff,
-};
-
-enum PackedVectorFormat {
- PackedVectorFormatPackedVectorFormat4x8Bit = 0,
- PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
- PackedVectorFormatMax = 0x7fffffff,
-};
-
-enum Op {
- OpNop = 0,
- OpUndef = 1,
- OpSourceContinued = 2,
- OpSource = 3,
- OpSourceExtension = 4,
- OpName = 5,
- OpMemberName = 6,
- OpString = 7,
- OpLine = 8,
- OpExtension = 10,
- OpExtInstImport = 11,
- OpExtInst = 12,
- OpMemoryModel = 14,
- OpEntryPoint = 15,
- OpExecutionMode = 16,
- OpCapability = 17,
- OpTypeVoid = 19,
- OpTypeBool = 20,
- OpTypeInt = 21,
- OpTypeFloat = 22,
- OpTypeVector = 23,
- OpTypeMatrix = 24,
- OpTypeImage = 25,
- OpTypeSampler = 26,
- OpTypeSampledImage = 27,
- OpTypeArray = 28,
- OpTypeRuntimeArray = 29,
- OpTypeStruct = 30,
- OpTypeOpaque = 31,
- OpTypePointer = 32,
- OpTypeFunction = 33,
- OpTypeEvent = 34,
- OpTypeDeviceEvent = 35,
- OpTypeReserveId = 36,
- OpTypeQueue = 37,
- OpTypePipe = 38,
- OpTypeForwardPointer = 39,
- OpConstantTrue = 41,
- OpConstantFalse = 42,
- OpConstant = 43,
- OpConstantComposite = 44,
- OpConstantSampler = 45,
- OpConstantNull = 46,
- OpSpecConstantTrue = 48,
- OpSpecConstantFalse = 49,
- OpSpecConstant = 50,
- OpSpecConstantComposite = 51,
- OpSpecConstantOp = 52,
- OpFunction = 54,
- OpFunctionParameter = 55,
- OpFunctionEnd = 56,
- OpFunctionCall = 57,
- OpVariable = 59,
- OpImageTexelPointer = 60,
- OpLoad = 61,
- OpStore = 62,
- OpCopyMemory = 63,
- OpCopyMemorySized = 64,
- OpAccessChain = 65,
- OpInBoundsAccessChain = 66,
- OpPtrAccessChain = 67,
- OpArrayLength = 68,
- OpGenericPtrMemSemantics = 69,
- OpInBoundsPtrAccessChain = 70,
- OpDecorate = 71,
- OpMemberDecorate = 72,
- OpDecorationGroup = 73,
- OpGroupDecorate = 74,
- OpGroupMemberDecorate = 75,
- OpVectorExtractDynamic = 77,
- OpVectorInsertDynamic = 78,
- OpVectorShuffle = 79,
- OpCompositeConstruct = 80,
- OpCompositeExtract = 81,
- OpCompositeInsert = 82,
- OpCopyObject = 83,
- OpTranspose = 84,
- OpSampledImage = 86,
- OpImageSampleImplicitLod = 87,
- OpImageSampleExplicitLod = 88,
- OpImageSampleDrefImplicitLod = 89,
- OpImageSampleDrefExplicitLod = 90,
- OpImageSampleProjImplicitLod = 91,
- OpImageSampleProjExplicitLod = 92,
- OpImageSampleProjDrefImplicitLod = 93,
- OpImageSampleProjDrefExplicitLod = 94,
- OpImageFetch = 95,
- OpImageGather = 96,
- OpImageDrefGather = 97,
- OpImageRead = 98,
- OpImageWrite = 99,
- OpImage = 100,
- OpImageQueryFormat = 101,
- OpImageQueryOrder = 102,
- OpImageQuerySizeLod = 103,
- OpImageQuerySize = 104,
- OpImageQueryLod = 105,
- OpImageQueryLevels = 106,
- OpImageQuerySamples = 107,
- OpConvertFToU = 109,
- OpConvertFToS = 110,
- OpConvertSToF = 111,
- OpConvertUToF = 112,
- OpUConvert = 113,
- OpSConvert = 114,
- OpFConvert = 115,
- OpQuantizeToF16 = 116,
- OpConvertPtrToU = 117,
- OpSatConvertSToU = 118,
- OpSatConvertUToS = 119,
- OpConvertUToPtr = 120,
- OpPtrCastToGeneric = 121,
- OpGenericCastToPtr = 122,
- OpGenericCastToPtrExplicit = 123,
- OpBitcast = 124,
- OpSNegate = 126,
- OpFNegate = 127,
- OpIAdd = 128,
- OpFAdd = 129,
- OpISub = 130,
- OpFSub = 131,
- OpIMul = 132,
- OpFMul = 133,
- OpUDiv = 134,
- OpSDiv = 135,
- OpFDiv = 136,
- OpUMod = 137,
- OpSRem = 138,
- OpSMod = 139,
- OpFRem = 140,
- OpFMod = 141,
- OpVectorTimesScalar = 142,
- OpMatrixTimesScalar = 143,
- OpVectorTimesMatrix = 144,
- OpMatrixTimesVector = 145,
- OpMatrixTimesMatrix = 146,
- OpOuterProduct = 147,
- OpDot = 148,
- OpIAddCarry = 149,
- OpISubBorrow = 150,
- OpUMulExtended = 151,
- OpSMulExtended = 152,
- OpAny = 154,
- OpAll = 155,
- OpIsNan = 156,
- OpIsInf = 157,
- OpIsFinite = 158,
- OpIsNormal = 159,
- OpSignBitSet = 160,
- OpLessOrGreater = 161,
- OpOrdered = 162,
- OpUnordered = 163,
- OpLogicalEqual = 164,
- OpLogicalNotEqual = 165,
- OpLogicalOr = 166,
- OpLogicalAnd = 167,
- OpLogicalNot = 168,
- OpSelect = 169,
- OpIEqual = 170,
- OpINotEqual = 171,
- OpUGreaterThan = 172,
- OpSGreaterThan = 173,
- OpUGreaterThanEqual = 174,
- OpSGreaterThanEqual = 175,
- OpULessThan = 176,
- OpSLessThan = 177,
- OpULessThanEqual = 178,
- OpSLessThanEqual = 179,
- OpFOrdEqual = 180,
- OpFUnordEqual = 181,
- OpFOrdNotEqual = 182,
- OpFUnordNotEqual = 183,
- OpFOrdLessThan = 184,
- OpFUnordLessThan = 185,
- OpFOrdGreaterThan = 186,
- OpFUnordGreaterThan = 187,
- OpFOrdLessThanEqual = 188,
- OpFUnordLessThanEqual = 189,
- OpFOrdGreaterThanEqual = 190,
- OpFUnordGreaterThanEqual = 191,
- OpShiftRightLogical = 194,
- OpShiftRightArithmetic = 195,
- OpShiftLeftLogical = 196,
- OpBitwiseOr = 197,
- OpBitwiseXor = 198,
- OpBitwiseAnd = 199,
- OpNot = 200,
- OpBitFieldInsert = 201,
- OpBitFieldSExtract = 202,
- OpBitFieldUExtract = 203,
- OpBitReverse = 204,
- OpBitCount = 205,
- OpDPdx = 207,
- OpDPdy = 208,
- OpFwidth = 209,
- OpDPdxFine = 210,
- OpDPdyFine = 211,
- OpFwidthFine = 212,
- OpDPdxCoarse = 213,
- OpDPdyCoarse = 214,
- OpFwidthCoarse = 215,
- OpEmitVertex = 218,
- OpEndPrimitive = 219,
- OpEmitStreamVertex = 220,
- OpEndStreamPrimitive = 221,
- OpControlBarrier = 224,
- OpMemoryBarrier = 225,
- OpAtomicLoad = 227,
- OpAtomicStore = 228,
- OpAtomicExchange = 229,
- OpAtomicCompareExchange = 230,
- OpAtomicCompareExchangeWeak = 231,
- OpAtomicIIncrement = 232,
- OpAtomicIDecrement = 233,
- OpAtomicIAdd = 234,
- OpAtomicISub = 235,
- OpAtomicSMin = 236,
- OpAtomicUMin = 237,
- OpAtomicSMax = 238,
- OpAtomicUMax = 239,
- OpAtomicAnd = 240,
- OpAtomicOr = 241,
- OpAtomicXor = 242,
- OpPhi = 245,
- OpLoopMerge = 246,
- OpSelectionMerge = 247,
- OpLabel = 248,
- OpBranch = 249,
- OpBranchConditional = 250,
- OpSwitch = 251,
- OpKill = 252,
- OpReturn = 253,
- OpReturnValue = 254,
- OpUnreachable = 255,
- OpLifetimeStart = 256,
- OpLifetimeStop = 257,
- OpGroupAsyncCopy = 259,
- OpGroupWaitEvents = 260,
- OpGroupAll = 261,
- OpGroupAny = 262,
- OpGroupBroadcast = 263,
- OpGroupIAdd = 264,
- OpGroupFAdd = 265,
- OpGroupFMin = 266,
- OpGroupUMin = 267,
- OpGroupSMin = 268,
- OpGroupFMax = 269,
- OpGroupUMax = 270,
- OpGroupSMax = 271,
- OpReadPipe = 274,
- OpWritePipe = 275,
- OpReservedReadPipe = 276,
- OpReservedWritePipe = 277,
- OpReserveReadPipePackets = 278,
- OpReserveWritePipePackets = 279,
- OpCommitReadPipe = 280,
- OpCommitWritePipe = 281,
- OpIsValidReserveId = 282,
- OpGetNumPipePackets = 283,
- OpGetMaxPipePackets = 284,
- OpGroupReserveReadPipePackets = 285,
- OpGroupReserveWritePipePackets = 286,
- OpGroupCommitReadPipe = 287,
- OpGroupCommitWritePipe = 288,
- OpEnqueueMarker = 291,
- OpEnqueueKernel = 292,
- OpGetKernelNDrangeSubGroupCount = 293,
- OpGetKernelNDrangeMaxSubGroupSize = 294,
- OpGetKernelWorkGroupSize = 295,
- OpGetKernelPreferredWorkGroupSizeMultiple = 296,
- OpRetainEvent = 297,
- OpReleaseEvent = 298,
- OpCreateUserEvent = 299,
- OpIsValidEvent = 300,
- OpSetUserEventStatus = 301,
- OpCaptureEventProfilingInfo = 302,
- OpGetDefaultQueue = 303,
- OpBuildNDRange = 304,
- OpImageSparseSampleImplicitLod = 305,
- OpImageSparseSampleExplicitLod = 306,
- OpImageSparseSampleDrefImplicitLod = 307,
- OpImageSparseSampleDrefExplicitLod = 308,
- OpImageSparseSampleProjImplicitLod = 309,
- OpImageSparseSampleProjExplicitLod = 310,
- OpImageSparseSampleProjDrefImplicitLod = 311,
- OpImageSparseSampleProjDrefExplicitLod = 312,
- OpImageSparseFetch = 313,
- OpImageSparseGather = 314,
- OpImageSparseDrefGather = 315,
- OpImageSparseTexelsResident = 316,
- OpNoLine = 317,
- OpAtomicFlagTestAndSet = 318,
- OpAtomicFlagClear = 319,
- OpImageSparseRead = 320,
- OpSizeOf = 321,
- OpTypePipeStorage = 322,
- OpConstantPipeStorage = 323,
- OpCreatePipeFromPipeStorage = 324,
- OpGetKernelLocalSizeForSubgroupCount = 325,
- OpGetKernelMaxNumSubgroups = 326,
- OpTypeNamedBarrier = 327,
- OpNamedBarrierInitialize = 328,
- OpMemoryNamedBarrier = 329,
- OpModuleProcessed = 330,
- OpExecutionModeId = 331,
- OpDecorateId = 332,
- OpGroupNonUniformElect = 333,
- OpGroupNonUniformAll = 334,
- OpGroupNonUniformAny = 335,
- OpGroupNonUniformAllEqual = 336,
- OpGroupNonUniformBroadcast = 337,
- OpGroupNonUniformBroadcastFirst = 338,
- OpGroupNonUniformBallot = 339,
- OpGroupNonUniformInverseBallot = 340,
- OpGroupNonUniformBallotBitExtract = 341,
- OpGroupNonUniformBallotBitCount = 342,
- OpGroupNonUniformBallotFindLSB = 343,
- OpGroupNonUniformBallotFindMSB = 344,
- OpGroupNonUniformShuffle = 345,
- OpGroupNonUniformShuffleXor = 346,
- OpGroupNonUniformShuffleUp = 347,
- OpGroupNonUniformShuffleDown = 348,
- OpGroupNonUniformIAdd = 349,
- OpGroupNonUniformFAdd = 350,
- OpGroupNonUniformIMul = 351,
- OpGroupNonUniformFMul = 352,
- OpGroupNonUniformSMin = 353,
- OpGroupNonUniformUMin = 354,
- OpGroupNonUniformFMin = 355,
- OpGroupNonUniformSMax = 356,
- OpGroupNonUniformUMax = 357,
- OpGroupNonUniformFMax = 358,
- OpGroupNonUniformBitwiseAnd = 359,
- OpGroupNonUniformBitwiseOr = 360,
- OpGroupNonUniformBitwiseXor = 361,
- OpGroupNonUniformLogicalAnd = 362,
- OpGroupNonUniformLogicalOr = 363,
- OpGroupNonUniformLogicalXor = 364,
- OpGroupNonUniformQuadBroadcast = 365,
- OpGroupNonUniformQuadSwap = 366,
- OpCopyLogical = 400,
- OpPtrEqual = 401,
- OpPtrNotEqual = 402,
- OpPtrDiff = 403,
- OpTerminateInvocation = 4416,
- OpSubgroupBallotKHR = 4421,
- OpSubgroupFirstInvocationKHR = 4422,
- OpSubgroupAllKHR = 4428,
- OpSubgroupAnyKHR = 4429,
- OpSubgroupAllEqualKHR = 4430,
- OpSubgroupReadInvocationKHR = 4432,
- OpTraceRayKHR = 4445,
- OpExecuteCallableKHR = 4446,
- OpConvertUToAccelerationStructureKHR = 4447,
- OpIgnoreIntersectionKHR = 4448,
- OpTerminateRayKHR = 4449,
- OpSDot = 4450,
- OpSDotKHR = 4450,
- OpUDot = 4451,
- OpUDotKHR = 4451,
- OpSUDot = 4452,
- OpSUDotKHR = 4452,
- OpSDotAccSat = 4453,
- OpSDotAccSatKHR = 4453,
- OpUDotAccSat = 4454,
- OpUDotAccSatKHR = 4454,
- OpSUDotAccSat = 4455,
- OpSUDotAccSatKHR = 4455,
- OpTypeRayQueryKHR = 4472,
- OpRayQueryInitializeKHR = 4473,
- OpRayQueryTerminateKHR = 4474,
- OpRayQueryGenerateIntersectionKHR = 4475,
- OpRayQueryConfirmIntersectionKHR = 4476,
- OpRayQueryProceedKHR = 4477,
- OpRayQueryGetIntersectionTypeKHR = 4479,
- OpGroupIAddNonUniformAMD = 5000,
- OpGroupFAddNonUniformAMD = 5001,
- OpGroupFMinNonUniformAMD = 5002,
- OpGroupUMinNonUniformAMD = 5003,
- OpGroupSMinNonUniformAMD = 5004,
- OpGroupFMaxNonUniformAMD = 5005,
- OpGroupUMaxNonUniformAMD = 5006,
- OpGroupSMaxNonUniformAMD = 5007,
- OpFragmentMaskFetchAMD = 5011,
- OpFragmentFetchAMD = 5012,
- OpReadClockKHR = 5056,
- OpImageSampleFootprintNV = 5283,
- OpEmitMeshTasksEXT = 5294,
- OpSetMeshOutputsEXT = 5295,
- OpGroupNonUniformPartitionNV = 5296,
- OpWritePackedPrimitiveIndices4x8NV = 5299,
- OpReportIntersectionKHR = 5334,
- OpReportIntersectionNV = 5334,
- OpIgnoreIntersectionNV = 5335,
- OpTerminateRayNV = 5336,
- OpTraceNV = 5337,
- OpTraceMotionNV = 5338,
- OpTraceRayMotionNV = 5339,
- OpTypeAccelerationStructureKHR = 5341,
- OpTypeAccelerationStructureNV = 5341,
- OpExecuteCallableNV = 5344,
- OpTypeCooperativeMatrixNV = 5358,
- OpCooperativeMatrixLoadNV = 5359,
- OpCooperativeMatrixStoreNV = 5360,
- OpCooperativeMatrixMulAddNV = 5361,
- OpCooperativeMatrixLengthNV = 5362,
- OpBeginInvocationInterlockEXT = 5364,
- OpEndInvocationInterlockEXT = 5365,
- OpDemoteToHelperInvocation = 5380,
- OpDemoteToHelperInvocationEXT = 5380,
- OpIsHelperInvocationEXT = 5381,
- OpConvertUToImageNV = 5391,
- OpConvertUToSamplerNV = 5392,
- OpConvertImageToUNV = 5393,
- OpConvertSamplerToUNV = 5394,
- OpConvertUToSampledImageNV = 5395,
- OpConvertSampledImageToUNV = 5396,
- OpSamplerImageAddressingModeNV = 5397,
- OpSubgroupShuffleINTEL = 5571,
- OpSubgroupShuffleDownINTEL = 5572,
- OpSubgroupShuffleUpINTEL = 5573,
- OpSubgroupShuffleXorINTEL = 5574,
- OpSubgroupBlockReadINTEL = 5575,
- OpSubgroupBlockWriteINTEL = 5576,
- OpSubgroupImageBlockReadINTEL = 5577,
- OpSubgroupImageBlockWriteINTEL = 5578,
- OpSubgroupImageMediaBlockReadINTEL = 5580,
- OpSubgroupImageMediaBlockWriteINTEL = 5581,
- OpUCountLeadingZerosINTEL = 5585,
- OpUCountTrailingZerosINTEL = 5586,
- OpAbsISubINTEL = 5587,
- OpAbsUSubINTEL = 5588,
- OpIAddSatINTEL = 5589,
- OpUAddSatINTEL = 5590,
- OpIAverageINTEL = 5591,
- OpUAverageINTEL = 5592,
- OpIAverageRoundedINTEL = 5593,
- OpUAverageRoundedINTEL = 5594,
- OpISubSatINTEL = 5595,
- OpUSubSatINTEL = 5596,
- OpIMul32x16INTEL = 5597,
- OpUMul32x16INTEL = 5598,
- OpConstantFunctionPointerINTEL = 5600,
- OpFunctionPointerCallINTEL = 5601,
- OpAsmTargetINTEL = 5609,
- OpAsmINTEL = 5610,
- OpAsmCallINTEL = 5611,
- OpAtomicFMinEXT = 5614,
- OpAtomicFMaxEXT = 5615,
- OpAssumeTrueKHR = 5630,
- OpExpectKHR = 5631,
- OpDecorateString = 5632,
- OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateString = 5633,
- OpMemberDecorateStringGOOGLE = 5633,
- OpVmeImageINTEL = 5699,
- OpTypeVmeImageINTEL = 5700,
- OpTypeAvcImePayloadINTEL = 5701,
- OpTypeAvcRefPayloadINTEL = 5702,
- OpTypeAvcSicPayloadINTEL = 5703,
- OpTypeAvcMcePayloadINTEL = 5704,
- OpTypeAvcMceResultINTEL = 5705,
- OpTypeAvcImeResultINTEL = 5706,
- OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
- OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
- OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
- OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
- OpTypeAvcRefResultINTEL = 5711,
- OpTypeAvcSicResultINTEL = 5712,
- OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
- OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
- OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
- OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
- OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
- OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
- OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
- OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
- OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
- OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
- OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
- OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
- OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
- OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
- OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
- OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
- OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
- OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
- OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
- OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
- OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
- OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
- OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
- OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
- OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
- OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
- OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
- OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
- OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
- OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
- OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
- OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
- OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
- OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
- OpSubgroupAvcImeInitializeINTEL = 5747,
- OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
- OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
- OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
- OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
- OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
- OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
- OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
- OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
- OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
- OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
- OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
- OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
- OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
- OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
- OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
- OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
- OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
- OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
- OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
- OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
- OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
- OpSubgroupAvcFmeInitializeINTEL = 5781,
- OpSubgroupAvcBmeInitializeINTEL = 5782,
- OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
- OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
- OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
- OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
- OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
- OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
- OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
- OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
- OpSubgroupAvcSicInitializeINTEL = 5791,
- OpSubgroupAvcSicConfigureSkcINTEL = 5792,
- OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
- OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
- OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
- OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
- OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
- OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
- OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
- OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
- OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
- OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
- OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
- OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
- OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
- OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
- OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
- OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
- OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
- OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
- OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
- OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
- OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
- OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
- OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
- OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
- OpVariableLengthArrayINTEL = 5818,
- OpSaveMemoryINTEL = 5819,
- OpRestoreMemoryINTEL = 5820,
- OpArbitraryFloatSinCosPiINTEL = 5840,
- OpArbitraryFloatCastINTEL = 5841,
- OpArbitraryFloatCastFromIntINTEL = 5842,
- OpArbitraryFloatCastToIntINTEL = 5843,
- OpArbitraryFloatAddINTEL = 5846,
- OpArbitraryFloatSubINTEL = 5847,
- OpArbitraryFloatMulINTEL = 5848,
- OpArbitraryFloatDivINTEL = 5849,
- OpArbitraryFloatGTINTEL = 5850,
- OpArbitraryFloatGEINTEL = 5851,
- OpArbitraryFloatLTINTEL = 5852,
- OpArbitraryFloatLEINTEL = 5853,
- OpArbitraryFloatEQINTEL = 5854,
- OpArbitraryFloatRecipINTEL = 5855,
- OpArbitraryFloatRSqrtINTEL = 5856,
- OpArbitraryFloatCbrtINTEL = 5857,
- OpArbitraryFloatHypotINTEL = 5858,
- OpArbitraryFloatSqrtINTEL = 5859,
- OpArbitraryFloatLogINTEL = 5860,
- OpArbitraryFloatLog2INTEL = 5861,
- OpArbitraryFloatLog10INTEL = 5862,
- OpArbitraryFloatLog1pINTEL = 5863,
- OpArbitraryFloatExpINTEL = 5864,
- OpArbitraryFloatExp2INTEL = 5865,
- OpArbitraryFloatExp10INTEL = 5866,
- OpArbitraryFloatExpm1INTEL = 5867,
- OpArbitraryFloatSinINTEL = 5868,
- OpArbitraryFloatCosINTEL = 5869,
- OpArbitraryFloatSinCosINTEL = 5870,
- OpArbitraryFloatSinPiINTEL = 5871,
- OpArbitraryFloatCosPiINTEL = 5872,
- OpArbitraryFloatASinINTEL = 5873,
- OpArbitraryFloatASinPiINTEL = 5874,
- OpArbitraryFloatACosINTEL = 5875,
- OpArbitraryFloatACosPiINTEL = 5876,
- OpArbitraryFloatATanINTEL = 5877,
- OpArbitraryFloatATanPiINTEL = 5878,
- OpArbitraryFloatATan2INTEL = 5879,
- OpArbitraryFloatPowINTEL = 5880,
- OpArbitraryFloatPowRINTEL = 5881,
- OpArbitraryFloatPowNINTEL = 5882,
- OpLoopControlINTEL = 5887,
- OpFixedSqrtINTEL = 5923,
- OpFixedRecipINTEL = 5924,
- OpFixedRsqrtINTEL = 5925,
- OpFixedSinINTEL = 5926,
- OpFixedCosINTEL = 5927,
- OpFixedSinCosINTEL = 5928,
- OpFixedSinPiINTEL = 5929,
- OpFixedCosPiINTEL = 5930,
- OpFixedSinCosPiINTEL = 5931,
- OpFixedLogINTEL = 5932,
- OpFixedExpINTEL = 5933,
- OpPtrCastToCrossWorkgroupINTEL = 5934,
- OpCrossWorkgroupCastToPtrINTEL = 5938,
- OpReadPipeBlockingINTEL = 5946,
- OpWritePipeBlockingINTEL = 5947,
- OpFPGARegINTEL = 5949,
- OpRayQueryGetRayTMinKHR = 6016,
- OpRayQueryGetRayFlagsKHR = 6017,
- OpRayQueryGetIntersectionTKHR = 6018,
- OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
- OpRayQueryGetIntersectionInstanceIdKHR = 6020,
- OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
- OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
- OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
- OpRayQueryGetIntersectionBarycentricsKHR = 6024,
- OpRayQueryGetIntersectionFrontFaceKHR = 6025,
- OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
- OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
- OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
- OpRayQueryGetWorldRayDirectionKHR = 6029,
- OpRayQueryGetWorldRayOriginKHR = 6030,
- OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
- OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
- OpAtomicFAddEXT = 6035,
- OpTypeBufferSurfaceINTEL = 6086,
- OpTypeStructContinuedINTEL = 6090,
- OpConstantCompositeContinuedINTEL = 6091,
- OpSpecConstantCompositeContinuedINTEL = 6092,
- OpMax = 0x7fffffff,
-};
-
-#ifdef SPV_ENABLE_UTILITY_CODE
-inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
- *hasResult = *hasResultType = false;
- switch (opcode) {
- default: /* unknown opcode */ break;
- case OpNop: *hasResult = false; *hasResultType = false; break;
- case OpUndef: *hasResult = true; *hasResultType = true; break;
- case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
- case OpSource: *hasResult = false; *hasResultType = false; break;
- case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
- case OpName: *hasResult = false; *hasResultType = false; break;
- case OpMemberName: *hasResult = false; *hasResultType = false; break;
- case OpString: *hasResult = true; *hasResultType = false; break;
- case OpLine: *hasResult = false; *hasResultType = false; break;
- case OpExtension: *hasResult = false; *hasResultType = false; break;
- case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
- case OpExtInst: *hasResult = true; *hasResultType = true; break;
- case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
- case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
- case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
- case OpCapability: *hasResult = false; *hasResultType = false; break;
- case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
- case OpTypeBool: *hasResult = true; *hasResultType = false; break;
- case OpTypeInt: *hasResult = true; *hasResultType = false; break;
- case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
- case OpTypeVector: *hasResult = true; *hasResultType = false; break;
- case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
- case OpTypeImage: *hasResult = true; *hasResultType = false; break;
- case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
- case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
- case OpTypeArray: *hasResult = true; *hasResultType = false; break;
- case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
- case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
- case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
- case OpTypePointer: *hasResult = true; *hasResultType = false; break;
- case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
- case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
- case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
- case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
- case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
- case OpTypePipe: *hasResult = true; *hasResultType = false; break;
- case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
- case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
- case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
- case OpConstant: *hasResult = true; *hasResultType = true; break;
- case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
- case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
- case OpConstantNull: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
- case OpFunction: *hasResult = true; *hasResultType = true; break;
- case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
- case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
- case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
- case OpVariable: *hasResult = true; *hasResultType = true; break;
- case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
- case OpLoad: *hasResult = true; *hasResultType = true; break;
- case OpStore: *hasResult = false; *hasResultType = false; break;
- case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
- case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
- case OpAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpArrayLength: *hasResult = true; *hasResultType = true; break;
- case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
- case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpDecorate: *hasResult = false; *hasResultType = false; break;
- case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
- case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
- case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
- case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
- case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
- case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
- case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
- case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
- case OpCopyObject: *hasResult = true; *hasResultType = true; break;
- case OpTranspose: *hasResult = true; *hasResultType = true; break;
- case OpSampledImage: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageFetch: *hasResult = true; *hasResultType = true; break;
- case OpImageGather: *hasResult = true; *hasResultType = true; break;
- case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
- case OpImageRead: *hasResult = true; *hasResultType = true; break;
- case OpImageWrite: *hasResult = false; *hasResultType = false; break;
- case OpImage: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
- case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
- case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
- case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
- case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
- case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
- case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
- case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
- case OpUConvert: *hasResult = true; *hasResultType = true; break;
- case OpSConvert: *hasResult = true; *hasResultType = true; break;
- case OpFConvert: *hasResult = true; *hasResultType = true; break;
- case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
- case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
- case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
- case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
- case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
- case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
- case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
- case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
- case OpBitcast: *hasResult = true; *hasResultType = true; break;
- case OpSNegate: *hasResult = true; *hasResultType = true; break;
- case OpFNegate: *hasResult = true; *hasResultType = true; break;
- case OpIAdd: *hasResult = true; *hasResultType = true; break;
- case OpFAdd: *hasResult = true; *hasResultType = true; break;
- case OpISub: *hasResult = true; *hasResultType = true; break;
- case OpFSub: *hasResult = true; *hasResultType = true; break;
- case OpIMul: *hasResult = true; *hasResultType = true; break;
- case OpFMul: *hasResult = true; *hasResultType = true; break;
- case OpUDiv: *hasResult = true; *hasResultType = true; break;
- case OpSDiv: *hasResult = true; *hasResultType = true; break;
- case OpFDiv: *hasResult = true; *hasResultType = true; break;
- case OpUMod: *hasResult = true; *hasResultType = true; break;
- case OpSRem: *hasResult = true; *hasResultType = true; break;
- case OpSMod: *hasResult = true; *hasResultType = true; break;
- case OpFRem: *hasResult = true; *hasResultType = true; break;
- case OpFMod: *hasResult = true; *hasResultType = true; break;
- case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
- case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
- case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
- case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
- case OpDot: *hasResult = true; *hasResultType = true; break;
- case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
- case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
- case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
- case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
- case OpAny: *hasResult = true; *hasResultType = true; break;
- case OpAll: *hasResult = true; *hasResultType = true; break;
- case OpIsNan: *hasResult = true; *hasResultType = true; break;
- case OpIsInf: *hasResult = true; *hasResultType = true; break;
- case OpIsFinite: *hasResult = true; *hasResultType = true; break;
- case OpIsNormal: *hasResult = true; *hasResultType = true; break;
- case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
- case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
- case OpOrdered: *hasResult = true; *hasResultType = true; break;
- case OpUnordered: *hasResult = true; *hasResultType = true; break;
- case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
- case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
- case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
- case OpSelect: *hasResult = true; *hasResultType = true; break;
- case OpIEqual: *hasResult = true; *hasResultType = true; break;
- case OpINotEqual: *hasResult = true; *hasResultType = true; break;
- case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpULessThan: *hasResult = true; *hasResultType = true; break;
- case OpSLessThan: *hasResult = true; *hasResultType = true; break;
- case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
- case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
- case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
- case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
- case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
- case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case OpNot: *hasResult = true; *hasResultType = true; break;
- case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
- case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
- case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
- case OpBitReverse: *hasResult = true; *hasResultType = true; break;
- case OpBitCount: *hasResult = true; *hasResultType = true; break;
- case OpDPdx: *hasResult = true; *hasResultType = true; break;
- case OpDPdy: *hasResult = true; *hasResultType = true; break;
- case OpFwidth: *hasResult = true; *hasResultType = true; break;
- case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
- case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
- case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
- case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
- case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
- case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
- case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
- case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
- case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
- case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
- case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
- case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
- case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
- case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
- case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
- case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
- case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
- case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
- case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
- case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
- case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
- case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
- case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
- case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
- case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
- case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
- case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
- case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
- case OpPhi: *hasResult = true; *hasResultType = true; break;
- case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
- case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
- case OpLabel: *hasResult = true; *hasResultType = false; break;
- case OpBranch: *hasResult = false; *hasResultType = false; break;
- case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
- case OpSwitch: *hasResult = false; *hasResultType = false; break;
- case OpKill: *hasResult = false; *hasResultType = false; break;
- case OpReturn: *hasResult = false; *hasResultType = false; break;
- case OpReturnValue: *hasResult = false; *hasResultType = false; break;
- case OpUnreachable: *hasResult = false; *hasResultType = false; break;
- case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
- case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
- case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
- case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
- case OpGroupAll: *hasResult = true; *hasResultType = true; break;
- case OpGroupAny: *hasResult = true; *hasResultType = true; break;
- case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
- case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
- case OpReadPipe: *hasResult = true; *hasResultType = true; break;
- case OpWritePipe: *hasResult = true; *hasResultType = true; break;
- case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
- case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
- case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
- case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
- case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
- case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
- case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
- case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
- case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
- case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
- case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
- case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
- case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
- case OpNoLine: *hasResult = false; *hasResultType = false; break;
- case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
- case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
- case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
- case OpSizeOf: *hasResult = true; *hasResultType = true; break;
- case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
- case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
- case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
- case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
- case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
- case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
- case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
- case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
- case OpDecorateId: *hasResult = false; *hasResultType = false; break;
- case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
- case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
- case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
- case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
- case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
- case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
- case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
- case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
- case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
- case OpSDot: *hasResult = true; *hasResultType = true; break;
- case OpUDot: *hasResult = true; *hasResultType = true; break;
- case OpSUDot: *hasResult = true; *hasResultType = true; break;
- case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
- case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
- case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
- case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
- case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
- case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
- case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
- case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
- case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
- case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
- case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
- case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
- case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
- case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
- case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
- case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
- case OpTraceNV: *hasResult = false; *hasResultType = false; break;
- case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
- case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
- case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
- case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
- case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
- case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
- case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
- case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
- case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
- case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
- case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
- case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
- case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
- case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
- case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
- case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
- case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
- case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
- case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
- case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
- case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
- case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
- case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
- case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
- case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
- case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
- case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
- case OpExpectKHR: *hasResult = true; *hasResultType = true; break;
- case OpDecorateString: *hasResult = false; *hasResultType = false; break;
- case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
- case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
- case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
- case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
- case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
- case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
- case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
- case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
- case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
- case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
- case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
- case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
- case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
- case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
- case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
- case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
- }
-}
-#endif /* SPV_ENABLE_UTILITY_CODE */
-
-// Overload operator| for mask bit combining
-
-inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
-inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
-inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
-inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
-inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
-inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
-inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
-inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
-inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
-inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
-
-} // end namespace spv
-
-#endif // #ifndef spirv_HPP
+// Copyright (c) 2014-2020 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.
+//
+// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
+// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
+// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
+//
+// 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.
+
+// This header is automatically generated by the same tool that creates
+// the Binary Section of the SPIR-V specification.
+
+// Enumeration tokens for SPIR-V, in various styles:
+// C, C++, C++11, JSON, Lua, Python, C#, D
+//
+// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
+// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
+// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
+// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
+// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
+// - C# will use enum classes in the Specification class located in the "Spv" namespace,
+// e.g.: Spv.Specification.SourceLanguage.GLSL
+// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+//
+// Some tokens act like mask values, which can be OR'd together,
+// while others are mutually exclusive. The mask-like ones have
+// "Mask" in their name, and a parallel enum that has the shift
+// amount (1 << x) for each corresponding enumerant.
+
+#ifndef spirv_HPP
+#define spirv_HPP
+
+namespace spv {
+
+typedef unsigned int Id;
+
+#define SPV_VERSION 0x10600
+#define SPV_REVISION 1
+
+static const unsigned int MagicNumber = 0x07230203;
+static const unsigned int Version = 0x00010600;
+static const unsigned int Revision = 1;
+static const unsigned int OpCodeMask = 0xffff;
+static const unsigned int WordCountShift = 16;
+
+enum SourceLanguage {
+ SourceLanguageUnknown = 0,
+ SourceLanguageESSL = 1,
+ SourceLanguageGLSL = 2,
+ SourceLanguageOpenCL_C = 3,
+ SourceLanguageOpenCL_CPP = 4,
+ SourceLanguageHLSL = 5,
+ SourceLanguageCPP_for_OpenCL = 6,
+ SourceLanguageMax = 0x7fffffff,
+};
+
+enum ExecutionModel {
+ ExecutionModelVertex = 0,
+ ExecutionModelTessellationControl = 1,
+ ExecutionModelTessellationEvaluation = 2,
+ ExecutionModelGeometry = 3,
+ ExecutionModelFragment = 4,
+ ExecutionModelGLCompute = 5,
+ ExecutionModelKernel = 6,
+ ExecutionModelTaskNV = 5267,
+ ExecutionModelMeshNV = 5268,
+ ExecutionModelRayGenerationKHR = 5313,
+ ExecutionModelRayGenerationNV = 5313,
+ ExecutionModelIntersectionKHR = 5314,
+ ExecutionModelIntersectionNV = 5314,
+ ExecutionModelAnyHitKHR = 5315,
+ ExecutionModelAnyHitNV = 5315,
+ ExecutionModelClosestHitKHR = 5316,
+ ExecutionModelClosestHitNV = 5316,
+ ExecutionModelMissKHR = 5317,
+ ExecutionModelMissNV = 5317,
+ ExecutionModelCallableKHR = 5318,
+ ExecutionModelCallableNV = 5318,
+ ExecutionModelTaskEXT = 5364,
+ ExecutionModelMeshEXT = 5365,
+ ExecutionModelMax = 0x7fffffff,
+};
+
+enum AddressingModel {
+ AddressingModelLogical = 0,
+ AddressingModelPhysical32 = 1,
+ AddressingModelPhysical64 = 2,
+ AddressingModelPhysicalStorageBuffer64 = 5348,
+ AddressingModelPhysicalStorageBuffer64EXT = 5348,
+ AddressingModelMax = 0x7fffffff,
+};
+
+enum MemoryModel {
+ MemoryModelSimple = 0,
+ MemoryModelGLSL450 = 1,
+ MemoryModelOpenCL = 2,
+ MemoryModelVulkan = 3,
+ MemoryModelVulkanKHR = 3,
+ MemoryModelMax = 0x7fffffff,
+};
+
+enum ExecutionMode {
+ ExecutionModeInvocations = 0,
+ ExecutionModeSpacingEqual = 1,
+ ExecutionModeSpacingFractionalEven = 2,
+ ExecutionModeSpacingFractionalOdd = 3,
+ ExecutionModeVertexOrderCw = 4,
+ ExecutionModeVertexOrderCcw = 5,
+ ExecutionModePixelCenterInteger = 6,
+ ExecutionModeOriginUpperLeft = 7,
+ ExecutionModeOriginLowerLeft = 8,
+ ExecutionModeEarlyFragmentTests = 9,
+ ExecutionModePointMode = 10,
+ ExecutionModeXfb = 11,
+ ExecutionModeDepthReplacing = 12,
+ ExecutionModeDepthGreater = 14,
+ ExecutionModeDepthLess = 15,
+ ExecutionModeDepthUnchanged = 16,
+ ExecutionModeLocalSize = 17,
+ ExecutionModeLocalSizeHint = 18,
+ ExecutionModeInputPoints = 19,
+ ExecutionModeInputLines = 20,
+ ExecutionModeInputLinesAdjacency = 21,
+ ExecutionModeTriangles = 22,
+ ExecutionModeInputTrianglesAdjacency = 23,
+ ExecutionModeQuads = 24,
+ ExecutionModeIsolines = 25,
+ ExecutionModeOutputVertices = 26,
+ ExecutionModeOutputPoints = 27,
+ ExecutionModeOutputLineStrip = 28,
+ ExecutionModeOutputTriangleStrip = 29,
+ ExecutionModeVecTypeHint = 30,
+ ExecutionModeContractionOff = 31,
+ ExecutionModeInitializer = 33,
+ ExecutionModeFinalizer = 34,
+ ExecutionModeSubgroupSize = 35,
+ ExecutionModeSubgroupsPerWorkgroup = 36,
+ ExecutionModeSubgroupsPerWorkgroupId = 37,
+ ExecutionModeLocalSizeId = 38,
+ ExecutionModeLocalSizeHintId = 39,
+ ExecutionModeSubgroupUniformControlFlowKHR = 4421,
+ ExecutionModePostDepthCoverage = 4446,
+ ExecutionModeDenormPreserve = 4459,
+ ExecutionModeDenormFlushToZero = 4460,
+ ExecutionModeSignedZeroInfNanPreserve = 4461,
+ ExecutionModeRoundingModeRTE = 4462,
+ ExecutionModeRoundingModeRTZ = 4463,
+ ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
+ ExecutionModeStencilRefReplacingEXT = 5027,
+ ExecutionModeStencilRefUnchangedFrontAMD = 5079,
+ ExecutionModeStencilRefGreaterFrontAMD = 5080,
+ ExecutionModeStencilRefLessFrontAMD = 5081,
+ ExecutionModeStencilRefUnchangedBackAMD = 5082,
+ ExecutionModeStencilRefGreaterBackAMD = 5083,
+ ExecutionModeStencilRefLessBackAMD = 5084,
+ ExecutionModeOutputLinesEXT = 5269,
+ ExecutionModeOutputLinesNV = 5269,
+ ExecutionModeOutputPrimitivesEXT = 5270,
+ ExecutionModeOutputPrimitivesNV = 5270,
+ ExecutionModeDerivativeGroupQuadsNV = 5289,
+ ExecutionModeDerivativeGroupLinearNV = 5290,
+ ExecutionModeOutputTrianglesEXT = 5298,
+ ExecutionModeOutputTrianglesNV = 5298,
+ ExecutionModePixelInterlockOrderedEXT = 5366,
+ ExecutionModePixelInterlockUnorderedEXT = 5367,
+ ExecutionModeSampleInterlockOrderedEXT = 5368,
+ ExecutionModeSampleInterlockUnorderedEXT = 5369,
+ ExecutionModeShadingRateInterlockOrderedEXT = 5370,
+ ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
+ ExecutionModeSharedLocalMemorySizeINTEL = 5618,
+ ExecutionModeRoundingModeRTPINTEL = 5620,
+ ExecutionModeRoundingModeRTNINTEL = 5621,
+ ExecutionModeFloatingPointModeALTINTEL = 5622,
+ ExecutionModeFloatingPointModeIEEEINTEL = 5623,
+ ExecutionModeMaxWorkgroupSizeINTEL = 5893,
+ ExecutionModeMaxWorkDimINTEL = 5894,
+ ExecutionModeNoGlobalOffsetINTEL = 5895,
+ ExecutionModeNumSIMDWorkitemsINTEL = 5896,
+ ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
+ ExecutionModeMax = 0x7fffffff,
+};
+
+enum StorageClass {
+ StorageClassUniformConstant = 0,
+ StorageClassInput = 1,
+ StorageClassUniform = 2,
+ StorageClassOutput = 3,
+ StorageClassWorkgroup = 4,
+ StorageClassCrossWorkgroup = 5,
+ StorageClassPrivate = 6,
+ StorageClassFunction = 7,
+ StorageClassGeneric = 8,
+ StorageClassPushConstant = 9,
+ StorageClassAtomicCounter = 10,
+ StorageClassImage = 11,
+ StorageClassStorageBuffer = 12,
+ StorageClassCallableDataKHR = 5328,
+ StorageClassCallableDataNV = 5328,
+ StorageClassIncomingCallableDataKHR = 5329,
+ StorageClassIncomingCallableDataNV = 5329,
+ StorageClassRayPayloadKHR = 5338,
+ StorageClassRayPayloadNV = 5338,
+ StorageClassHitAttributeKHR = 5339,
+ StorageClassHitAttributeNV = 5339,
+ StorageClassIncomingRayPayloadKHR = 5342,
+ StorageClassIncomingRayPayloadNV = 5342,
+ StorageClassShaderRecordBufferKHR = 5343,
+ StorageClassShaderRecordBufferNV = 5343,
+ StorageClassPhysicalStorageBuffer = 5349,
+ StorageClassPhysicalStorageBufferEXT = 5349,
+ StorageClassHitObjectAttributeNV = 5385,
+ StorageClassTaskPayloadWorkgroupEXT = 5402,
+ StorageClassCodeSectionINTEL = 5605,
+ StorageClassDeviceOnlyINTEL = 5936,
+ StorageClassHostOnlyINTEL = 5937,
+ StorageClassMax = 0x7fffffff,
+};
+
+enum Dim {
+ Dim1D = 0,
+ Dim2D = 1,
+ Dim3D = 2,
+ DimCube = 3,
+ DimRect = 4,
+ DimBuffer = 5,
+ DimSubpassData = 6,
+ DimMax = 0x7fffffff,
+};
+
+enum SamplerAddressingMode {
+ SamplerAddressingModeNone = 0,
+ SamplerAddressingModeClampToEdge = 1,
+ SamplerAddressingModeClamp = 2,
+ SamplerAddressingModeRepeat = 3,
+ SamplerAddressingModeRepeatMirrored = 4,
+ SamplerAddressingModeMax = 0x7fffffff,
+};
+
+enum SamplerFilterMode {
+ SamplerFilterModeNearest = 0,
+ SamplerFilterModeLinear = 1,
+ SamplerFilterModeMax = 0x7fffffff,
+};
+
+enum ImageFormat {
+ ImageFormatUnknown = 0,
+ ImageFormatRgba32f = 1,
+ ImageFormatRgba16f = 2,
+ ImageFormatR32f = 3,
+ ImageFormatRgba8 = 4,
+ ImageFormatRgba8Snorm = 5,
+ ImageFormatRg32f = 6,
+ ImageFormatRg16f = 7,
+ ImageFormatR11fG11fB10f = 8,
+ ImageFormatR16f = 9,
+ ImageFormatRgba16 = 10,
+ ImageFormatRgb10A2 = 11,
+ ImageFormatRg16 = 12,
+ ImageFormatRg8 = 13,
+ ImageFormatR16 = 14,
+ ImageFormatR8 = 15,
+ ImageFormatRgba16Snorm = 16,
+ ImageFormatRg16Snorm = 17,
+ ImageFormatRg8Snorm = 18,
+ ImageFormatR16Snorm = 19,
+ ImageFormatR8Snorm = 20,
+ ImageFormatRgba32i = 21,
+ ImageFormatRgba16i = 22,
+ ImageFormatRgba8i = 23,
+ ImageFormatR32i = 24,
+ ImageFormatRg32i = 25,
+ ImageFormatRg16i = 26,
+ ImageFormatRg8i = 27,
+ ImageFormatR16i = 28,
+ ImageFormatR8i = 29,
+ ImageFormatRgba32ui = 30,
+ ImageFormatRgba16ui = 31,
+ ImageFormatRgba8ui = 32,
+ ImageFormatR32ui = 33,
+ ImageFormatRgb10a2ui = 34,
+ ImageFormatRg32ui = 35,
+ ImageFormatRg16ui = 36,
+ ImageFormatRg8ui = 37,
+ ImageFormatR16ui = 38,
+ ImageFormatR8ui = 39,
+ ImageFormatR64ui = 40,
+ ImageFormatR64i = 41,
+ ImageFormatMax = 0x7fffffff,
+};
+
+enum ImageChannelOrder {
+ ImageChannelOrderR = 0,
+ ImageChannelOrderA = 1,
+ ImageChannelOrderRG = 2,
+ ImageChannelOrderRA = 3,
+ ImageChannelOrderRGB = 4,
+ ImageChannelOrderRGBA = 5,
+ ImageChannelOrderBGRA = 6,
+ ImageChannelOrderARGB = 7,
+ ImageChannelOrderIntensity = 8,
+ ImageChannelOrderLuminance = 9,
+ ImageChannelOrderRx = 10,
+ ImageChannelOrderRGx = 11,
+ ImageChannelOrderRGBx = 12,
+ ImageChannelOrderDepth = 13,
+ ImageChannelOrderDepthStencil = 14,
+ ImageChannelOrdersRGB = 15,
+ ImageChannelOrdersRGBx = 16,
+ ImageChannelOrdersRGBA = 17,
+ ImageChannelOrdersBGRA = 18,
+ ImageChannelOrderABGR = 19,
+ ImageChannelOrderMax = 0x7fffffff,
+};
+
+enum ImageChannelDataType {
+ ImageChannelDataTypeSnormInt8 = 0,
+ ImageChannelDataTypeSnormInt16 = 1,
+ ImageChannelDataTypeUnormInt8 = 2,
+ ImageChannelDataTypeUnormInt16 = 3,
+ ImageChannelDataTypeUnormShort565 = 4,
+ ImageChannelDataTypeUnormShort555 = 5,
+ ImageChannelDataTypeUnormInt101010 = 6,
+ ImageChannelDataTypeSignedInt8 = 7,
+ ImageChannelDataTypeSignedInt16 = 8,
+ ImageChannelDataTypeSignedInt32 = 9,
+ ImageChannelDataTypeUnsignedInt8 = 10,
+ ImageChannelDataTypeUnsignedInt16 = 11,
+ ImageChannelDataTypeUnsignedInt32 = 12,
+ ImageChannelDataTypeHalfFloat = 13,
+ ImageChannelDataTypeFloat = 14,
+ ImageChannelDataTypeUnormInt24 = 15,
+ ImageChannelDataTypeUnormInt101010_2 = 16,
+ ImageChannelDataTypeMax = 0x7fffffff,
+};
+
+enum ImageOperandsShift {
+ ImageOperandsBiasShift = 0,
+ ImageOperandsLodShift = 1,
+ ImageOperandsGradShift = 2,
+ ImageOperandsConstOffsetShift = 3,
+ ImageOperandsOffsetShift = 4,
+ ImageOperandsConstOffsetsShift = 5,
+ ImageOperandsSampleShift = 6,
+ ImageOperandsMinLodShift = 7,
+ ImageOperandsMakeTexelAvailableShift = 8,
+ ImageOperandsMakeTexelAvailableKHRShift = 8,
+ ImageOperandsMakeTexelVisibleShift = 9,
+ ImageOperandsMakeTexelVisibleKHRShift = 9,
+ ImageOperandsNonPrivateTexelShift = 10,
+ ImageOperandsNonPrivateTexelKHRShift = 10,
+ ImageOperandsVolatileTexelShift = 11,
+ ImageOperandsVolatileTexelKHRShift = 11,
+ ImageOperandsSignExtendShift = 12,
+ ImageOperandsZeroExtendShift = 13,
+ ImageOperandsNontemporalShift = 14,
+ ImageOperandsOffsetsShift = 16,
+ ImageOperandsMax = 0x7fffffff,
+};
+
+enum ImageOperandsMask {
+ ImageOperandsMaskNone = 0,
+ ImageOperandsBiasMask = 0x00000001,
+ ImageOperandsLodMask = 0x00000002,
+ ImageOperandsGradMask = 0x00000004,
+ ImageOperandsConstOffsetMask = 0x00000008,
+ ImageOperandsOffsetMask = 0x00000010,
+ ImageOperandsConstOffsetsMask = 0x00000020,
+ ImageOperandsSampleMask = 0x00000040,
+ ImageOperandsMinLodMask = 0x00000080,
+ ImageOperandsMakeTexelAvailableMask = 0x00000100,
+ ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
+ ImageOperandsMakeTexelVisibleMask = 0x00000200,
+ ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
+ ImageOperandsNonPrivateTexelMask = 0x00000400,
+ ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
+ ImageOperandsVolatileTexelMask = 0x00000800,
+ ImageOperandsVolatileTexelKHRMask = 0x00000800,
+ ImageOperandsSignExtendMask = 0x00001000,
+ ImageOperandsZeroExtendMask = 0x00002000,
+ ImageOperandsNontemporalMask = 0x00004000,
+ ImageOperandsOffsetsMask = 0x00010000,
+};
+
+enum FPFastMathModeShift {
+ FPFastMathModeNotNaNShift = 0,
+ FPFastMathModeNotInfShift = 1,
+ FPFastMathModeNSZShift = 2,
+ FPFastMathModeAllowRecipShift = 3,
+ FPFastMathModeFastShift = 4,
+ FPFastMathModeAllowContractFastINTELShift = 16,
+ FPFastMathModeAllowReassocINTELShift = 17,
+ FPFastMathModeMax = 0x7fffffff,
+};
+
+enum FPFastMathModeMask {
+ FPFastMathModeMaskNone = 0,
+ FPFastMathModeNotNaNMask = 0x00000001,
+ FPFastMathModeNotInfMask = 0x00000002,
+ FPFastMathModeNSZMask = 0x00000004,
+ FPFastMathModeAllowRecipMask = 0x00000008,
+ FPFastMathModeFastMask = 0x00000010,
+ FPFastMathModeAllowContractFastINTELMask = 0x00010000,
+ FPFastMathModeAllowReassocINTELMask = 0x00020000,
+};
+
+enum FPRoundingMode {
+ FPRoundingModeRTE = 0,
+ FPRoundingModeRTZ = 1,
+ FPRoundingModeRTP = 2,
+ FPRoundingModeRTN = 3,
+ FPRoundingModeMax = 0x7fffffff,
+};
+
+enum LinkageType {
+ LinkageTypeExport = 0,
+ LinkageTypeImport = 1,
+ LinkageTypeLinkOnceODR = 2,
+ LinkageTypeMax = 0x7fffffff,
+};
+
+enum AccessQualifier {
+ AccessQualifierReadOnly = 0,
+ AccessQualifierWriteOnly = 1,
+ AccessQualifierReadWrite = 2,
+ AccessQualifierMax = 0x7fffffff,
+};
+
+enum FunctionParameterAttribute {
+ FunctionParameterAttributeZext = 0,
+ FunctionParameterAttributeSext = 1,
+ FunctionParameterAttributeByVal = 2,
+ FunctionParameterAttributeSret = 3,
+ FunctionParameterAttributeNoAlias = 4,
+ FunctionParameterAttributeNoCapture = 5,
+ FunctionParameterAttributeNoWrite = 6,
+ FunctionParameterAttributeNoReadWrite = 7,
+ FunctionParameterAttributeMax = 0x7fffffff,
+};
+
+enum Decoration {
+ DecorationRelaxedPrecision = 0,
+ DecorationSpecId = 1,
+ DecorationBlock = 2,
+ DecorationBufferBlock = 3,
+ DecorationRowMajor = 4,
+ DecorationColMajor = 5,
+ DecorationArrayStride = 6,
+ DecorationMatrixStride = 7,
+ DecorationGLSLShared = 8,
+ DecorationGLSLPacked = 9,
+ DecorationCPacked = 10,
+ DecorationBuiltIn = 11,
+ DecorationNoPerspective = 13,
+ DecorationFlat = 14,
+ DecorationPatch = 15,
+ DecorationCentroid = 16,
+ DecorationSample = 17,
+ DecorationInvariant = 18,
+ DecorationRestrict = 19,
+ DecorationAliased = 20,
+ DecorationVolatile = 21,
+ DecorationConstant = 22,
+ DecorationCoherent = 23,
+ DecorationNonWritable = 24,
+ DecorationNonReadable = 25,
+ DecorationUniform = 26,
+ DecorationUniformId = 27,
+ DecorationSaturatedConversion = 28,
+ DecorationStream = 29,
+ DecorationLocation = 30,
+ DecorationComponent = 31,
+ DecorationIndex = 32,
+ DecorationBinding = 33,
+ DecorationDescriptorSet = 34,
+ DecorationOffset = 35,
+ DecorationXfbBuffer = 36,
+ DecorationXfbStride = 37,
+ DecorationFuncParamAttr = 38,
+ DecorationFPRoundingMode = 39,
+ DecorationFPFastMathMode = 40,
+ DecorationLinkageAttributes = 41,
+ DecorationNoContraction = 42,
+ DecorationInputAttachmentIndex = 43,
+ DecorationAlignment = 44,
+ DecorationMaxByteOffset = 45,
+ DecorationAlignmentId = 46,
+ DecorationMaxByteOffsetId = 47,
+ DecorationNoSignedWrap = 4469,
+ DecorationNoUnsignedWrap = 4470,
+ DecorationExplicitInterpAMD = 4999,
+ DecorationOverrideCoverageNV = 5248,
+ DecorationPassthroughNV = 5250,
+ DecorationViewportRelativeNV = 5252,
+ DecorationSecondaryViewportRelativeNV = 5256,
+ DecorationPerPrimitiveEXT = 5271,
+ DecorationPerPrimitiveNV = 5271,
+ DecorationPerViewNV = 5272,
+ DecorationPerTaskNV = 5273,
+ DecorationPerVertexKHR = 5285,
+ DecorationPerVertexNV = 5285,
+ DecorationNonUniform = 5300,
+ DecorationNonUniformEXT = 5300,
+ DecorationRestrictPointer = 5355,
+ DecorationRestrictPointerEXT = 5355,
+ DecorationAliasedPointer = 5356,
+ DecorationAliasedPointerEXT = 5356,
+ DecorationHitObjectShaderRecordBufferNV = 5386,
+ DecorationBindlessSamplerNV = 5398,
+ DecorationBindlessImageNV = 5399,
+ DecorationBoundSamplerNV = 5400,
+ DecorationBoundImageNV = 5401,
+ DecorationSIMTCallINTEL = 5599,
+ DecorationReferencedIndirectlyINTEL = 5602,
+ DecorationClobberINTEL = 5607,
+ DecorationSideEffectsINTEL = 5608,
+ DecorationVectorComputeVariableINTEL = 5624,
+ DecorationFuncParamIOKindINTEL = 5625,
+ DecorationVectorComputeFunctionINTEL = 5626,
+ DecorationStackCallINTEL = 5627,
+ DecorationGlobalVariableOffsetINTEL = 5628,
+ DecorationCounterBuffer = 5634,
+ DecorationHlslCounterBufferGOOGLE = 5634,
+ DecorationHlslSemanticGOOGLE = 5635,
+ DecorationUserSemantic = 5635,
+ DecorationUserTypeGOOGLE = 5636,
+ DecorationFunctionRoundingModeINTEL = 5822,
+ DecorationFunctionDenormModeINTEL = 5823,
+ DecorationRegisterINTEL = 5825,
+ DecorationMemoryINTEL = 5826,
+ DecorationNumbanksINTEL = 5827,
+ DecorationBankwidthINTEL = 5828,
+ DecorationMaxPrivateCopiesINTEL = 5829,
+ DecorationSinglepumpINTEL = 5830,
+ DecorationDoublepumpINTEL = 5831,
+ DecorationMaxReplicatesINTEL = 5832,
+ DecorationSimpleDualPortINTEL = 5833,
+ DecorationMergeINTEL = 5834,
+ DecorationBankBitsINTEL = 5835,
+ DecorationForcePow2DepthINTEL = 5836,
+ DecorationBurstCoalesceINTEL = 5899,
+ DecorationCacheSizeINTEL = 5900,
+ DecorationDontStaticallyCoalesceINTEL = 5901,
+ DecorationPrefetchINTEL = 5902,
+ DecorationStallEnableINTEL = 5905,
+ DecorationFuseLoopsInFunctionINTEL = 5907,
+ DecorationBufferLocationINTEL = 5921,
+ DecorationIOPipeStorageINTEL = 5944,
+ DecorationFunctionFloatingPointModeINTEL = 6080,
+ DecorationSingleElementVectorINTEL = 6085,
+ DecorationVectorComputeCallableFunctionINTEL = 6087,
+ DecorationMediaBlockIOINTEL = 6140,
+ DecorationMax = 0x7fffffff,
+};
+
+enum BuiltIn {
+ BuiltInPosition = 0,
+ BuiltInPointSize = 1,
+ BuiltInClipDistance = 3,
+ BuiltInCullDistance = 4,
+ BuiltInVertexId = 5,
+ BuiltInInstanceId = 6,
+ BuiltInPrimitiveId = 7,
+ BuiltInInvocationId = 8,
+ BuiltInLayer = 9,
+ BuiltInViewportIndex = 10,
+ BuiltInTessLevelOuter = 11,
+ BuiltInTessLevelInner = 12,
+ BuiltInTessCoord = 13,
+ BuiltInPatchVertices = 14,
+ BuiltInFragCoord = 15,
+ BuiltInPointCoord = 16,
+ BuiltInFrontFacing = 17,
+ BuiltInSampleId = 18,
+ BuiltInSamplePosition = 19,
+ BuiltInSampleMask = 20,
+ BuiltInFragDepth = 22,
+ BuiltInHelperInvocation = 23,
+ BuiltInNumWorkgroups = 24,
+ BuiltInWorkgroupSize = 25,
+ BuiltInWorkgroupId = 26,
+ BuiltInLocalInvocationId = 27,
+ BuiltInGlobalInvocationId = 28,
+ BuiltInLocalInvocationIndex = 29,
+ BuiltInWorkDim = 30,
+ BuiltInGlobalSize = 31,
+ BuiltInEnqueuedWorkgroupSize = 32,
+ BuiltInGlobalOffset = 33,
+ BuiltInGlobalLinearId = 34,
+ BuiltInSubgroupSize = 36,
+ BuiltInSubgroupMaxSize = 37,
+ BuiltInNumSubgroups = 38,
+ BuiltInNumEnqueuedSubgroups = 39,
+ BuiltInSubgroupId = 40,
+ BuiltInSubgroupLocalInvocationId = 41,
+ BuiltInVertexIndex = 42,
+ BuiltInInstanceIndex = 43,
+ BuiltInCoreCountARM = 4161,
+ BuiltInCoreIDARM = 4160,
+ BuiltInCoreMaxIDARM = 4162,
+ BuiltInWarpIDARM = 4163,
+ BuiltInWarpMaxIDARM = 4164,
+ BuiltInSubgroupEqMask = 4416,
+ BuiltInSubgroupEqMaskKHR = 4416,
+ BuiltInSubgroupGeMask = 4417,
+ BuiltInSubgroupGeMaskKHR = 4417,
+ BuiltInSubgroupGtMask = 4418,
+ BuiltInSubgroupGtMaskKHR = 4418,
+ BuiltInSubgroupLeMask = 4419,
+ BuiltInSubgroupLeMaskKHR = 4419,
+ BuiltInSubgroupLtMask = 4420,
+ BuiltInSubgroupLtMaskKHR = 4420,
+ BuiltInBaseVertex = 4424,
+ BuiltInBaseInstance = 4425,
+ BuiltInDrawIndex = 4426,
+ BuiltInPrimitiveShadingRateKHR = 4432,
+ BuiltInDeviceIndex = 4438,
+ BuiltInViewIndex = 4440,
+ BuiltInShadingRateKHR = 4444,
+ BuiltInBaryCoordNoPerspAMD = 4992,
+ BuiltInBaryCoordNoPerspCentroidAMD = 4993,
+ BuiltInBaryCoordNoPerspSampleAMD = 4994,
+ BuiltInBaryCoordSmoothAMD = 4995,
+ BuiltInBaryCoordSmoothCentroidAMD = 4996,
+ BuiltInBaryCoordSmoothSampleAMD = 4997,
+ BuiltInBaryCoordPullModelAMD = 4998,
+ BuiltInFragStencilRefEXT = 5014,
+ BuiltInViewportMaskNV = 5253,
+ BuiltInSecondaryPositionNV = 5257,
+ BuiltInSecondaryViewportMaskNV = 5258,
+ BuiltInPositionPerViewNV = 5261,
+ BuiltInViewportMaskPerViewNV = 5262,
+ BuiltInFullyCoveredEXT = 5264,
+ BuiltInTaskCountNV = 5274,
+ BuiltInPrimitiveCountNV = 5275,
+ BuiltInPrimitiveIndicesNV = 5276,
+ BuiltInClipDistancePerViewNV = 5277,
+ BuiltInCullDistancePerViewNV = 5278,
+ BuiltInLayerPerViewNV = 5279,
+ BuiltInMeshViewCountNV = 5280,
+ BuiltInMeshViewIndicesNV = 5281,
+ BuiltInBaryCoordKHR = 5286,
+ BuiltInBaryCoordNV = 5286,
+ BuiltInBaryCoordNoPerspKHR = 5287,
+ BuiltInBaryCoordNoPerspNV = 5287,
+ BuiltInFragSizeEXT = 5292,
+ BuiltInFragmentSizeNV = 5292,
+ BuiltInFragInvocationCountEXT = 5293,
+ BuiltInInvocationsPerPixelNV = 5293,
+ BuiltInPrimitivePointIndicesEXT = 5294,
+ BuiltInPrimitiveLineIndicesEXT = 5295,
+ BuiltInPrimitiveTriangleIndicesEXT = 5296,
+ BuiltInCullPrimitiveEXT = 5299,
+ BuiltInLaunchIdKHR = 5319,
+ BuiltInLaunchIdNV = 5319,
+ BuiltInLaunchSizeKHR = 5320,
+ BuiltInLaunchSizeNV = 5320,
+ BuiltInWorldRayOriginKHR = 5321,
+ BuiltInWorldRayOriginNV = 5321,
+ BuiltInWorldRayDirectionKHR = 5322,
+ BuiltInWorldRayDirectionNV = 5322,
+ BuiltInObjectRayOriginKHR = 5323,
+ BuiltInObjectRayOriginNV = 5323,
+ BuiltInObjectRayDirectionKHR = 5324,
+ BuiltInObjectRayDirectionNV = 5324,
+ BuiltInRayTminKHR = 5325,
+ BuiltInRayTminNV = 5325,
+ BuiltInRayTmaxKHR = 5326,
+ BuiltInRayTmaxNV = 5326,
+ BuiltInInstanceCustomIndexKHR = 5327,
+ BuiltInInstanceCustomIndexNV = 5327,
+ BuiltInObjectToWorldKHR = 5330,
+ BuiltInObjectToWorldNV = 5330,
+ BuiltInWorldToObjectKHR = 5331,
+ BuiltInWorldToObjectNV = 5331,
+ BuiltInHitTNV = 5332,
+ BuiltInHitKindKHR = 5333,
+ BuiltInHitKindNV = 5333,
+ BuiltInCurrentRayTimeNV = 5334,
+ BuiltInIncomingRayFlagsKHR = 5351,
+ BuiltInIncomingRayFlagsNV = 5351,
+ BuiltInRayGeometryIndexKHR = 5352,
+ BuiltInWarpsPerSMNV = 5374,
+ BuiltInSMCountNV = 5375,
+ BuiltInWarpIDNV = 5376,
+ BuiltInSMIDNV = 5377,
+ BuiltInCullMaskKHR = 6021,
+ BuiltInMax = 0x7fffffff,
+};
+
+enum SelectionControlShift {
+ SelectionControlFlattenShift = 0,
+ SelectionControlDontFlattenShift = 1,
+ SelectionControlMax = 0x7fffffff,
+};
+
+enum SelectionControlMask {
+ SelectionControlMaskNone = 0,
+ SelectionControlFlattenMask = 0x00000001,
+ SelectionControlDontFlattenMask = 0x00000002,
+};
+
+enum LoopControlShift {
+ LoopControlUnrollShift = 0,
+ LoopControlDontUnrollShift = 1,
+ LoopControlDependencyInfiniteShift = 2,
+ LoopControlDependencyLengthShift = 3,
+ LoopControlMinIterationsShift = 4,
+ LoopControlMaxIterationsShift = 5,
+ LoopControlIterationMultipleShift = 6,
+ LoopControlPeelCountShift = 7,
+ LoopControlPartialCountShift = 8,
+ LoopControlInitiationIntervalINTELShift = 16,
+ LoopControlMaxConcurrencyINTELShift = 17,
+ LoopControlDependencyArrayINTELShift = 18,
+ LoopControlPipelineEnableINTELShift = 19,
+ LoopControlLoopCoalesceINTELShift = 20,
+ LoopControlMaxInterleavingINTELShift = 21,
+ LoopControlSpeculatedIterationsINTELShift = 22,
+ LoopControlNoFusionINTELShift = 23,
+ LoopControlMax = 0x7fffffff,
+};
+
+enum LoopControlMask {
+ LoopControlMaskNone = 0,
+ LoopControlUnrollMask = 0x00000001,
+ LoopControlDontUnrollMask = 0x00000002,
+ LoopControlDependencyInfiniteMask = 0x00000004,
+ LoopControlDependencyLengthMask = 0x00000008,
+ LoopControlMinIterationsMask = 0x00000010,
+ LoopControlMaxIterationsMask = 0x00000020,
+ LoopControlIterationMultipleMask = 0x00000040,
+ LoopControlPeelCountMask = 0x00000080,
+ LoopControlPartialCountMask = 0x00000100,
+ LoopControlInitiationIntervalINTELMask = 0x00010000,
+ LoopControlMaxConcurrencyINTELMask = 0x00020000,
+ LoopControlDependencyArrayINTELMask = 0x00040000,
+ LoopControlPipelineEnableINTELMask = 0x00080000,
+ LoopControlLoopCoalesceINTELMask = 0x00100000,
+ LoopControlMaxInterleavingINTELMask = 0x00200000,
+ LoopControlSpeculatedIterationsINTELMask = 0x00400000,
+ LoopControlNoFusionINTELMask = 0x00800000,
+};
+
+enum FunctionControlShift {
+ FunctionControlInlineShift = 0,
+ FunctionControlDontInlineShift = 1,
+ FunctionControlPureShift = 2,
+ FunctionControlConstShift = 3,
+ FunctionControlOptNoneINTELShift = 16,
+ FunctionControlMax = 0x7fffffff,
+};
+
+enum FunctionControlMask {
+ FunctionControlMaskNone = 0,
+ FunctionControlInlineMask = 0x00000001,
+ FunctionControlDontInlineMask = 0x00000002,
+ FunctionControlPureMask = 0x00000004,
+ FunctionControlConstMask = 0x00000008,
+ FunctionControlOptNoneINTELMask = 0x00010000,
+};
+
+enum MemorySemanticsShift {
+ MemorySemanticsAcquireShift = 1,
+ MemorySemanticsReleaseShift = 2,
+ MemorySemanticsAcquireReleaseShift = 3,
+ MemorySemanticsSequentiallyConsistentShift = 4,
+ MemorySemanticsUniformMemoryShift = 6,
+ MemorySemanticsSubgroupMemoryShift = 7,
+ MemorySemanticsWorkgroupMemoryShift = 8,
+ MemorySemanticsCrossWorkgroupMemoryShift = 9,
+ MemorySemanticsAtomicCounterMemoryShift = 10,
+ MemorySemanticsImageMemoryShift = 11,
+ MemorySemanticsOutputMemoryShift = 12,
+ MemorySemanticsOutputMemoryKHRShift = 12,
+ MemorySemanticsMakeAvailableShift = 13,
+ MemorySemanticsMakeAvailableKHRShift = 13,
+ MemorySemanticsMakeVisibleShift = 14,
+ MemorySemanticsMakeVisibleKHRShift = 14,
+ MemorySemanticsVolatileShift = 15,
+ MemorySemanticsMax = 0x7fffffff,
+};
+
+enum MemorySemanticsMask {
+ MemorySemanticsMaskNone = 0,
+ MemorySemanticsAcquireMask = 0x00000002,
+ MemorySemanticsReleaseMask = 0x00000004,
+ MemorySemanticsAcquireReleaseMask = 0x00000008,
+ MemorySemanticsSequentiallyConsistentMask = 0x00000010,
+ MemorySemanticsUniformMemoryMask = 0x00000040,
+ MemorySemanticsSubgroupMemoryMask = 0x00000080,
+ MemorySemanticsWorkgroupMemoryMask = 0x00000100,
+ MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
+ MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
+ MemorySemanticsImageMemoryMask = 0x00000800,
+ MemorySemanticsOutputMemoryMask = 0x00001000,
+ MemorySemanticsOutputMemoryKHRMask = 0x00001000,
+ MemorySemanticsMakeAvailableMask = 0x00002000,
+ MemorySemanticsMakeAvailableKHRMask = 0x00002000,
+ MemorySemanticsMakeVisibleMask = 0x00004000,
+ MemorySemanticsMakeVisibleKHRMask = 0x00004000,
+ MemorySemanticsVolatileMask = 0x00008000,
+};
+
+enum MemoryAccessShift {
+ MemoryAccessVolatileShift = 0,
+ MemoryAccessAlignedShift = 1,
+ MemoryAccessNontemporalShift = 2,
+ MemoryAccessMakePointerAvailableShift = 3,
+ MemoryAccessMakePointerAvailableKHRShift = 3,
+ MemoryAccessMakePointerVisibleShift = 4,
+ MemoryAccessMakePointerVisibleKHRShift = 4,
+ MemoryAccessNonPrivatePointerShift = 5,
+ MemoryAccessNonPrivatePointerKHRShift = 5,
+ MemoryAccessMax = 0x7fffffff,
+};
+
+enum MemoryAccessMask {
+ MemoryAccessMaskNone = 0,
+ MemoryAccessVolatileMask = 0x00000001,
+ MemoryAccessAlignedMask = 0x00000002,
+ MemoryAccessNontemporalMask = 0x00000004,
+ MemoryAccessMakePointerAvailableMask = 0x00000008,
+ MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
+ MemoryAccessMakePointerVisibleMask = 0x00000010,
+ MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
+ MemoryAccessNonPrivatePointerMask = 0x00000020,
+ MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
+};
+
+enum Scope {
+ ScopeCrossDevice = 0,
+ ScopeDevice = 1,
+ ScopeWorkgroup = 2,
+ ScopeSubgroup = 3,
+ ScopeInvocation = 4,
+ ScopeQueueFamily = 5,
+ ScopeQueueFamilyKHR = 5,
+ ScopeShaderCallKHR = 6,
+ ScopeMax = 0x7fffffff,
+};
+
+enum GroupOperation {
+ GroupOperationReduce = 0,
+ GroupOperationInclusiveScan = 1,
+ GroupOperationExclusiveScan = 2,
+ GroupOperationClusteredReduce = 3,
+ GroupOperationPartitionedReduceNV = 6,
+ GroupOperationPartitionedInclusiveScanNV = 7,
+ GroupOperationPartitionedExclusiveScanNV = 8,
+ GroupOperationMax = 0x7fffffff,
+};
+
+enum KernelEnqueueFlags {
+ KernelEnqueueFlagsNoWait = 0,
+ KernelEnqueueFlagsWaitKernel = 1,
+ KernelEnqueueFlagsWaitWorkGroup = 2,
+ KernelEnqueueFlagsMax = 0x7fffffff,
+};
+
+enum KernelProfilingInfoShift {
+ KernelProfilingInfoCmdExecTimeShift = 0,
+ KernelProfilingInfoMax = 0x7fffffff,
+};
+
+enum KernelProfilingInfoMask {
+ KernelProfilingInfoMaskNone = 0,
+ KernelProfilingInfoCmdExecTimeMask = 0x00000001,
+};
+
+enum Capability {
+ CapabilityMatrix = 0,
+ CapabilityShader = 1,
+ CapabilityGeometry = 2,
+ CapabilityTessellation = 3,
+ CapabilityAddresses = 4,
+ CapabilityLinkage = 5,
+ CapabilityKernel = 6,
+ CapabilityVector16 = 7,
+ CapabilityFloat16Buffer = 8,
+ CapabilityFloat16 = 9,
+ CapabilityFloat64 = 10,
+ CapabilityInt64 = 11,
+ CapabilityInt64Atomics = 12,
+ CapabilityImageBasic = 13,
+ CapabilityImageReadWrite = 14,
+ CapabilityImageMipmap = 15,
+ CapabilityPipes = 17,
+ CapabilityGroups = 18,
+ CapabilityDeviceEnqueue = 19,
+ CapabilityLiteralSampler = 20,
+ CapabilityAtomicStorage = 21,
+ CapabilityInt16 = 22,
+ CapabilityTessellationPointSize = 23,
+ CapabilityGeometryPointSize = 24,
+ CapabilityImageGatherExtended = 25,
+ CapabilityStorageImageMultisample = 27,
+ CapabilityUniformBufferArrayDynamicIndexing = 28,
+ CapabilitySampledImageArrayDynamicIndexing = 29,
+ CapabilityStorageBufferArrayDynamicIndexing = 30,
+ CapabilityStorageImageArrayDynamicIndexing = 31,
+ CapabilityClipDistance = 32,
+ CapabilityCullDistance = 33,
+ CapabilityImageCubeArray = 34,
+ CapabilitySampleRateShading = 35,
+ CapabilityImageRect = 36,
+ CapabilitySampledRect = 37,
+ CapabilityGenericPointer = 38,
+ CapabilityInt8 = 39,
+ CapabilityInputAttachment = 40,
+ CapabilitySparseResidency = 41,
+ CapabilityMinLod = 42,
+ CapabilitySampled1D = 43,
+ CapabilityImage1D = 44,
+ CapabilitySampledCubeArray = 45,
+ CapabilitySampledBuffer = 46,
+ CapabilityImageBuffer = 47,
+ CapabilityImageMSArray = 48,
+ CapabilityStorageImageExtendedFormats = 49,
+ CapabilityImageQuery = 50,
+ CapabilityDerivativeControl = 51,
+ CapabilityInterpolationFunction = 52,
+ CapabilityTransformFeedback = 53,
+ CapabilityGeometryStreams = 54,
+ CapabilityStorageImageReadWithoutFormat = 55,
+ CapabilityStorageImageWriteWithoutFormat = 56,
+ CapabilityMultiViewport = 57,
+ CapabilitySubgroupDispatch = 58,
+ CapabilityNamedBarrier = 59,
+ CapabilityPipeStorage = 60,
+ CapabilityGroupNonUniform = 61,
+ CapabilityGroupNonUniformVote = 62,
+ CapabilityGroupNonUniformArithmetic = 63,
+ CapabilityGroupNonUniformBallot = 64,
+ CapabilityGroupNonUniformShuffle = 65,
+ CapabilityGroupNonUniformShuffleRelative = 66,
+ CapabilityGroupNonUniformClustered = 67,
+ CapabilityGroupNonUniformQuad = 68,
+ CapabilityShaderLayer = 69,
+ CapabilityShaderViewportIndex = 70,
+ CapabilityUniformDecoration = 71,
+ CapabilityCoreBuiltinsARM = 4165,
+ CapabilityFragmentShadingRateKHR = 4422,
+ CapabilitySubgroupBallotKHR = 4423,
+ CapabilityDrawParameters = 4427,
+ CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
+ CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
+ CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
+ CapabilitySubgroupVoteKHR = 4431,
+ CapabilityStorageBuffer16BitAccess = 4433,
+ CapabilityStorageUniformBufferBlock16 = 4433,
+ CapabilityStorageUniform16 = 4434,
+ CapabilityUniformAndStorageBuffer16BitAccess = 4434,
+ CapabilityStoragePushConstant16 = 4435,
+ CapabilityStorageInputOutput16 = 4436,
+ CapabilityDeviceGroup = 4437,
+ CapabilityMultiView = 4439,
+ CapabilityVariablePointersStorageBuffer = 4441,
+ CapabilityVariablePointers = 4442,
+ CapabilityAtomicStorageOps = 4445,
+ CapabilitySampleMaskPostDepthCoverage = 4447,
+ CapabilityStorageBuffer8BitAccess = 4448,
+ CapabilityUniformAndStorageBuffer8BitAccess = 4449,
+ CapabilityStoragePushConstant8 = 4450,
+ CapabilityDenormPreserve = 4464,
+ CapabilityDenormFlushToZero = 4465,
+ CapabilitySignedZeroInfNanPreserve = 4466,
+ CapabilityRoundingModeRTE = 4467,
+ CapabilityRoundingModeRTZ = 4468,
+ CapabilityRayQueryProvisionalKHR = 4471,
+ CapabilityRayQueryKHR = 4472,
+ CapabilityRayTraversalPrimitiveCullingKHR = 4478,
+ CapabilityRayTracingKHR = 4479,
+ CapabilityFloat16ImageAMD = 5008,
+ CapabilityImageGatherBiasLodAMD = 5009,
+ CapabilityFragmentMaskAMD = 5010,
+ CapabilityStencilExportEXT = 5013,
+ CapabilityImageReadWriteLodAMD = 5015,
+ CapabilityInt64ImageEXT = 5016,
+ CapabilityShaderClockKHR = 5055,
+ CapabilitySampleMaskOverrideCoverageNV = 5249,
+ CapabilityGeometryShaderPassthroughNV = 5251,
+ CapabilityShaderViewportIndexLayerEXT = 5254,
+ CapabilityShaderViewportIndexLayerNV = 5254,
+ CapabilityShaderViewportMaskNV = 5255,
+ CapabilityShaderStereoViewNV = 5259,
+ CapabilityPerViewAttributesNV = 5260,
+ CapabilityFragmentFullyCoveredEXT = 5265,
+ CapabilityMeshShadingNV = 5266,
+ CapabilityImageFootprintNV = 5282,
+ CapabilityMeshShadingEXT = 5283,
+ CapabilityFragmentBarycentricKHR = 5284,
+ CapabilityFragmentBarycentricNV = 5284,
+ CapabilityComputeDerivativeGroupQuadsNV = 5288,
+ CapabilityFragmentDensityEXT = 5291,
+ CapabilityShadingRateNV = 5291,
+ CapabilityGroupNonUniformPartitionedNV = 5297,
+ CapabilityShaderNonUniform = 5301,
+ CapabilityShaderNonUniformEXT = 5301,
+ CapabilityRuntimeDescriptorArray = 5302,
+ CapabilityRuntimeDescriptorArrayEXT = 5302,
+ CapabilityInputAttachmentArrayDynamicIndexing = 5303,
+ CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
+ CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
+ CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
+ CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
+ CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
+ CapabilityUniformBufferArrayNonUniformIndexing = 5306,
+ CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
+ CapabilitySampledImageArrayNonUniformIndexing = 5307,
+ CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
+ CapabilityStorageBufferArrayNonUniformIndexing = 5308,
+ CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
+ CapabilityStorageImageArrayNonUniformIndexing = 5309,
+ CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
+ CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
+ CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
+ CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
+ CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+ CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
+ CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ CapabilityRayTracingNV = 5340,
+ CapabilityRayTracingMotionBlurNV = 5341,
+ CapabilityVulkanMemoryModel = 5345,
+ CapabilityVulkanMemoryModelKHR = 5345,
+ CapabilityVulkanMemoryModelDeviceScope = 5346,
+ CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
+ CapabilityPhysicalStorageBufferAddresses = 5347,
+ CapabilityPhysicalStorageBufferAddressesEXT = 5347,
+ CapabilityComputeDerivativeGroupLinearNV = 5350,
+ CapabilityRayTracingProvisionalKHR = 5353,
+ CapabilityCooperativeMatrixNV = 5357,
+ CapabilityFragmentShaderSampleInterlockEXT = 5363,
+ CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
+ CapabilityShaderSMBuiltinsNV = 5373,
+ CapabilityFragmentShaderPixelInterlockEXT = 5378,
+ CapabilityDemoteToHelperInvocation = 5379,
+ CapabilityDemoteToHelperInvocationEXT = 5379,
+ CapabilityShaderInvocationReorderNV = 5383,
+ CapabilityBindlessTextureNV = 5390,
+ CapabilitySubgroupShuffleINTEL = 5568,
+ CapabilitySubgroupBufferBlockIOINTEL = 5569,
+ CapabilitySubgroupImageBlockIOINTEL = 5570,
+ CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
+ CapabilityRoundToInfinityINTEL = 5582,
+ CapabilityFloatingPointModeINTEL = 5583,
+ CapabilityIntegerFunctions2INTEL = 5584,
+ CapabilityFunctionPointersINTEL = 5603,
+ CapabilityIndirectReferencesINTEL = 5604,
+ CapabilityAsmINTEL = 5606,
+ CapabilityAtomicFloat32MinMaxEXT = 5612,
+ CapabilityAtomicFloat64MinMaxEXT = 5613,
+ CapabilityAtomicFloat16MinMaxEXT = 5616,
+ CapabilityVectorComputeINTEL = 5617,
+ CapabilityVectorAnyINTEL = 5619,
+ CapabilityExpectAssumeKHR = 5629,
+ CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
+ CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
+ CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
+ CapabilityVariableLengthArrayINTEL = 5817,
+ CapabilityFunctionFloatControlINTEL = 5821,
+ CapabilityFPGAMemoryAttributesINTEL = 5824,
+ CapabilityFPFastMathModeINTEL = 5837,
+ CapabilityArbitraryPrecisionIntegersINTEL = 5844,
+ CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
+ CapabilityUnstructuredLoopControlsINTEL = 5886,
+ CapabilityFPGALoopControlsINTEL = 5888,
+ CapabilityKernelAttributesINTEL = 5892,
+ CapabilityFPGAKernelAttributesINTEL = 5897,
+ CapabilityFPGAMemoryAccessesINTEL = 5898,
+ CapabilityFPGAClusterAttributesINTEL = 5904,
+ CapabilityLoopFuseINTEL = 5906,
+ CapabilityFPGABufferLocationINTEL = 5920,
+ CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
+ CapabilityUSMStorageClassesINTEL = 5935,
+ CapabilityIOPipesINTEL = 5943,
+ CapabilityBlockingPipesINTEL = 5945,
+ CapabilityFPGARegINTEL = 5948,
+ CapabilityDotProductInputAll = 6016,
+ CapabilityDotProductInputAllKHR = 6016,
+ CapabilityDotProductInput4x8Bit = 6017,
+ CapabilityDotProductInput4x8BitKHR = 6017,
+ CapabilityDotProductInput4x8BitPacked = 6018,
+ CapabilityDotProductInput4x8BitPackedKHR = 6018,
+ CapabilityDotProduct = 6019,
+ CapabilityDotProductKHR = 6019,
+ CapabilityRayCullMaskKHR = 6020,
+ CapabilityBitInstructions = 6025,
+ CapabilityAtomicFloat32AddEXT = 6033,
+ CapabilityAtomicFloat64AddEXT = 6034,
+ CapabilityLongConstantCompositeINTEL = 6089,
+ CapabilityOptNoneINTEL = 6094,
+ CapabilityAtomicFloat16AddEXT = 6095,
+ CapabilityDebugInfoModuleINTEL = 6114,
+ CapabilityMax = 0x7fffffff,
+};
+
+enum RayFlagsShift {
+ RayFlagsOpaqueKHRShift = 0,
+ RayFlagsNoOpaqueKHRShift = 1,
+ RayFlagsTerminateOnFirstHitKHRShift = 2,
+ RayFlagsSkipClosestHitShaderKHRShift = 3,
+ RayFlagsCullBackFacingTrianglesKHRShift = 4,
+ RayFlagsCullFrontFacingTrianglesKHRShift = 5,
+ RayFlagsCullOpaqueKHRShift = 6,
+ RayFlagsCullNoOpaqueKHRShift = 7,
+ RayFlagsSkipTrianglesKHRShift = 8,
+ RayFlagsSkipAABBsKHRShift = 9,
+ RayFlagsMax = 0x7fffffff,
+};
+
+enum RayFlagsMask {
+ RayFlagsMaskNone = 0,
+ RayFlagsOpaqueKHRMask = 0x00000001,
+ RayFlagsNoOpaqueKHRMask = 0x00000002,
+ RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
+ RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
+ RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
+ RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
+ RayFlagsCullOpaqueKHRMask = 0x00000040,
+ RayFlagsCullNoOpaqueKHRMask = 0x00000080,
+ RayFlagsSkipTrianglesKHRMask = 0x00000100,
+ RayFlagsSkipAABBsKHRMask = 0x00000200,
+};
+
+enum RayQueryIntersection {
+ RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
+ RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
+ RayQueryIntersectionMax = 0x7fffffff,
+};
+
+enum RayQueryCommittedIntersectionType {
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
+ RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
+};
+
+enum RayQueryCandidateIntersectionType {
+ RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
+ RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
+ RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
+};
+
+enum FragmentShadingRateShift {
+ FragmentShadingRateVertical2PixelsShift = 0,
+ FragmentShadingRateVertical4PixelsShift = 1,
+ FragmentShadingRateHorizontal2PixelsShift = 2,
+ FragmentShadingRateHorizontal4PixelsShift = 3,
+ FragmentShadingRateMax = 0x7fffffff,
+};
+
+enum FragmentShadingRateMask {
+ FragmentShadingRateMaskNone = 0,
+ FragmentShadingRateVertical2PixelsMask = 0x00000001,
+ FragmentShadingRateVertical4PixelsMask = 0x00000002,
+ FragmentShadingRateHorizontal2PixelsMask = 0x00000004,
+ FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
+};
+
+enum FPDenormMode {
+ FPDenormModePreserve = 0,
+ FPDenormModeFlushToZero = 1,
+ FPDenormModeMax = 0x7fffffff,
+};
+
+enum FPOperationMode {
+ FPOperationModeIEEE = 0,
+ FPOperationModeALT = 1,
+ FPOperationModeMax = 0x7fffffff,
+};
+
+enum QuantizationModes {
+ QuantizationModesTRN = 0,
+ QuantizationModesTRN_ZERO = 1,
+ QuantizationModesRND = 2,
+ QuantizationModesRND_ZERO = 3,
+ QuantizationModesRND_INF = 4,
+ QuantizationModesRND_MIN_INF = 5,
+ QuantizationModesRND_CONV = 6,
+ QuantizationModesRND_CONV_ODD = 7,
+ QuantizationModesMax = 0x7fffffff,
+};
+
+enum OverflowModes {
+ OverflowModesWRAP = 0,
+ OverflowModesSAT = 1,
+ OverflowModesSAT_ZERO = 2,
+ OverflowModesSAT_SYM = 3,
+ OverflowModesMax = 0x7fffffff,
+};
+
+enum PackedVectorFormat {
+ PackedVectorFormatPackedVectorFormat4x8Bit = 0,
+ PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
+ PackedVectorFormatMax = 0x7fffffff,
+};
+
+enum Op {
+ OpNop = 0,
+ OpUndef = 1,
+ OpSourceContinued = 2,
+ OpSource = 3,
+ OpSourceExtension = 4,
+ OpName = 5,
+ OpMemberName = 6,
+ OpString = 7,
+ OpLine = 8,
+ OpExtension = 10,
+ OpExtInstImport = 11,
+ OpExtInst = 12,
+ OpMemoryModel = 14,
+ OpEntryPoint = 15,
+ OpExecutionMode = 16,
+ OpCapability = 17,
+ OpTypeVoid = 19,
+ OpTypeBool = 20,
+ OpTypeInt = 21,
+ OpTypeFloat = 22,
+ OpTypeVector = 23,
+ OpTypeMatrix = 24,
+ OpTypeImage = 25,
+ OpTypeSampler = 26,
+ OpTypeSampledImage = 27,
+ OpTypeArray = 28,
+ OpTypeRuntimeArray = 29,
+ OpTypeStruct = 30,
+ OpTypeOpaque = 31,
+ OpTypePointer = 32,
+ OpTypeFunction = 33,
+ OpTypeEvent = 34,
+ OpTypeDeviceEvent = 35,
+ OpTypeReserveId = 36,
+ OpTypeQueue = 37,
+ OpTypePipe = 38,
+ OpTypeForwardPointer = 39,
+ OpConstantTrue = 41,
+ OpConstantFalse = 42,
+ OpConstant = 43,
+ OpConstantComposite = 44,
+ OpConstantSampler = 45,
+ OpConstantNull = 46,
+ OpSpecConstantTrue = 48,
+ OpSpecConstantFalse = 49,
+ OpSpecConstant = 50,
+ OpSpecConstantComposite = 51,
+ OpSpecConstantOp = 52,
+ OpFunction = 54,
+ OpFunctionParameter = 55,
+ OpFunctionEnd = 56,
+ OpFunctionCall = 57,
+ OpVariable = 59,
+ OpImageTexelPointer = 60,
+ OpLoad = 61,
+ OpStore = 62,
+ OpCopyMemory = 63,
+ OpCopyMemorySized = 64,
+ OpAccessChain = 65,
+ OpInBoundsAccessChain = 66,
+ OpPtrAccessChain = 67,
+ OpArrayLength = 68,
+ OpGenericPtrMemSemantics = 69,
+ OpInBoundsPtrAccessChain = 70,
+ OpDecorate = 71,
+ OpMemberDecorate = 72,
+ OpDecorationGroup = 73,
+ OpGroupDecorate = 74,
+ OpGroupMemberDecorate = 75,
+ OpVectorExtractDynamic = 77,
+ OpVectorInsertDynamic = 78,
+ OpVectorShuffle = 79,
+ OpCompositeConstruct = 80,
+ OpCompositeExtract = 81,
+ OpCompositeInsert = 82,
+ OpCopyObject = 83,
+ OpTranspose = 84,
+ OpSampledImage = 86,
+ OpImageSampleImplicitLod = 87,
+ OpImageSampleExplicitLod = 88,
+ OpImageSampleDrefImplicitLod = 89,
+ OpImageSampleDrefExplicitLod = 90,
+ OpImageSampleProjImplicitLod = 91,
+ OpImageSampleProjExplicitLod = 92,
+ OpImageSampleProjDrefImplicitLod = 93,
+ OpImageSampleProjDrefExplicitLod = 94,
+ OpImageFetch = 95,
+ OpImageGather = 96,
+ OpImageDrefGather = 97,
+ OpImageRead = 98,
+ OpImageWrite = 99,
+ OpImage = 100,
+ OpImageQueryFormat = 101,
+ OpImageQueryOrder = 102,
+ OpImageQuerySizeLod = 103,
+ OpImageQuerySize = 104,
+ OpImageQueryLod = 105,
+ OpImageQueryLevels = 106,
+ OpImageQuerySamples = 107,
+ OpConvertFToU = 109,
+ OpConvertFToS = 110,
+ OpConvertSToF = 111,
+ OpConvertUToF = 112,
+ OpUConvert = 113,
+ OpSConvert = 114,
+ OpFConvert = 115,
+ OpQuantizeToF16 = 116,
+ OpConvertPtrToU = 117,
+ OpSatConvertSToU = 118,
+ OpSatConvertUToS = 119,
+ OpConvertUToPtr = 120,
+ OpPtrCastToGeneric = 121,
+ OpGenericCastToPtr = 122,
+ OpGenericCastToPtrExplicit = 123,
+ OpBitcast = 124,
+ OpSNegate = 126,
+ OpFNegate = 127,
+ OpIAdd = 128,
+ OpFAdd = 129,
+ OpISub = 130,
+ OpFSub = 131,
+ OpIMul = 132,
+ OpFMul = 133,
+ OpUDiv = 134,
+ OpSDiv = 135,
+ OpFDiv = 136,
+ OpUMod = 137,
+ OpSRem = 138,
+ OpSMod = 139,
+ OpFRem = 140,
+ OpFMod = 141,
+ OpVectorTimesScalar = 142,
+ OpMatrixTimesScalar = 143,
+ OpVectorTimesMatrix = 144,
+ OpMatrixTimesVector = 145,
+ OpMatrixTimesMatrix = 146,
+ OpOuterProduct = 147,
+ OpDot = 148,
+ OpIAddCarry = 149,
+ OpISubBorrow = 150,
+ OpUMulExtended = 151,
+ OpSMulExtended = 152,
+ OpAny = 154,
+ OpAll = 155,
+ OpIsNan = 156,
+ OpIsInf = 157,
+ OpIsFinite = 158,
+ OpIsNormal = 159,
+ OpSignBitSet = 160,
+ OpLessOrGreater = 161,
+ OpOrdered = 162,
+ OpUnordered = 163,
+ OpLogicalEqual = 164,
+ OpLogicalNotEqual = 165,
+ OpLogicalOr = 166,
+ OpLogicalAnd = 167,
+ OpLogicalNot = 168,
+ OpSelect = 169,
+ OpIEqual = 170,
+ OpINotEqual = 171,
+ OpUGreaterThan = 172,
+ OpSGreaterThan = 173,
+ OpUGreaterThanEqual = 174,
+ OpSGreaterThanEqual = 175,
+ OpULessThan = 176,
+ OpSLessThan = 177,
+ OpULessThanEqual = 178,
+ OpSLessThanEqual = 179,
+ OpFOrdEqual = 180,
+ OpFUnordEqual = 181,
+ OpFOrdNotEqual = 182,
+ OpFUnordNotEqual = 183,
+ OpFOrdLessThan = 184,
+ OpFUnordLessThan = 185,
+ OpFOrdGreaterThan = 186,
+ OpFUnordGreaterThan = 187,
+ OpFOrdLessThanEqual = 188,
+ OpFUnordLessThanEqual = 189,
+ OpFOrdGreaterThanEqual = 190,
+ OpFUnordGreaterThanEqual = 191,
+ OpShiftRightLogical = 194,
+ OpShiftRightArithmetic = 195,
+ OpShiftLeftLogical = 196,
+ OpBitwiseOr = 197,
+ OpBitwiseXor = 198,
+ OpBitwiseAnd = 199,
+ OpNot = 200,
+ OpBitFieldInsert = 201,
+ OpBitFieldSExtract = 202,
+ OpBitFieldUExtract = 203,
+ OpBitReverse = 204,
+ OpBitCount = 205,
+ OpDPdx = 207,
+ OpDPdy = 208,
+ OpFwidth = 209,
+ OpDPdxFine = 210,
+ OpDPdyFine = 211,
+ OpFwidthFine = 212,
+ OpDPdxCoarse = 213,
+ OpDPdyCoarse = 214,
+ OpFwidthCoarse = 215,
+ OpEmitVertex = 218,
+ OpEndPrimitive = 219,
+ OpEmitStreamVertex = 220,
+ OpEndStreamPrimitive = 221,
+ OpControlBarrier = 224,
+ OpMemoryBarrier = 225,
+ OpAtomicLoad = 227,
+ OpAtomicStore = 228,
+ OpAtomicExchange = 229,
+ OpAtomicCompareExchange = 230,
+ OpAtomicCompareExchangeWeak = 231,
+ OpAtomicIIncrement = 232,
+ OpAtomicIDecrement = 233,
+ OpAtomicIAdd = 234,
+ OpAtomicISub = 235,
+ OpAtomicSMin = 236,
+ OpAtomicUMin = 237,
+ OpAtomicSMax = 238,
+ OpAtomicUMax = 239,
+ OpAtomicAnd = 240,
+ OpAtomicOr = 241,
+ OpAtomicXor = 242,
+ OpPhi = 245,
+ OpLoopMerge = 246,
+ OpSelectionMerge = 247,
+ OpLabel = 248,
+ OpBranch = 249,
+ OpBranchConditional = 250,
+ OpSwitch = 251,
+ OpKill = 252,
+ OpReturn = 253,
+ OpReturnValue = 254,
+ OpUnreachable = 255,
+ OpLifetimeStart = 256,
+ OpLifetimeStop = 257,
+ OpGroupAsyncCopy = 259,
+ OpGroupWaitEvents = 260,
+ OpGroupAll = 261,
+ OpGroupAny = 262,
+ OpGroupBroadcast = 263,
+ OpGroupIAdd = 264,
+ OpGroupFAdd = 265,
+ OpGroupFMin = 266,
+ OpGroupUMin = 267,
+ OpGroupSMin = 268,
+ OpGroupFMax = 269,
+ OpGroupUMax = 270,
+ OpGroupSMax = 271,
+ OpReadPipe = 274,
+ OpWritePipe = 275,
+ OpReservedReadPipe = 276,
+ OpReservedWritePipe = 277,
+ OpReserveReadPipePackets = 278,
+ OpReserveWritePipePackets = 279,
+ OpCommitReadPipe = 280,
+ OpCommitWritePipe = 281,
+ OpIsValidReserveId = 282,
+ OpGetNumPipePackets = 283,
+ OpGetMaxPipePackets = 284,
+ OpGroupReserveReadPipePackets = 285,
+ OpGroupReserveWritePipePackets = 286,
+ OpGroupCommitReadPipe = 287,
+ OpGroupCommitWritePipe = 288,
+ OpEnqueueMarker = 291,
+ OpEnqueueKernel = 292,
+ OpGetKernelNDrangeSubGroupCount = 293,
+ OpGetKernelNDrangeMaxSubGroupSize = 294,
+ OpGetKernelWorkGroupSize = 295,
+ OpGetKernelPreferredWorkGroupSizeMultiple = 296,
+ OpRetainEvent = 297,
+ OpReleaseEvent = 298,
+ OpCreateUserEvent = 299,
+ OpIsValidEvent = 300,
+ OpSetUserEventStatus = 301,
+ OpCaptureEventProfilingInfo = 302,
+ OpGetDefaultQueue = 303,
+ OpBuildNDRange = 304,
+ OpImageSparseSampleImplicitLod = 305,
+ OpImageSparseSampleExplicitLod = 306,
+ OpImageSparseSampleDrefImplicitLod = 307,
+ OpImageSparseSampleDrefExplicitLod = 308,
+ OpImageSparseSampleProjImplicitLod = 309,
+ OpImageSparseSampleProjExplicitLod = 310,
+ OpImageSparseSampleProjDrefImplicitLod = 311,
+ OpImageSparseSampleProjDrefExplicitLod = 312,
+ OpImageSparseFetch = 313,
+ OpImageSparseGather = 314,
+ OpImageSparseDrefGather = 315,
+ OpImageSparseTexelsResident = 316,
+ OpNoLine = 317,
+ OpAtomicFlagTestAndSet = 318,
+ OpAtomicFlagClear = 319,
+ OpImageSparseRead = 320,
+ OpSizeOf = 321,
+ OpTypePipeStorage = 322,
+ OpConstantPipeStorage = 323,
+ OpCreatePipeFromPipeStorage = 324,
+ OpGetKernelLocalSizeForSubgroupCount = 325,
+ OpGetKernelMaxNumSubgroups = 326,
+ OpTypeNamedBarrier = 327,
+ OpNamedBarrierInitialize = 328,
+ OpMemoryNamedBarrier = 329,
+ OpModuleProcessed = 330,
+ OpExecutionModeId = 331,
+ OpDecorateId = 332,
+ OpGroupNonUniformElect = 333,
+ OpGroupNonUniformAll = 334,
+ OpGroupNonUniformAny = 335,
+ OpGroupNonUniformAllEqual = 336,
+ OpGroupNonUniformBroadcast = 337,
+ OpGroupNonUniformBroadcastFirst = 338,
+ OpGroupNonUniformBallot = 339,
+ OpGroupNonUniformInverseBallot = 340,
+ OpGroupNonUniformBallotBitExtract = 341,
+ OpGroupNonUniformBallotBitCount = 342,
+ OpGroupNonUniformBallotFindLSB = 343,
+ OpGroupNonUniformBallotFindMSB = 344,
+ OpGroupNonUniformShuffle = 345,
+ OpGroupNonUniformShuffleXor = 346,
+ OpGroupNonUniformShuffleUp = 347,
+ OpGroupNonUniformShuffleDown = 348,
+ OpGroupNonUniformIAdd = 349,
+ OpGroupNonUniformFAdd = 350,
+ OpGroupNonUniformIMul = 351,
+ OpGroupNonUniformFMul = 352,
+ OpGroupNonUniformSMin = 353,
+ OpGroupNonUniformUMin = 354,
+ OpGroupNonUniformFMin = 355,
+ OpGroupNonUniformSMax = 356,
+ OpGroupNonUniformUMax = 357,
+ OpGroupNonUniformFMax = 358,
+ OpGroupNonUniformBitwiseAnd = 359,
+ OpGroupNonUniformBitwiseOr = 360,
+ OpGroupNonUniformBitwiseXor = 361,
+ OpGroupNonUniformLogicalAnd = 362,
+ OpGroupNonUniformLogicalOr = 363,
+ OpGroupNonUniformLogicalXor = 364,
+ OpGroupNonUniformQuadBroadcast = 365,
+ OpGroupNonUniformQuadSwap = 366,
+ OpCopyLogical = 400,
+ OpPtrEqual = 401,
+ OpPtrNotEqual = 402,
+ OpPtrDiff = 403,
+ OpTerminateInvocation = 4416,
+ OpSubgroupBallotKHR = 4421,
+ OpSubgroupFirstInvocationKHR = 4422,
+ OpSubgroupAllKHR = 4428,
+ OpSubgroupAnyKHR = 4429,
+ OpSubgroupAllEqualKHR = 4430,
+ OpSubgroupReadInvocationKHR = 4432,
+ OpTraceRayKHR = 4445,
+ OpExecuteCallableKHR = 4446,
+ OpConvertUToAccelerationStructureKHR = 4447,
+ OpIgnoreIntersectionKHR = 4448,
+ OpTerminateRayKHR = 4449,
+ OpSDot = 4450,
+ OpSDotKHR = 4450,
+ OpUDot = 4451,
+ OpUDotKHR = 4451,
+ OpSUDot = 4452,
+ OpSUDotKHR = 4452,
+ OpSDotAccSat = 4453,
+ OpSDotAccSatKHR = 4453,
+ OpUDotAccSat = 4454,
+ OpUDotAccSatKHR = 4454,
+ OpSUDotAccSat = 4455,
+ OpSUDotAccSatKHR = 4455,
+ OpTypeRayQueryKHR = 4472,
+ OpRayQueryInitializeKHR = 4473,
+ OpRayQueryTerminateKHR = 4474,
+ OpRayQueryGenerateIntersectionKHR = 4475,
+ OpRayQueryConfirmIntersectionKHR = 4476,
+ OpRayQueryProceedKHR = 4477,
+ OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpGroupIAddNonUniformAMD = 5000,
+ OpGroupFAddNonUniformAMD = 5001,
+ OpGroupFMinNonUniformAMD = 5002,
+ OpGroupUMinNonUniformAMD = 5003,
+ OpGroupSMinNonUniformAMD = 5004,
+ OpGroupFMaxNonUniformAMD = 5005,
+ OpGroupUMaxNonUniformAMD = 5006,
+ OpGroupSMaxNonUniformAMD = 5007,
+ OpFragmentMaskFetchAMD = 5011,
+ OpFragmentFetchAMD = 5012,
+ OpReadClockKHR = 5056,
+ OpHitObjectRecordHitMotionNV = 5249,
+ OpHitObjectRecordHitWithIndexMotionNV = 5250,
+ OpHitObjectRecordMissMotionNV = 5251,
+ OpHitObjectGetWorldToObjectNV = 5252,
+ OpHitObjectGetObjectToWorldNV = 5253,
+ OpHitObjectGetObjectRayDirectionNV = 5254,
+ OpHitObjectGetObjectRayOriginNV = 5255,
+ OpHitObjectTraceRayMotionNV = 5256,
+ OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+ OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+ OpHitObjectRecordEmptyNV = 5259,
+ OpHitObjectTraceRayNV = 5260,
+ OpHitObjectRecordHitNV = 5261,
+ OpHitObjectRecordHitWithIndexNV = 5262,
+ OpHitObjectRecordMissNV = 5263,
+ OpHitObjectExecuteShaderNV = 5264,
+ OpHitObjectGetCurrentTimeNV = 5265,
+ OpHitObjectGetAttributesNV = 5266,
+ OpHitObjectGetHitKindNV = 5267,
+ OpHitObjectGetPrimitiveIndexNV = 5268,
+ OpHitObjectGetGeometryIndexNV = 5269,
+ OpHitObjectGetInstanceIdNV = 5270,
+ OpHitObjectGetInstanceCustomIndexNV = 5271,
+ OpHitObjectGetWorldRayDirectionNV = 5272,
+ OpHitObjectGetWorldRayOriginNV = 5273,
+ OpHitObjectGetRayTMaxNV = 5274,
+ OpHitObjectGetRayTMinNV = 5275,
+ OpHitObjectIsEmptyNV = 5276,
+ OpHitObjectIsHitNV = 5277,
+ OpHitObjectIsMissNV = 5278,
+ OpReorderThreadWithHitObjectNV = 5279,
+ OpReorderThreadWithHintNV = 5280,
+ OpTypeHitObjectNV = 5281,
+ OpImageSampleFootprintNV = 5283,
+ OpEmitMeshTasksEXT = 5294,
+ OpSetMeshOutputsEXT = 5295,
+ OpGroupNonUniformPartitionNV = 5296,
+ OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpReportIntersectionKHR = 5334,
+ OpReportIntersectionNV = 5334,
+ OpIgnoreIntersectionNV = 5335,
+ OpTerminateRayNV = 5336,
+ OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
+ OpTypeAccelerationStructureKHR = 5341,
+ OpTypeAccelerationStructureNV = 5341,
+ OpExecuteCallableNV = 5344,
+ OpTypeCooperativeMatrixNV = 5358,
+ OpCooperativeMatrixLoadNV = 5359,
+ OpCooperativeMatrixStoreNV = 5360,
+ OpCooperativeMatrixMulAddNV = 5361,
+ OpCooperativeMatrixLengthNV = 5362,
+ OpBeginInvocationInterlockEXT = 5364,
+ OpEndInvocationInterlockEXT = 5365,
+ OpDemoteToHelperInvocation = 5380,
+ OpDemoteToHelperInvocationEXT = 5380,
+ OpIsHelperInvocationEXT = 5381,
+ OpConvertUToImageNV = 5391,
+ OpConvertUToSamplerNV = 5392,
+ OpConvertImageToUNV = 5393,
+ OpConvertSamplerToUNV = 5394,
+ OpConvertUToSampledImageNV = 5395,
+ OpConvertSampledImageToUNV = 5396,
+ OpSamplerImageAddressingModeNV = 5397,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
+ OpSubgroupImageMediaBlockReadINTEL = 5580,
+ OpSubgroupImageMediaBlockWriteINTEL = 5581,
+ OpUCountLeadingZerosINTEL = 5585,
+ OpUCountTrailingZerosINTEL = 5586,
+ OpAbsISubINTEL = 5587,
+ OpAbsUSubINTEL = 5588,
+ OpIAddSatINTEL = 5589,
+ OpUAddSatINTEL = 5590,
+ OpIAverageINTEL = 5591,
+ OpUAverageINTEL = 5592,
+ OpIAverageRoundedINTEL = 5593,
+ OpUAverageRoundedINTEL = 5594,
+ OpISubSatINTEL = 5595,
+ OpUSubSatINTEL = 5596,
+ OpIMul32x16INTEL = 5597,
+ OpUMul32x16INTEL = 5598,
+ OpConstantFunctionPointerINTEL = 5600,
+ OpFunctionPointerCallINTEL = 5601,
+ OpAsmTargetINTEL = 5609,
+ OpAsmINTEL = 5610,
+ OpAsmCallINTEL = 5611,
+ OpAtomicFMinEXT = 5614,
+ OpAtomicFMaxEXT = 5615,
+ OpAssumeTrueKHR = 5630,
+ OpExpectKHR = 5631,
+ OpDecorateString = 5632,
+ OpDecorateStringGOOGLE = 5632,
+ OpMemberDecorateString = 5633,
+ OpMemberDecorateStringGOOGLE = 5633,
+ OpVmeImageINTEL = 5699,
+ OpTypeVmeImageINTEL = 5700,
+ OpTypeAvcImePayloadINTEL = 5701,
+ OpTypeAvcRefPayloadINTEL = 5702,
+ OpTypeAvcSicPayloadINTEL = 5703,
+ OpTypeAvcMcePayloadINTEL = 5704,
+ OpTypeAvcMceResultINTEL = 5705,
+ OpTypeAvcImeResultINTEL = 5706,
+ OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
+ OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
+ OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
+ OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
+ OpTypeAvcRefResultINTEL = 5711,
+ OpTypeAvcSicResultINTEL = 5712,
+ OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
+ OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
+ OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
+ OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
+ OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
+ OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
+ OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
+ OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
+ OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
+ OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
+ OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
+ OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
+ OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
+ OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
+ OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
+ OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
+ OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
+ OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
+ OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
+ OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
+ OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
+ OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
+ OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
+ OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
+ OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
+ OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
+ OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
+ OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
+ OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
+ OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
+ OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
+ OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
+ OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
+ OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
+ OpSubgroupAvcImeInitializeINTEL = 5747,
+ OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
+ OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
+ OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
+ OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
+ OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
+ OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
+ OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
+ OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
+ OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
+ OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
+ OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
+ OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
+ OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
+ OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
+ OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
+ OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
+ OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
+ OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
+ OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
+ OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
+ OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
+ OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
+ OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
+ OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
+ OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
+ OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
+ OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
+ OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
+ OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
+ OpSubgroupAvcFmeInitializeINTEL = 5781,
+ OpSubgroupAvcBmeInitializeINTEL = 5782,
+ OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
+ OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
+ OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
+ OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
+ OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
+ OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
+ OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
+ OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
+ OpSubgroupAvcSicInitializeINTEL = 5791,
+ OpSubgroupAvcSicConfigureSkcINTEL = 5792,
+ OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
+ OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
+ OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
+ OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
+ OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
+ OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
+ OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
+ OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
+ OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
+ OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
+ OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
+ OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
+ OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
+ OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
+ OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
+ OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
+ OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
+ OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
+ OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
+ OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
+ OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
+ OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
+ OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
+ OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ OpVariableLengthArrayINTEL = 5818,
+ OpSaveMemoryINTEL = 5819,
+ OpRestoreMemoryINTEL = 5820,
+ OpArbitraryFloatSinCosPiINTEL = 5840,
+ OpArbitraryFloatCastINTEL = 5841,
+ OpArbitraryFloatCastFromIntINTEL = 5842,
+ OpArbitraryFloatCastToIntINTEL = 5843,
+ OpArbitraryFloatAddINTEL = 5846,
+ OpArbitraryFloatSubINTEL = 5847,
+ OpArbitraryFloatMulINTEL = 5848,
+ OpArbitraryFloatDivINTEL = 5849,
+ OpArbitraryFloatGTINTEL = 5850,
+ OpArbitraryFloatGEINTEL = 5851,
+ OpArbitraryFloatLTINTEL = 5852,
+ OpArbitraryFloatLEINTEL = 5853,
+ OpArbitraryFloatEQINTEL = 5854,
+ OpArbitraryFloatRecipINTEL = 5855,
+ OpArbitraryFloatRSqrtINTEL = 5856,
+ OpArbitraryFloatCbrtINTEL = 5857,
+ OpArbitraryFloatHypotINTEL = 5858,
+ OpArbitraryFloatSqrtINTEL = 5859,
+ OpArbitraryFloatLogINTEL = 5860,
+ OpArbitraryFloatLog2INTEL = 5861,
+ OpArbitraryFloatLog10INTEL = 5862,
+ OpArbitraryFloatLog1pINTEL = 5863,
+ OpArbitraryFloatExpINTEL = 5864,
+ OpArbitraryFloatExp2INTEL = 5865,
+ OpArbitraryFloatExp10INTEL = 5866,
+ OpArbitraryFloatExpm1INTEL = 5867,
+ OpArbitraryFloatSinINTEL = 5868,
+ OpArbitraryFloatCosINTEL = 5869,
+ OpArbitraryFloatSinCosINTEL = 5870,
+ OpArbitraryFloatSinPiINTEL = 5871,
+ OpArbitraryFloatCosPiINTEL = 5872,
+ OpArbitraryFloatASinINTEL = 5873,
+ OpArbitraryFloatASinPiINTEL = 5874,
+ OpArbitraryFloatACosINTEL = 5875,
+ OpArbitraryFloatACosPiINTEL = 5876,
+ OpArbitraryFloatATanINTEL = 5877,
+ OpArbitraryFloatATanPiINTEL = 5878,
+ OpArbitraryFloatATan2INTEL = 5879,
+ OpArbitraryFloatPowINTEL = 5880,
+ OpArbitraryFloatPowRINTEL = 5881,
+ OpArbitraryFloatPowNINTEL = 5882,
+ OpLoopControlINTEL = 5887,
+ OpFixedSqrtINTEL = 5923,
+ OpFixedRecipINTEL = 5924,
+ OpFixedRsqrtINTEL = 5925,
+ OpFixedSinINTEL = 5926,
+ OpFixedCosINTEL = 5927,
+ OpFixedSinCosINTEL = 5928,
+ OpFixedSinPiINTEL = 5929,
+ OpFixedCosPiINTEL = 5930,
+ OpFixedSinCosPiINTEL = 5931,
+ OpFixedLogINTEL = 5932,
+ OpFixedExpINTEL = 5933,
+ OpPtrCastToCrossWorkgroupINTEL = 5934,
+ OpCrossWorkgroupCastToPtrINTEL = 5938,
+ OpReadPipeBlockingINTEL = 5946,
+ OpWritePipeBlockingINTEL = 5947,
+ OpFPGARegINTEL = 5949,
+ OpRayQueryGetRayTMinKHR = 6016,
+ OpRayQueryGetRayFlagsKHR = 6017,
+ OpRayQueryGetIntersectionTKHR = 6018,
+ OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
+ OpRayQueryGetIntersectionInstanceIdKHR = 6020,
+ OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
+ OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
+ OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
+ OpRayQueryGetIntersectionBarycentricsKHR = 6024,
+ OpRayQueryGetIntersectionFrontFaceKHR = 6025,
+ OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
+ OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
+ OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
+ OpRayQueryGetWorldRayDirectionKHR = 6029,
+ OpRayQueryGetWorldRayOriginKHR = 6030,
+ OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
+ OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+ OpAtomicFAddEXT = 6035,
+ OpTypeBufferSurfaceINTEL = 6086,
+ OpTypeStructContinuedINTEL = 6090,
+ OpConstantCompositeContinuedINTEL = 6091,
+ OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpMax = 0x7fffffff,
+};
+
+#ifdef SPV_ENABLE_UTILITY_CODE
+inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
+ *hasResult = *hasResultType = false;
+ switch (opcode) {
+ default: /* unknown opcode */ break;
+ case OpNop: *hasResult = false; *hasResultType = false; break;
+ case OpUndef: *hasResult = true; *hasResultType = true; break;
+ case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
+ case OpSource: *hasResult = false; *hasResultType = false; break;
+ case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
+ case OpName: *hasResult = false; *hasResultType = false; break;
+ case OpMemberName: *hasResult = false; *hasResultType = false; break;
+ case OpString: *hasResult = true; *hasResultType = false; break;
+ case OpLine: *hasResult = false; *hasResultType = false; break;
+ case OpExtension: *hasResult = false; *hasResultType = false; break;
+ case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
+ case OpExtInst: *hasResult = true; *hasResultType = true; break;
+ case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
+ case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
+ case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
+ case OpCapability: *hasResult = false; *hasResultType = false; break;
+ case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
+ case OpTypeBool: *hasResult = true; *hasResultType = false; break;
+ case OpTypeInt: *hasResult = true; *hasResultType = false; break;
+ case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
+ case OpTypeVector: *hasResult = true; *hasResultType = false; break;
+ case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
+ case OpTypeImage: *hasResult = true; *hasResultType = false; break;
+ case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
+ case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
+ case OpTypeArray: *hasResult = true; *hasResultType = false; break;
+ case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
+ case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
+ case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
+ case OpTypePointer: *hasResult = true; *hasResultType = false; break;
+ case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
+ case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
+ case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
+ case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
+ case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
+ case OpTypePipe: *hasResult = true; *hasResultType = false; break;
+ case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
+ case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
+ case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
+ case OpConstant: *hasResult = true; *hasResultType = true; break;
+ case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
+ case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
+ case OpConstantNull: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
+ case OpFunction: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
+ case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
+ case OpVariable: *hasResult = true; *hasResultType = true; break;
+ case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
+ case OpLoad: *hasResult = true; *hasResultType = true; break;
+ case OpStore: *hasResult = false; *hasResultType = false; break;
+ case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
+ case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
+ case OpAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpArrayLength: *hasResult = true; *hasResultType = true; break;
+ case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
+ case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
+ case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
+ case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
+ case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
+ case OpCopyObject: *hasResult = true; *hasResultType = true; break;
+ case OpTranspose: *hasResult = true; *hasResultType = true; break;
+ case OpSampledImage: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageFetch: *hasResult = true; *hasResultType = true; break;
+ case OpImageGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageRead: *hasResult = true; *hasResultType = true; break;
+ case OpImageWrite: *hasResult = false; *hasResultType = false; break;
+ case OpImage: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
+ case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
+ case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
+ case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
+ case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
+ case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
+ case OpUConvert: *hasResult = true; *hasResultType = true; break;
+ case OpSConvert: *hasResult = true; *hasResultType = true; break;
+ case OpFConvert: *hasResult = true; *hasResultType = true; break;
+ case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
+ case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
+ case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
+ case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
+ case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
+ case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
+ case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
+ case OpBitcast: *hasResult = true; *hasResultType = true; break;
+ case OpSNegate: *hasResult = true; *hasResultType = true; break;
+ case OpFNegate: *hasResult = true; *hasResultType = true; break;
+ case OpIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpFAdd: *hasResult = true; *hasResultType = true; break;
+ case OpISub: *hasResult = true; *hasResultType = true; break;
+ case OpFSub: *hasResult = true; *hasResultType = true; break;
+ case OpIMul: *hasResult = true; *hasResultType = true; break;
+ case OpFMul: *hasResult = true; *hasResultType = true; break;
+ case OpUDiv: *hasResult = true; *hasResultType = true; break;
+ case OpSDiv: *hasResult = true; *hasResultType = true; break;
+ case OpFDiv: *hasResult = true; *hasResultType = true; break;
+ case OpUMod: *hasResult = true; *hasResultType = true; break;
+ case OpSRem: *hasResult = true; *hasResultType = true; break;
+ case OpSMod: *hasResult = true; *hasResultType = true; break;
+ case OpFRem: *hasResult = true; *hasResultType = true; break;
+ case OpFMod: *hasResult = true; *hasResultType = true; break;
+ case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
+ case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
+ case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
+ case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
+ case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
+ case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
+ case OpDot: *hasResult = true; *hasResultType = true; break;
+ case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
+ case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
+ case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
+ case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
+ case OpAny: *hasResult = true; *hasResultType = true; break;
+ case OpAll: *hasResult = true; *hasResultType = true; break;
+ case OpIsNan: *hasResult = true; *hasResultType = true; break;
+ case OpIsInf: *hasResult = true; *hasResultType = true; break;
+ case OpIsFinite: *hasResult = true; *hasResultType = true; break;
+ case OpIsNormal: *hasResult = true; *hasResultType = true; break;
+ case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
+ case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
+ case OpOrdered: *hasResult = true; *hasResultType = true; break;
+ case OpUnordered: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
+ case OpSelect: *hasResult = true; *hasResultType = true; break;
+ case OpIEqual: *hasResult = true; *hasResultType = true; break;
+ case OpINotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpULessThan: *hasResult = true; *hasResultType = true; break;
+ case OpSLessThan: *hasResult = true; *hasResultType = true; break;
+ case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
+ case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
+ case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
+ case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
+ case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
+ case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
+ case OpNot: *hasResult = true; *hasResultType = true; break;
+ case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
+ case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
+ case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
+ case OpBitReverse: *hasResult = true; *hasResultType = true; break;
+ case OpBitCount: *hasResult = true; *hasResultType = true; break;
+ case OpDPdx: *hasResult = true; *hasResultType = true; break;
+ case OpDPdy: *hasResult = true; *hasResultType = true; break;
+ case OpFwidth: *hasResult = true; *hasResultType = true; break;
+ case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
+ case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
+ case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
+ case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
+ case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
+ case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
+ case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
+ case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
+ case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
+ case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
+ case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
+ case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
+ case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
+ case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
+ case OpPhi: *hasResult = true; *hasResultType = true; break;
+ case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
+ case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
+ case OpLabel: *hasResult = true; *hasResultType = false; break;
+ case OpBranch: *hasResult = false; *hasResultType = false; break;
+ case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
+ case OpSwitch: *hasResult = false; *hasResultType = false; break;
+ case OpKill: *hasResult = false; *hasResultType = false; break;
+ case OpReturn: *hasResult = false; *hasResultType = false; break;
+ case OpReturnValue: *hasResult = false; *hasResultType = false; break;
+ case OpUnreachable: *hasResult = false; *hasResultType = false; break;
+ case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
+ case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
+ case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
+ case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
+ case OpGroupAll: *hasResult = true; *hasResultType = true; break;
+ case OpGroupAny: *hasResult = true; *hasResultType = true; break;
+ case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
+ case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
+ case OpReadPipe: *hasResult = true; *hasResultType = true; break;
+ case OpWritePipe: *hasResult = true; *hasResultType = true; break;
+ case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
+ case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
+ case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
+ case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
+ case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
+ case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
+ case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
+ case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
+ case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
+ case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
+ case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
+ case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
+ case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
+ case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
+ case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
+ case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
+ case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
+ case OpNoLine: *hasResult = false; *hasResultType = false; break;
+ case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
+ case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
+ case OpSizeOf: *hasResult = true; *hasResultType = true; break;
+ case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
+ case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
+ case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
+ case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
+ case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
+ case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
+ case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
+ case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
+ case OpDecorateId: *hasResult = false; *hasResultType = false; break;
+ case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
+ case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
+ case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
+ case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
+ case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
+ case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
+ case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
+ case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
+ case OpSDot: *hasResult = true; *hasResultType = true; break;
+ case OpUDot: *hasResult = true; *hasResultType = true; break;
+ case OpSUDot: *hasResult = true; *hasResultType = true; break;
+ case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
+ case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
+ case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
+ case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
+ case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
+ case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
+ case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
+ case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
+ case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
+ case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
+ case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
+ case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
+ case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
+ case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
+ case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
+ case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
+ case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
+ case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
+ case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
+ case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
+ case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
+ case OpExpectKHR: *hasResult = true; *hasResultType = true; break;
+ case OpDecorateString: *hasResult = false; *hasResultType = false; break;
+ case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
+ case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
+ case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ }
+}
+#endif /* SPV_ENABLE_UTILITY_CODE */
+
+// Overload operator| for mask bit combining
+
+inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
+inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
+inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
+inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
+inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
+inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
+inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
+inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
+inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
+inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
+
+} // end namespace spv
+
+#endif // #ifndef spirv_HPP
diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt
index d54a1df8..b9bac802 100644
--- a/StandAlone/CMakeLists.txt
+++ b/StandAlone/CMakeLists.txt
@@ -111,7 +111,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `glslangValidatorTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::glslangValidator)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(glslangValidator ALIAS glslang::glslangValidator)
@@ -126,7 +126,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `spirv-remapTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::spirv-remap)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(spirv-remap ALIAS glslang::spirv-remap)
@@ -141,7 +141,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `glslang-default-resource-limitsTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::glslang-default-resource-limits)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(glslang-default-resource-limits ALIAS glslang::glslang-default-resource-limits)
diff --git a/StandAlone/ResourceLimits.cpp b/StandAlone/ResourceLimits.cpp
index 1a76bf62..0e9d1b54 100644
--- a/StandAlone/ResourceLimits.cpp
+++ b/StandAlone/ResourceLimits.cpp
@@ -37,9 +37,9 @@
#include <sstream>
#include <cctype>
-#include "ResourceLimits.h"
+#include "glslang/Public/ResourceLimits.h"
-namespace glslang {
+TBuiltInResource Resources;
const TBuiltInResource DefaultTBuiltInResource = {
/* .MaxLights = */ 32,
@@ -505,6 +505,8 @@ void DecodeResourceLimits(TBuiltInResource* resources, char* config)
resources->maxTaskWorkGroupSizeZ_EXT = value;
else if (tokenStr == "MaxMeshViewCountEXT")
resources->maxMeshViewCountEXT = value;
+ else if (tokenStr == "MaxDualSourceDrawBuffersEXT")
+ resources->maxDualSourceDrawBuffersEXT = value;
else if (tokenStr == "nonInductiveForLoops")
resources->limits.nonInductiveForLoops = (value != 0);
else if (tokenStr == "whileLoops")
@@ -529,4 +531,12 @@ void DecodeResourceLimits(TBuiltInResource* resources, char* config)
}
}
-} // end namespace glslang
+TBuiltInResource* GetResources()
+{
+ return &Resources;
+}
+
+const TBuiltInResource* GetDefaultResources()
+{
+ return &DefaultTBuiltInResource;
+}
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index edde81e2..e0262856 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -41,7 +41,7 @@
#define _CRT_SECURE_NO_WARNINGS
#endif
-#include "ResourceLimits.h"
+#include "glslang/Public/ResourceLimits.h"
#include "Worklist.h"
#include "DirStackFileIncluder.h"
#include "./../glslang/Include/ShHandle.h"
@@ -149,7 +149,6 @@ bool LinkFailed = false;
// array of unique places to leave the shader names and infologs for the asynchronous compiles
std::vector<std::unique_ptr<glslang::TWorkItem>> WorkItems;
-TBuiltInResource Resources;
std::string ConfigFile;
//
@@ -158,11 +157,11 @@ std::string ConfigFile;
void ProcessConfigFile()
{
if (ConfigFile.size() == 0)
- Resources = glslang::DefaultTBuiltInResource;
+ *GetResources() = *GetDefaultResources();
#ifndef GLSLANG_WEB
else {
char* configString = ReadFileData(ConfigFile.c_str());
- glslang::DecodeResourceLimits(&Resources, configString);
+ DecodeResourceLimits(GetResources(), configString);
FreeFileData(configString);
}
#endif
@@ -505,7 +504,7 @@ void ProcessGlobalBlockSettings(int& argc, char**& argv, std::string* name, unsi
if (set) {
errno = 0;
- int setVal = ::strtol(argv[curArg], NULL, 10);
+ int setVal = ::strtol(argv[curArg], nullptr, 10);
if (errno || setVal < 0) {
printf("%s: invalid set\n", argv[curArg]);
usage();
@@ -517,7 +516,7 @@ void ProcessGlobalBlockSettings(int& argc, char**& argv, std::string* name, unsi
if (binding) {
errno = 0;
- int bindingVal = ::strtol(argv[curArg], NULL, 10);
+ int bindingVal = ::strtol(argv[curArg], nullptr, 10);
if (errno || bindingVal < 0) {
printf("%s: invalid binding\n", argv[curArg]);
usage();
@@ -595,12 +594,12 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
const auto getUniformOverride = [getStringOperand]() {
const char *arg = getStringOperand("-u<name>:<location>");
const char *split = strchr(arg, ':');
- if (split == NULL) {
+ if (split == nullptr) {
printf("%s: missing location\n", arg);
exit(EFailUsage);
}
errno = 0;
- int location = ::strtol(split + 1, NULL, 10);
+ int location = ::strtol(split + 1, nullptr, 10);
if (errno) {
printf("%s: invalid location\n", arg);
exit(EFailUsage);
@@ -627,7 +626,7 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
} else if (lowerword == "uniform-base") {
if (argc <= 1)
Error("no <base> provided", lowerword.c_str());
- uniformBase = ::strtol(argv[1], NULL, 10);
+ uniformBase = ::strtol(argv[1], nullptr, 10);
bumpArg();
break;
} else if (lowerword == "client") {
@@ -1162,7 +1161,7 @@ void CompileShaders(glslang::TWorklist& worklist)
} else {
while (worklist.remove(workItem)) {
ShHandle compiler = ShConstructCompiler(FindLanguage(workItem->name), Options);
- if (compiler == 0)
+ if (compiler == nullptr)
return;
CompileFile(workItem->name.c_str(), compiler);
@@ -1298,7 +1297,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
sources.push_back(compUnit.fileNameList[i]);
}
glslang::TShader* shader = new glslang::TShader(compUnit.stage);
- shader->setStringsWithLengthsAndNames(compUnit.text, NULL, compUnit.fileNameList, compUnit.count);
+ shader->setStringsWithLengthsAndNames(compUnit.text, nullptr, compUnit.fileNameList, compUnit.count);
if (entryPointName)
shader->setEntryPoint(entryPointName);
if (sourceEntryPointName) {
@@ -1417,7 +1416,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
#ifndef GLSLANG_WEB
if (Options & EOptionOutputPreprocessed) {
std::string str;
- if (shader->preprocess(&Resources, defaultVersion, ENoProfile, false, false, messages, &str, includer)) {
+ if (shader->preprocess(GetResources(), defaultVersion, ENoProfile, false, false, messages, &str, includer)) {
PutsIfNonEmpty(str.c_str());
} else {
CompileFailed = true;
@@ -1428,7 +1427,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
}
#endif
- if (! shader->parse(&Resources, defaultVersion, false, messages, includer))
+ if (! shader->parse(GetResources(), defaultVersion, false, messages, includer))
CompileFailed = true;
program.addShader(shader);
@@ -1612,7 +1611,7 @@ int singleMain()
#ifndef GLSLANG_WEB
if (Options & EOptionDumpConfig) {
- printf("%s", glslang::GetDefaultTBuiltInResourceString().c_str());
+ printf("%s", GetDefaultTBuiltInResourceString().c_str());
if (workList.empty())
return ESuccess;
}
@@ -1838,7 +1837,7 @@ void CompileFile(const char* fileName, ShHandle compiler)
for (int i = 0; i < ((Options & EOptionMemoryLeakMode) ? 100 : 1); ++i) {
for (int j = 0; j < ((Options & EOptionMemoryLeakMode) ? 100 : 1); ++j) {
// ret = ShCompile(compiler, shaderStrings, NumShaderStrings, lengths, EShOptNone, &Resources, Options, (Options & EOptionDefaultDesktop) ? 110 : 100, false, messages);
- ret = ShCompile(compiler, &shaderString, 1, nullptr, EShOptNone, &Resources, Options, (Options & EOptionDefaultDesktop) ? 110 : 100, false, messages);
+ ret = ShCompile(compiler, &shaderString, 1, nullptr, EShOptNone, GetResources(), Options, (Options & EOptionDefaultDesktop) ? 110 : 100, false, messages);
// const char* multi[12] = { "# ve", "rsion", " 300 e", "s", "\n#err",
// "or should be l", "ine 1", "string 5\n", "float glo", "bal",
// ";\n#error should be line 2\n void main() {", "global = 2.3;}" };
diff --git a/StandAlone/resource_limits_c.cpp b/StandAlone/resource_limits_c.cpp
index a1f681c7..0eeac23a 100644
--- a/StandAlone/resource_limits_c.cpp
+++ b/StandAlone/resource_limits_c.cpp
@@ -26,15 +26,20 @@ 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.
**/
-#include "resource_limits_c.h"
-#include "ResourceLimits.h"
+#include "glslang/Public/resource_limits_c.h"
+#include "glslang/Public/ResourceLimits.h"
#include <stdlib.h>
#include <string.h>
#include <string>
+glslang_resource_t* glslang_resource(void)
+{
+ return reinterpret_cast<glslang_resource_t*>(GetResources());
+}
+
const glslang_resource_t* glslang_default_resource(void)
{
- return reinterpret_cast<const glslang_resource_t*>(&glslang::DefaultTBuiltInResource);
+ return reinterpret_cast<const glslang_resource_t*>(GetDefaultResources());
}
#if defined(__clang__) || defined(__GNUC__)
@@ -47,7 +52,7 @@ const glslang_resource_t* glslang_default_resource(void)
const char* glslang_default_resource_string()
{
- std::string cpp_str = glslang::GetDefaultTBuiltInResourceString();
+ std::string cpp_str = GetDefaultTBuiltInResourceString();
char* c_str = (char*)malloc(cpp_str.length() + 1);
strcpy(c_str, cpp_str.c_str());
return c_str;
@@ -61,5 +66,5 @@ const char* glslang_default_resource_string()
void glslang_decode_resource_limits(glslang_resource_t* resources, char* config)
{
- glslang::DecodeResourceLimits(reinterpret_cast<TBuiltInResource*>(resources), config);
+ DecodeResourceLimits(reinterpret_cast<TBuiltInResource*>(resources), config);
}
diff --git a/StandAlone/spirv-remap.cpp b/StandAlone/spirv-remap.cpp
index 15c3ac51..301bb0cb 100644
--- a/StandAlone/spirv-remap.cpp
+++ b/StandAlone/spirv-remap.cpp
@@ -157,7 +157,7 @@ namespace {
}
// Print helpful usage message to stdout, and exit
- void usage(const char* const name, const char* const msg = 0)
+ void usage(const char* const name, const char* const msg = nullptr)
{
if (msg)
std::cout << msg << std::endl << std::endl;
@@ -245,7 +245,7 @@ namespace {
verbosity = 1;
if (a < argc) {
- char* end_ptr = 0;
+ char* end_ptr = nullptr;
int verb = ::strtol(argv[a], &end_ptr, 10);
// If we have not read to the end of the string or
// the string contained no elements, then we do not want to
diff --git a/Test/GL_ARB_bindless_texture.frag b/Test/GL_ARB_bindless_texture.frag
new file mode 100644
index 00000000..58c8359e
--- /dev/null
+++ b/Test/GL_ARB_bindless_texture.frag
@@ -0,0 +1,50 @@
+#version 460 compatibility
+
+#extension GL_ARB_bindless_texture: require
+
+#if !defined GL_ARB_bindless_texture
+# error GL_ARB_bindless_texture is not defined
+#elif GL_ARB_bindless_texture != 1
+# error GL_ARB_bindless_texture is not equal to 1
+#endif
+
+// Valid usage cases
+layout(bindless_sampler) uniform sampler2D s0; // case0: bindless layout
+in sampler2D s1; // case1: sampler as an input
+uniform uvec2 s2; // case2: uvec2 as sampler constructor
+uniform ivec2 s3; // case3: ivec2 as sampler constructor
+uniform int index;
+in sampler2D s4[2][3]; // case4: sampler arrays of arrays
+uniform BB {sampler2D s5;} bbs5[2]; // case5: uniform block member as a sampler
+in samplerBuffer s6; // case6: samplerBuffer input
+uniform UBO9 {samplerBuffer s7;}; // case7: samplerBuffer as an uniform block member
+buffer SSBO10 {samplerBuffer s8;}; // case8: samplerBuffer as an ssbo member
+layout(rgba8, bindless_image) in image2D i9; // case9: bindless image as an input
+
+
+uniform vec2 coord; // bindless coord 2-D
+uniform int icoord; // bindless coord 1-D
+out vec4 color0;
+out vec4 color1;
+out vec4 color2;
+out vec4 color3;
+out vec4 color4;
+out vec4 color5;
+out vec4 color6;
+out vec4 color7;
+out vec4 color8;
+out vec4 color9;
+
+void main()
+{
+ color0 = texture(s0, coord);
+ color1 = texture(s1, coord);
+ color2 = texture(sampler2D(s2), coord);
+ color3 = texture(sampler2D(s3), coord);
+ color4 = texture(s4[index][index], coord);
+ color5 = texture(bbs5[index].s5, coord);
+ color6 = texelFetch(s6, icoord);
+ color7 = texelFetch(s7, icoord);
+ color8 = texelFetch(s8, icoord);
+ color9 = imageLoad(i9, ivec2(0,0));
+} \ No newline at end of file
diff --git a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out
index 2afdb104..100f6d71 100644
--- a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out
+++ b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out
@@ -1,6 +1,6 @@
hlsl.aliasOpaque.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 89
Capability Shader
diff --git a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out
index 7bb33e60..be1637ff 100644
--- a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out
+++ b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out
@@ -1,6 +1,6 @@
hlsl.flattenOpaque.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 190
Capability Shader
diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
index 0e8583f9..18d76949 100644
--- a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
+++ b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
@@ -1,6 +1,6 @@
hlsl.flattenOpaqueInit.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 139
Capability Shader
diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
index fe858efd..914d9b5d 100644
--- a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
+++ b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
@@ -1,6 +1,6 @@
hlsl.flattenOpaqueInitMix.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 99
Capability Shader
diff --git a/Test/baseLegalResults/hlsl.flattenSubset.frag.out b/Test/baseLegalResults/hlsl.flattenSubset.frag.out
index 46d3afba..2be41f04 100644
--- a/Test/baseLegalResults/hlsl.flattenSubset.frag.out
+++ b/Test/baseLegalResults/hlsl.flattenSubset.frag.out
@@ -1,6 +1,6 @@
hlsl.flattenSubset.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 67
Capability Shader
diff --git a/Test/baseLegalResults/hlsl.flattenSubset2.frag.out b/Test/baseLegalResults/hlsl.flattenSubset2.frag.out
index 408c0eac..656ff738 100644
--- a/Test/baseLegalResults/hlsl.flattenSubset2.frag.out
+++ b/Test/baseLegalResults/hlsl.flattenSubset2.frag.out
@@ -1,6 +1,6 @@
hlsl.flattenSubset2.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 53
Capability Shader
diff --git a/Test/baseLegalResults/hlsl.intrinsics.evalfns.frag.out b/Test/baseLegalResults/hlsl.intrinsics.evalfns.frag.out
index 564f0f4c..936df717 100644
--- a/Test/baseLegalResults/hlsl.intrinsics.evalfns.frag.out
+++ b/Test/baseLegalResults/hlsl.intrinsics.evalfns.frag.out
@@ -1,6 +1,6 @@
hlsl.intrinsics.evalfns.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 274
Capability Shader
diff --git a/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out b/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
index f45a7688..b6640983 100644
--- a/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
+++ b/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
@@ -1,6 +1,6 @@
hlsl.partialFlattenLocal.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 164
Capability Shader
diff --git a/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out b/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out
index 8975ed2a..8f3ac26f 100644
--- a/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out
+++ b/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out
@@ -1,6 +1,6 @@
hlsl.partialFlattenMixed.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 36
Capability Shader
diff --git a/Test/baseResults/GL_ARB_bindless_texture.frag.out b/Test/baseResults/GL_ARB_bindless_texture.frag.out
new file mode 100644
index 00000000..3f902c99
--- /dev/null
+++ b/Test/baseResults/GL_ARB_bindless_texture.frag.out
@@ -0,0 +1,205 @@
+GL_ARB_bindless_texture.frag
+Shader version: 460
+Requested GL_ARB_bindless_texture
+0:? Sequence
+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 'color0' ( out 4-component vector of float)
+0:40 texture ( global 4-component vector of float)
+0:40 's0' ( uniform sampler2D)
+0:40 'coord' ( uniform 2-component vector of float)
+0:41 move second child to first child ( temp 4-component vector of float)
+0:41 'color1' ( out 4-component vector of float)
+0:41 texture ( global 4-component vector of float)
+0:41 's1' ( smooth in sampler2D)
+0:41 'coord' ( uniform 2-component vector of float)
+0:42 move second child to first child ( temp 4-component vector of float)
+0:42 'color2' ( out 4-component vector of float)
+0:42 texture ( global 4-component vector of float)
+0:42 packUint2x32 ( temp sampler2D)
+0:42 's2' ( uniform 2-component vector of uint)
+0:42 'coord' ( uniform 2-component vector of float)
+0:43 move second child to first child ( temp 4-component vector of float)
+0:43 'color3' ( out 4-component vector of float)
+0:43 texture ( global 4-component vector of float)
+0:43 packUint2x32 ( temp sampler2D)
+0:43 's3' ( uniform 2-component vector of int)
+0:43 'coord' ( uniform 2-component vector of float)
+0:44 move second child to first child ( temp 4-component vector of float)
+0:44 'color4' ( out 4-component vector of float)
+0:44 texture ( global 4-component vector of float)
+0:44 indirect index ( smooth temp sampler2D)
+0:44 indirect index ( smooth temp 3-element array of sampler2D)
+0:44 's4' ( smooth in 2-element array of 3-element array of sampler2D)
+0:44 'index' ( uniform int)
+0:44 'index' ( uniform int)
+0:44 'coord' ( uniform 2-component vector of float)
+0:45 move second child to first child ( temp 4-component vector of float)
+0:45 'color5' ( out 4-component vector of float)
+0:45 texture ( global 4-component vector of float)
+0:45 s5: direct index for structure (layout( column_major shared layoutBindlessSampler) uniform sampler2D)
+0:45 indirect index (layout( column_major shared) temp block{layout( column_major shared layoutBindlessSampler) uniform sampler2D s5})
+0:45 'bbs5' (layout( column_major shared) uniform 2-element array of block{layout( column_major shared layoutBindlessSampler) uniform sampler2D s5})
+0:45 'index' ( uniform int)
+0:45 Constant:
+0:45 0 (const int)
+0:45 'coord' ( uniform 2-component vector of float)
+0:46 move second child to first child ( temp 4-component vector of float)
+0:46 'color6' ( out 4-component vector of float)
+0:46 textureFetch ( global 4-component vector of float)
+0:46 's6' ( smooth in samplerBuffer)
+0:46 'icoord' ( uniform int)
+0:47 move second child to first child ( temp 4-component vector of float)
+0:47 'color7' ( out 4-component vector of float)
+0:47 textureFetch ( global 4-component vector of float)
+0:47 s7: direct index for structure (layout( column_major shared layoutBindlessSampler) uniform samplerBuffer)
+0:47 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared layoutBindlessSampler) uniform samplerBuffer s7})
+0:47 Constant:
+0:47 0 (const uint)
+0:47 'icoord' ( uniform int)
+0:48 move second child to first child ( temp 4-component vector of float)
+0:48 'color8' ( out 4-component vector of float)
+0:48 textureFetch ( global 4-component vector of float)
+0:48 s8: direct index for structure (layout( column_major shared layoutBindlessSampler) buffer samplerBuffer)
+0:48 'anon@1' (layout( column_major shared) buffer block{layout( column_major shared layoutBindlessSampler) buffer samplerBuffer s8})
+0:48 Constant:
+0:48 0 (const uint)
+0:48 'icoord' ( uniform int)
+0:49 move second child to first child ( temp 4-component vector of float)
+0:49 'color9' ( out 4-component vector of float)
+0:49 imageLoad ( global 4-component vector of float)
+0:49 'i9' (layout( rgba8 layoutBindlessImage) smooth in image2D)
+0:49 Constant:
+0:49 0 (const int)
+0:49 0 (const int)
+0:? Linker Objects
+0:? 's0' ( uniform sampler2D)
+0:? 's1' ( smooth in sampler2D)
+0:? 's2' ( uniform 2-component vector of uint)
+0:? 's3' ( uniform 2-component vector of int)
+0:? 'index' ( uniform int)
+0:? 's4' ( smooth in 2-element array of 3-element array of sampler2D)
+0:? 'bbs5' (layout( column_major shared) uniform 2-element array of block{layout( column_major shared layoutBindlessSampler) uniform sampler2D s5})
+0:? 's6' ( smooth in samplerBuffer)
+0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared layoutBindlessSampler) uniform samplerBuffer s7})
+0:? 'anon@1' (layout( column_major shared) buffer block{layout( column_major shared layoutBindlessSampler) buffer samplerBuffer s8})
+0:? 'i9' (layout( rgba8 layoutBindlessImage) smooth in image2D)
+0:? 'coord' ( uniform 2-component vector of float)
+0:? 'icoord' ( uniform int)
+0:? 'color0' ( out 4-component vector of float)
+0:? 'color1' ( out 4-component vector of float)
+0:? 'color2' ( out 4-component vector of float)
+0:? 'color3' ( out 4-component vector of float)
+0:? 'color4' ( out 4-component vector of float)
+0:? 'color5' ( out 4-component vector of float)
+0:? 'color6' ( out 4-component vector of float)
+0:? 'color7' ( out 4-component vector of float)
+0:? 'color8' ( out 4-component vector of float)
+0:? 'color9' ( out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 460
+Requested GL_ARB_bindless_texture
+0:? Sequence
+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 'color0' ( out 4-component vector of float)
+0:40 texture ( global 4-component vector of float)
+0:40 's0' ( uniform sampler2D)
+0:40 'coord' ( uniform 2-component vector of float)
+0:41 move second child to first child ( temp 4-component vector of float)
+0:41 'color1' ( out 4-component vector of float)
+0:41 texture ( global 4-component vector of float)
+0:41 's1' ( smooth in sampler2D)
+0:41 'coord' ( uniform 2-component vector of float)
+0:42 move second child to first child ( temp 4-component vector of float)
+0:42 'color2' ( out 4-component vector of float)
+0:42 texture ( global 4-component vector of float)
+0:42 packUint2x32 ( temp sampler2D)
+0:42 's2' ( uniform 2-component vector of uint)
+0:42 'coord' ( uniform 2-component vector of float)
+0:43 move second child to first child ( temp 4-component vector of float)
+0:43 'color3' ( out 4-component vector of float)
+0:43 texture ( global 4-component vector of float)
+0:43 packUint2x32 ( temp sampler2D)
+0:43 's3' ( uniform 2-component vector of int)
+0:43 'coord' ( uniform 2-component vector of float)
+0:44 move second child to first child ( temp 4-component vector of float)
+0:44 'color4' ( out 4-component vector of float)
+0:44 texture ( global 4-component vector of float)
+0:44 indirect index ( smooth temp sampler2D)
+0:44 indirect index ( smooth temp 3-element array of sampler2D)
+0:44 's4' ( smooth in 2-element array of 3-element array of sampler2D)
+0:44 'index' ( uniform int)
+0:44 'index' ( uniform int)
+0:44 'coord' ( uniform 2-component vector of float)
+0:45 move second child to first child ( temp 4-component vector of float)
+0:45 'color5' ( out 4-component vector of float)
+0:45 texture ( global 4-component vector of float)
+0:45 s5: direct index for structure (layout( column_major shared layoutBindlessSampler) uniform sampler2D)
+0:45 indirect index (layout( column_major shared) temp block{layout( column_major shared layoutBindlessSampler) uniform sampler2D s5})
+0:45 'bbs5' (layout( column_major shared) uniform 2-element array of block{layout( column_major shared layoutBindlessSampler) uniform sampler2D s5})
+0:45 'index' ( uniform int)
+0:45 Constant:
+0:45 0 (const int)
+0:45 'coord' ( uniform 2-component vector of float)
+0:46 move second child to first child ( temp 4-component vector of float)
+0:46 'color6' ( out 4-component vector of float)
+0:46 textureFetch ( global 4-component vector of float)
+0:46 's6' ( smooth in samplerBuffer)
+0:46 'icoord' ( uniform int)
+0:47 move second child to first child ( temp 4-component vector of float)
+0:47 'color7' ( out 4-component vector of float)
+0:47 textureFetch ( global 4-component vector of float)
+0:47 s7: direct index for structure (layout( column_major shared layoutBindlessSampler) uniform samplerBuffer)
+0:47 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared layoutBindlessSampler) uniform samplerBuffer s7})
+0:47 Constant:
+0:47 0 (const uint)
+0:47 'icoord' ( uniform int)
+0:48 move second child to first child ( temp 4-component vector of float)
+0:48 'color8' ( out 4-component vector of float)
+0:48 textureFetch ( global 4-component vector of float)
+0:48 s8: direct index for structure (layout( column_major shared layoutBindlessSampler) buffer samplerBuffer)
+0:48 'anon@1' (layout( column_major shared) buffer block{layout( column_major shared layoutBindlessSampler) buffer samplerBuffer s8})
+0:48 Constant:
+0:48 0 (const uint)
+0:48 'icoord' ( uniform int)
+0:49 move second child to first child ( temp 4-component vector of float)
+0:49 'color9' ( out 4-component vector of float)
+0:49 imageLoad ( global 4-component vector of float)
+0:49 'i9' (layout( rgba8 layoutBindlessImage) smooth in image2D)
+0:49 Constant:
+0:49 0 (const int)
+0:49 0 (const int)
+0:? Linker Objects
+0:? 's0' ( uniform sampler2D)
+0:? 's1' ( smooth in sampler2D)
+0:? 's2' ( uniform 2-component vector of uint)
+0:? 's3' ( uniform 2-component vector of int)
+0:? 'index' ( uniform int)
+0:? 's4' ( smooth in 2-element array of 3-element array of sampler2D)
+0:? 'bbs5' (layout( column_major shared) uniform 2-element array of block{layout( column_major shared layoutBindlessSampler) uniform sampler2D s5})
+0:? 's6' ( smooth in samplerBuffer)
+0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared layoutBindlessSampler) uniform samplerBuffer s7})
+0:? 'anon@1' (layout( column_major shared) buffer block{layout( column_major shared layoutBindlessSampler) buffer samplerBuffer s8})
+0:? 'i9' (layout( rgba8 layoutBindlessImage) smooth in image2D)
+0:? 'coord' ( uniform 2-component vector of float)
+0:? 'icoord' ( uniform int)
+0:? 'color0' ( out 4-component vector of float)
+0:? 'color1' ( out 4-component vector of float)
+0:? 'color2' ( out 4-component vector of float)
+0:? 'color3' ( out 4-component vector of float)
+0:? 'color4' ( out 4-component vector of float)
+0:? 'color5' ( out 4-component vector of float)
+0:? 'color6' ( out 4-component vector of float)
+0:? 'color7' ( out 4-component vector of float)
+0:? 'color8' ( out 4-component vector of float)
+0:? 'color9' ( out 4-component vector of float)
+
diff --git a/Test/baseResults/compoundsuffix.frag.hlsl b/Test/baseResults/compoundsuffix.frag.hlsl
index 5a62488a..f8dcfaa8 100644
--- a/Test/baseResults/compoundsuffix.frag.hlsl
+++ b/Test/baseResults/compoundsuffix.frag.hlsl
@@ -1,45 +1,45 @@
-compoundsuffix.frag.hlsl
-// Module Version 10000
-// Generated by (magic number): 8000a
-// Id's are bound by 22
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 20
- ExecutionMode 4 OriginUpperLeft
- Source HLSL 500
- Name 4 "main"
- Name 11 "@main(vf4;"
- Name 10 "fragColor"
- Name 15 "fragColor"
- Name 16 "param"
- Name 20 "fragColor"
- Decorate 20(fragColor) Location 0
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 9: TypeFunction 2 8(ptr)
- 13: 6(float) Constant 1065353216
- 14: 7(fvec4) ConstantComposite 13 13 13 13
- 19: TypePointer Output 7(fvec4)
- 20(fragColor): 19(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 15(fragColor): 8(ptr) Variable Function
- 16(param): 8(ptr) Variable Function
- 17: 2 FunctionCall 11(@main(vf4;) 16(param)
- 18: 7(fvec4) Load 16(param)
- Store 15(fragColor) 18
- 21: 7(fvec4) Load 15(fragColor)
- Store 20(fragColor) 21
- Return
- FunctionEnd
- 11(@main(vf4;): 2 Function None 9
- 10(fragColor): 8(ptr) FunctionParameter
- 12: Label
- Store 10(fragColor) 14
- Return
- FunctionEnd
+compoundsuffix.frag.hlsl
+// Module Version 10000
+// Generated by (magic number): 8000b
+// Id's are bound by 22
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 20
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 500
+ Name 4 "main"
+ Name 11 "@main(vf4;"
+ Name 10 "fragColor"
+ Name 15 "fragColor"
+ Name 16 "param"
+ Name 20 "fragColor"
+ Decorate 20(fragColor) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeFunction 2 8(ptr)
+ 13: 6(float) Constant 1065353216
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 19: TypePointer Output 7(fvec4)
+ 20(fragColor): 19(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 15(fragColor): 8(ptr) Variable Function
+ 16(param): 8(ptr) Variable Function
+ 17: 2 FunctionCall 11(@main(vf4;) 16(param)
+ 18: 7(fvec4) Load 16(param)
+ Store 15(fragColor) 18
+ 21: 7(fvec4) Load 15(fragColor)
+ Store 20(fragColor) 21
+ Return
+ FunctionEnd
+ 11(@main(vf4;): 2 Function None 9
+ 10(fragColor): 8(ptr) FunctionParameter
+ 12: Label
+ Store 10(fragColor) 14
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/compoundsuffix.vert.glsl b/Test/baseResults/compoundsuffix.vert.glsl
index 58354a40..8535b478 100644
--- a/Test/baseResults/compoundsuffix.vert.glsl
+++ b/Test/baseResults/compoundsuffix.vert.glsl
@@ -1,15 +1,15 @@
-compoundsuffix.vert.glsl
-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
-
+compoundsuffix.vert.glsl
+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/Test/baseResults/glsl.autosampledtextures.frag.out b/Test/baseResults/glsl.autosampledtextures.frag.out
index 2183898a..cbbb2021 100644
--- a/Test/baseResults/glsl.autosampledtextures.frag.out
+++ b/Test/baseResults/glsl.autosampledtextures.frag.out
@@ -1,6 +1,6 @@
glsl.autosampledtextures.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Shader
diff --git a/Test/baseResults/glsl.entryPointRename.vert.bad.out b/Test/baseResults/glsl.entryPointRename.vert.bad.out
index ce34fbf2..ae5de6e3 100644
--- a/Test/baseResults/glsl.entryPointRename.vert.bad.out
+++ b/Test/baseResults/glsl.entryPointRename.vert.bad.out
@@ -2,7 +2,7 @@ glsl.entryPointRename.vert
ERROR: Source entry point must be "main"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/glsl.entryPointRename.vert.out b/Test/baseResults/glsl.entryPointRename.vert.out
index 71319c90..bc142a58 100644
--- a/Test/baseResults/glsl.entryPointRename.vert.out
+++ b/Test/baseResults/glsl.entryPointRename.vert.out
@@ -1,6 +1,6 @@
glsl.entryPointRename.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/glspv.esversion.vert.out b/Test/baseResults/glspv.esversion.vert.out
index 2a0932ab..dedcae9e 100644
--- a/Test/baseResults/glspv.esversion.vert.out
+++ b/Test/baseResults/glspv.esversion.vert.out
@@ -1,6 +1,6 @@
glspv.esversion.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 10
Capability Shader
diff --git a/Test/baseResults/glspv.version.frag.out b/Test/baseResults/glspv.version.frag.out
index a90d9eb8..13abe1d6 100644
--- a/Test/baseResults/glspv.version.frag.out
+++ b/Test/baseResults/glspv.version.frag.out
@@ -2,7 +2,7 @@ glspv.version.frag
ERROR: #version: compilation for SPIR-V does not support the compatibility profile
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 6
Capability Shader
diff --git a/Test/baseResults/hlsl.PointSize.geom.out b/Test/baseResults/hlsl.PointSize.geom.out
index 2b3d9544..c81cf5b3 100644
--- a/Test/baseResults/hlsl.PointSize.geom.out
+++ b/Test/baseResults/hlsl.PointSize.geom.out
@@ -71,7 +71,7 @@ output primitive = line_strip
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 36
Capability Geometry
diff --git a/Test/baseResults/hlsl.PointSize.vert.out b/Test/baseResults/hlsl.PointSize.vert.out
index 12a4d646..5d646a48 100644
--- a/Test/baseResults/hlsl.PointSize.vert.out
+++ b/Test/baseResults/hlsl.PointSize.vert.out
@@ -38,7 +38,7 @@ Shader version: 500
0:? '@entryPointOutput' ( out float PointSize)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 16
Capability Shader
diff --git a/Test/baseResults/hlsl.aliasOpaque.frag.out b/Test/baseResults/hlsl.aliasOpaque.frag.out
index b7c2c9e2..7bea6917 100644
--- a/Test/baseResults/hlsl.aliasOpaque.frag.out
+++ b/Test/baseResults/hlsl.aliasOpaque.frag.out
@@ -143,7 +143,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 64
Capability Shader
diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out
index dde6e29b..b8ac133c 100644
--- a/Test/baseResults/hlsl.amend.frag.out
+++ b/Test/baseResults/hlsl.amend.frag.out
@@ -160,7 +160,7 @@ gl_FragCoord origin is upper left
0:? 'm' ( global 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 57
Capability Shader
diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out
index 5b99f5df..264a716c 100644
--- a/Test/baseResults/hlsl.array.flatten.frag.out
+++ b/Test/baseResults/hlsl.array.flatten.frag.out
@@ -345,7 +345,7 @@ gl_FragCoord origin is upper left
0:? 'ps_output.color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 143
Capability Shader
diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out
index 26917729..eab21a6a 100644
--- a/Test/baseResults/hlsl.array.frag.out
+++ b/Test/baseResults/hlsl.array.frag.out
@@ -290,7 +290,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 126
Capability Shader
diff --git a/Test/baseResults/hlsl.array.implicit-size.frag.out b/Test/baseResults/hlsl.array.implicit-size.frag.out
index 566bc9d5..ae36cef4 100644
--- a/Test/baseResults/hlsl.array.implicit-size.frag.out
+++ b/Test/baseResults/hlsl.array.implicit-size.frag.out
@@ -163,7 +163,7 @@ gl_FragCoord origin is upper left
0:? 'g_mystruct' ( global 2-element array of structure{ temp int i, temp float f})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 72
Capability Shader
diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out
index fa2be659..7b9d9621 100644
--- a/Test/baseResults/hlsl.array.multidim.frag.out
+++ b/Test/baseResults/hlsl.array.multidim.frag.out
@@ -134,7 +134,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 57
Capability Shader
diff --git a/Test/baseResults/hlsl.assoc.frag.out b/Test/baseResults/hlsl.assoc.frag.out
index 69a631e0..018da847 100644
--- a/Test/baseResults/hlsl.assoc.frag.out
+++ b/Test/baseResults/hlsl.assoc.frag.out
@@ -132,7 +132,7 @@ gl_FragCoord origin is upper left
0:? 'a5' (layout( location=4) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 58
Capability Shader
diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out
index 90c17402..ee183c8d 100644
--- a/Test/baseResults/hlsl.attribute.expression.comp.out
+++ b/Test/baseResults/hlsl.attribute.expression.comp.out
@@ -64,7 +64,7 @@ local_size = (4, 6, 8)
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/hlsl.attribute.frag.out b/Test/baseResults/hlsl.attribute.frag.out
index 0d1f709b..cdc34716 100644
--- a/Test/baseResults/hlsl.attribute.frag.out
+++ b/Test/baseResults/hlsl.attribute.frag.out
@@ -50,7 +50,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/hlsl.attributeC11.frag.out b/Test/baseResults/hlsl.attributeC11.frag.out
index 1b651a3b..c97c300a 100644
--- a/Test/baseResults/hlsl.attributeC11.frag.out
+++ b/Test/baseResults/hlsl.attributeC11.frag.out
@@ -95,7 +95,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 51
Capability Shader
diff --git a/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out b/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out
index 244fe7d9..4726ddd0 100644
--- a/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out
+++ b/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out
@@ -56,7 +56,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 28
Capability Shader
diff --git a/Test/baseResults/hlsl.autosampledtextures.frag.out b/Test/baseResults/hlsl.autosampledtextures.frag.out
index 559c1306..070af823 100644
--- a/Test/baseResults/hlsl.autosampledtextures.frag.out
+++ b/Test/baseResults/hlsl.autosampledtextures.frag.out
@@ -1,6 +1,6 @@
hlsl.autosampledtextures.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 45
Capability Shader
diff --git a/Test/baseResults/hlsl.basic.comp.out b/Test/baseResults/hlsl.basic.comp.out
index d71429cf..7b02d252 100644
--- a/Test/baseResults/hlsl.basic.comp.out
+++ b/Test/baseResults/hlsl.basic.comp.out
@@ -64,7 +64,7 @@ local_size = (1, 1, 1)
0:? 'gti' ( in 3-component vector of int LocalInvocationID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 38
Capability Shader
diff --git a/Test/baseResults/hlsl.basic.geom.out b/Test/baseResults/hlsl.basic.geom.out
index 6dea9215..ef2b5ada 100644
--- a/Test/baseResults/hlsl.basic.geom.out
+++ b/Test/baseResults/hlsl.basic.geom.out
@@ -188,7 +188,7 @@ output primitive = line_strip
0:? 'OutputStream.something' (layout( location=1) out int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 68
Capability Geometry
diff --git a/Test/baseResults/hlsl.boolConv.vert.out b/Test/baseResults/hlsl.boolConv.vert.out
index 6a8e5164..c4e3beb8 100644
--- a/Test/baseResults/hlsl.boolConv.vert.out
+++ b/Test/baseResults/hlsl.boolConv.vert.out
@@ -204,7 +204,7 @@ Shader version: 500
0:? '@entryPointOutput' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 99
Capability Shader
diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out
index 04a783c3..f95b8398 100644
--- a/Test/baseResults/hlsl.buffer.frag.out
+++ b/Test/baseResults/hlsl.buffer.frag.out
@@ -147,7 +147,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 73
Capability Shader
diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
index d4367a09..7d896cea 100644
--- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
@@ -358,7 +358,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 148
Capability Shader
diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
index 8a4be02d..3ce857d9 100644
--- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
@@ -358,7 +358,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 148
Capability Shader
diff --git a/Test/baseResults/hlsl.cast.frag.out b/Test/baseResults/hlsl.cast.frag.out
index 3efbd528..ef3957c0 100644
--- a/Test/baseResults/hlsl.cast.frag.out
+++ b/Test/baseResults/hlsl.cast.frag.out
@@ -70,7 +70,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 34
Capability Shader
diff --git a/Test/baseResults/hlsl.cbuffer-identifier.vert.out b/Test/baseResults/hlsl.cbuffer-identifier.vert.out
index 93f35d62..de9deea7 100644
--- a/Test/baseResults/hlsl.cbuffer-identifier.vert.out
+++ b/Test/baseResults/hlsl.cbuffer-identifier.vert.out
@@ -250,7 +250,7 @@ Shader version: 500
0:? 'input.Norm' (layout( location=1) in 3-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 93
Capability Shader
diff --git a/Test/baseResults/hlsl.charLit.vert.out b/Test/baseResults/hlsl.charLit.vert.out
index 2151d43c..6bde4788 100644
--- a/Test/baseResults/hlsl.charLit.vert.out
+++ b/Test/baseResults/hlsl.charLit.vert.out
@@ -146,7 +146,7 @@ Shader version: 500
0:? '@entryPointOutput' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 58
Capability Shader
diff --git a/Test/baseResults/hlsl.clip.frag.out b/Test/baseResults/hlsl.clip.frag.out
index 691b20ba..32cbb8bb 100644
--- a/Test/baseResults/hlsl.clip.frag.out
+++ b/Test/baseResults/hlsl.clip.frag.out
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-1.frag.out b/Test/baseResults/hlsl.clipdistance-1.frag.out
index 0cfee39c..2a8d8c9e 100644
--- a/Test/baseResults/hlsl.clipdistance-1.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-1.frag.out
@@ -98,7 +98,7 @@ gl_FragCoord origin is upper left
0:? 'cull' ( in 1-element array of float CullDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 53
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-1.geom.out b/Test/baseResults/hlsl.clipdistance-1.geom.out
index a9a0b82a..744b192a 100644
--- a/Test/baseResults/hlsl.clipdistance-1.geom.out
+++ b/Test/baseResults/hlsl.clipdistance-1.geom.out
@@ -550,7 +550,7 @@ output primitive = line_strip
0:? 'OutputStream.clip' ( out 2-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 118
Capability Geometry
diff --git a/Test/baseResults/hlsl.clipdistance-1.vert.out b/Test/baseResults/hlsl.clipdistance-1.vert.out
index 41478e16..38d956fd 100644
--- a/Test/baseResults/hlsl.clipdistance-1.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-1.vert.out
@@ -108,7 +108,7 @@ Shader version: 500
0:? 'cull' ( out 1-element array of float CullDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 46
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-2.frag.out b/Test/baseResults/hlsl.clipdistance-2.frag.out
index 15a9512a..6725955a 100644
--- a/Test/baseResults/hlsl.clipdistance-2.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-2.frag.out
@@ -290,7 +290,7 @@ gl_FragCoord origin is upper left
0:? 'cull' ( in 4-element array of float CullDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 84
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-2.geom.out b/Test/baseResults/hlsl.clipdistance-2.geom.out
index bb8d1373..11d5b67d 100644
--- a/Test/baseResults/hlsl.clipdistance-2.geom.out
+++ b/Test/baseResults/hlsl.clipdistance-2.geom.out
@@ -724,7 +724,7 @@ output primitive = line_strip
0:? 'OutputStream.clip' ( out 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 128
Capability Geometry
diff --git a/Test/baseResults/hlsl.clipdistance-2.vert.out b/Test/baseResults/hlsl.clipdistance-2.vert.out
index 5ccbb1e9..3778ddd5 100644
--- a/Test/baseResults/hlsl.clipdistance-2.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-2.vert.out
@@ -420,7 +420,7 @@ Shader version: 500
0:? 'cull' ( out 4-element array of float CullDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 89
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-3.frag.out b/Test/baseResults/hlsl.clipdistance-3.frag.out
index 1d9f54e8..76525ddf 100644
--- a/Test/baseResults/hlsl.clipdistance-3.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-3.frag.out
@@ -98,7 +98,7 @@ gl_FragCoord origin is upper left
0:? 'cull' ( in 2-element array of float CullDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 53
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-3.geom.out b/Test/baseResults/hlsl.clipdistance-3.geom.out
index 5fa7df72..42ce516a 100644
--- a/Test/baseResults/hlsl.clipdistance-3.geom.out
+++ b/Test/baseResults/hlsl.clipdistance-3.geom.out
@@ -630,7 +630,7 @@ output primitive = line_strip
0:? 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 127
Capability Geometry
diff --git a/Test/baseResults/hlsl.clipdistance-3.vert.out b/Test/baseResults/hlsl.clipdistance-3.vert.out
index 1882a5a3..9cebfc5b 100644
--- a/Test/baseResults/hlsl.clipdistance-3.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-3.vert.out
@@ -136,7 +136,7 @@ Shader version: 500
0:? 'cull' ( out 2-element array of float CullDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 51
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-4.frag.out b/Test/baseResults/hlsl.clipdistance-4.frag.out
index 5cef5644..f801eb2c 100644
--- a/Test/baseResults/hlsl.clipdistance-4.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-4.frag.out
@@ -174,7 +174,7 @@ gl_FragCoord origin is upper left
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 57
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-4.geom.out b/Test/baseResults/hlsl.clipdistance-4.geom.out
index e9423016..8dbe89ad 100644
--- a/Test/baseResults/hlsl.clipdistance-4.geom.out
+++ b/Test/baseResults/hlsl.clipdistance-4.geom.out
@@ -612,7 +612,7 @@ output primitive = line_strip
0:? 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 130
Capability Geometry
diff --git a/Test/baseResults/hlsl.clipdistance-4.vert.out b/Test/baseResults/hlsl.clipdistance-4.vert.out
index 8e8fe6da..4c291a1f 100644
--- a/Test/baseResults/hlsl.clipdistance-4.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-4.vert.out
@@ -270,7 +270,7 @@ Shader version: 500
0:? '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 72
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-5.frag.out b/Test/baseResults/hlsl.clipdistance-5.frag.out
index ab366e54..9d9042d2 100644
--- a/Test/baseResults/hlsl.clipdistance-5.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-5.frag.out
@@ -232,7 +232,7 @@ gl_FragCoord origin is upper left
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 62
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-5.vert.out b/Test/baseResults/hlsl.clipdistance-5.vert.out
index 6dbe0a66..deb6ad88 100644
--- a/Test/baseResults/hlsl.clipdistance-5.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-5.vert.out
@@ -318,7 +318,7 @@ Shader version: 500
0:? '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 73
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-6.frag.out b/Test/baseResults/hlsl.clipdistance-6.frag.out
index 770f990b..99798d32 100644
--- a/Test/baseResults/hlsl.clipdistance-6.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-6.frag.out
@@ -282,7 +282,7 @@ gl_FragCoord origin is upper left
0:? 'v.clip1' ( in 8-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 79
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-6.vert.out b/Test/baseResults/hlsl.clipdistance-6.vert.out
index 1adbdfca..389f8671 100644
--- a/Test/baseResults/hlsl.clipdistance-6.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-6.vert.out
@@ -428,7 +428,7 @@ Shader version: 500
0:? '@entryPointOutput.clip1' ( out 8-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 86
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-7.frag.out b/Test/baseResults/hlsl.clipdistance-7.frag.out
index 9f5e5193..9b8c655d 100644
--- a/Test/baseResults/hlsl.clipdistance-7.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-7.frag.out
@@ -270,7 +270,7 @@ gl_FragCoord origin is upper left
0:? 'v.clip1' ( in 8-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 78
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-7.vert.out b/Test/baseResults/hlsl.clipdistance-7.vert.out
index 13bc844b..55a16c11 100644
--- a/Test/baseResults/hlsl.clipdistance-7.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-7.vert.out
@@ -384,7 +384,7 @@ Shader version: 500
0:? '@entryPointOutput.clip1' ( out 8-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 81
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-8.frag.out b/Test/baseResults/hlsl.clipdistance-8.frag.out
index 8f2a9c27..ed82cfde 100644
--- a/Test/baseResults/hlsl.clipdistance-8.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-8.frag.out
@@ -186,7 +186,7 @@ gl_FragCoord origin is upper left
0:? 'v.clip1' ( in 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 65
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-8.vert.out b/Test/baseResults/hlsl.clipdistance-8.vert.out
index fbc2c2a5..9df66189 100644
--- a/Test/baseResults/hlsl.clipdistance-8.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-8.vert.out
@@ -240,7 +240,7 @@ Shader version: 500
0:? '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 62
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-9.frag.out b/Test/baseResults/hlsl.clipdistance-9.frag.out
index b42727f8..9c62b34f 100644
--- a/Test/baseResults/hlsl.clipdistance-9.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-9.frag.out
@@ -144,7 +144,7 @@ gl_FragCoord origin is upper left
0:? 'clip0' ( in 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 68
Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-9.vert.out b/Test/baseResults/hlsl.clipdistance-9.vert.out
index 7df30643..4e997c68 100644
--- a/Test/baseResults/hlsl.clipdistance-9.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-9.vert.out
@@ -194,7 +194,7 @@ Shader version: 500
0:? 'clip0' ( out 4-element array of float ClipDistance)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 67
Capability Shader
diff --git a/Test/baseResults/hlsl.color.hull.tesc.out b/Test/baseResults/hlsl.color.hull.tesc.out
index e3c0a3e6..7a1f8305 100644
--- a/Test/baseResults/hlsl.color.hull.tesc.out
+++ b/Test/baseResults/hlsl.color.hull.tesc.out
@@ -530,7 +530,7 @@ triangle order = cw
0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 159
Capability Tessellation
diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out
index 9fec4338..720aea24 100644
--- a/Test/baseResults/hlsl.comparison.vec.frag.out
+++ b/Test/baseResults/hlsl.comparison.vec.frag.out
@@ -262,7 +262,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 96
Capability Shader
diff --git a/Test/baseResults/hlsl.conditional.frag.out b/Test/baseResults/hlsl.conditional.frag.out
index 99f2538c..e1606817 100644
--- a/Test/baseResults/hlsl.conditional.frag.out
+++ b/Test/baseResults/hlsl.conditional.frag.out
@@ -522,7 +522,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 206
Capability Shader
diff --git a/Test/baseResults/hlsl.constantbuffer.frag.out b/Test/baseResults/hlsl.constantbuffer.frag.out
index 12e819bc..78ad5770 100644
--- a/Test/baseResults/hlsl.constantbuffer.frag.out
+++ b/Test/baseResults/hlsl.constantbuffer.frag.out
@@ -133,7 +133,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 66
Capability Shader
diff --git a/Test/baseResults/hlsl.constructArray.vert.out b/Test/baseResults/hlsl.constructArray.vert.out
index b070735a..230efbc1 100644
--- a/Test/baseResults/hlsl.constructArray.vert.out
+++ b/Test/baseResults/hlsl.constructArray.vert.out
@@ -268,7 +268,7 @@ Shader version: 500
0:? '@entryPointOutput' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 89
Capability Shader
diff --git a/Test/baseResults/hlsl.constructexpr.frag.out b/Test/baseResults/hlsl.constructexpr.frag.out
index 7b25ae84..367a03a3 100644
--- a/Test/baseResults/hlsl.constructexpr.frag.out
+++ b/Test/baseResults/hlsl.constructexpr.frag.out
@@ -104,7 +104,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 40
Capability Shader
diff --git a/Test/baseResults/hlsl.constructimat.frag.out b/Test/baseResults/hlsl.constructimat.frag.out
index a76ac6a9..4f49b87e 100644
--- a/Test/baseResults/hlsl.constructimat.frag.out
+++ b/Test/baseResults/hlsl.constructimat.frag.out
@@ -545,7 +545,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 98
Capability Shader
diff --git a/Test/baseResults/hlsl.coverage.frag.out b/Test/baseResults/hlsl.coverage.frag.out
index 7c44e1fb..681118fd 100644
--- a/Test/baseResults/hlsl.coverage.frag.out
+++ b/Test/baseResults/hlsl.coverage.frag.out
@@ -119,7 +119,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 52
Capability Shader
diff --git a/Test/baseResults/hlsl.dashI.vert.out b/Test/baseResults/hlsl.dashI.vert.out
index 73514438..ccd530af 100644
--- a/Test/baseResults/hlsl.dashI.vert.out
+++ b/Test/baseResults/hlsl.dashI.vert.out
@@ -1,6 +1,6 @@
hlsl.dashI.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 40
Capability Shader
diff --git a/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out b/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out
index 9ca01460..18622668 100644
--- a/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out
+++ b/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out
@@ -1,6 +1,6 @@
hlsl.deadFunctionMissingBody.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/hlsl.depthGreater.frag.out b/Test/baseResults/hlsl.depthGreater.frag.out
index 31a70068..5128a0ec 100644
--- a/Test/baseResults/hlsl.depthGreater.frag.out
+++ b/Test/baseResults/hlsl.depthGreater.frag.out
@@ -50,7 +50,7 @@ using depth_greater
0:? 'depth' ( out float FragDepth)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/hlsl.depthLess.frag.out b/Test/baseResults/hlsl.depthLess.frag.out
index d062c774..771c477a 100644
--- a/Test/baseResults/hlsl.depthLess.frag.out
+++ b/Test/baseResults/hlsl.depthLess.frag.out
@@ -42,7 +42,7 @@ using depth_less
0:? '@entryPointOutput' ( out float FragDepth)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 16
Capability Shader
diff --git a/Test/baseResults/hlsl.discard.frag.out b/Test/baseResults/hlsl.discard.frag.out
index 41766f62..7a6c6f26 100644
--- a/Test/baseResults/hlsl.discard.frag.out
+++ b/Test/baseResults/hlsl.discard.frag.out
@@ -108,7 +108,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/hlsl.doLoop.frag.out b/Test/baseResults/hlsl.doLoop.frag.out
index 0d93e8d9..82a96b5f 100644
--- a/Test/baseResults/hlsl.doLoop.frag.out
+++ b/Test/baseResults/hlsl.doLoop.frag.out
@@ -198,7 +198,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 99
Capability Shader
diff --git a/Test/baseResults/hlsl.domain.1.tese.out b/Test/baseResults/hlsl.domain.1.tese.out
index 4e53e7ce..738f7cd0 100644
--- a/Test/baseResults/hlsl.domain.1.tese.out
+++ b/Test/baseResults/hlsl.domain.1.tese.out
@@ -428,7 +428,7 @@ triangle order = none
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 125
Capability Tessellation
diff --git a/Test/baseResults/hlsl.domain.2.tese.out b/Test/baseResults/hlsl.domain.2.tese.out
index 05f934f1..ddb176a0 100644
--- a/Test/baseResults/hlsl.domain.2.tese.out
+++ b/Test/baseResults/hlsl.domain.2.tese.out
@@ -426,7 +426,7 @@ triangle order = none
0:? 'pcf_data.foo' (layout( location=2) patch in float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 120
Capability Tessellation
diff --git a/Test/baseResults/hlsl.domain.3.tese.out b/Test/baseResults/hlsl.domain.3.tese.out
index c9b985de..1dc7b2fd 100644
--- a/Test/baseResults/hlsl.domain.3.tese.out
+++ b/Test/baseResults/hlsl.domain.3.tese.out
@@ -358,7 +358,7 @@ triangle order = none
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 116
Capability Tessellation
diff --git a/Test/baseResults/hlsl.earlydepthstencil.frag.out b/Test/baseResults/hlsl.earlydepthstencil.frag.out
index 34ca0062..a629bdc7 100644
--- a/Test/baseResults/hlsl.earlydepthstencil.frag.out
+++ b/Test/baseResults/hlsl.earlydepthstencil.frag.out
@@ -108,7 +108,7 @@ using early_fragment_tests
0:? 'input.Position' ( in 4-component vector of float FragCoord)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/hlsl.emptystruct.init.vert.out b/Test/baseResults/hlsl.emptystruct.init.vert.out
index 9f5c7857..07baddfc 100644
--- a/Test/baseResults/hlsl.emptystruct.init.vert.out
+++ b/Test/baseResults/hlsl.emptystruct.init.vert.out
@@ -60,7 +60,7 @@ Shader version: 500
0:? 'vertexIndex' (layout( location=0) in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/hlsl.emptystructreturn.frag.out b/Test/baseResults/hlsl.emptystructreturn.frag.out
index 2a4cabeb..de774865 100644
--- a/Test/baseResults/hlsl.emptystructreturn.frag.out
+++ b/Test/baseResults/hlsl.emptystructreturn.frag.out
@@ -51,7 +51,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/hlsl.emptystructreturn.vert.out b/Test/baseResults/hlsl.emptystructreturn.vert.out
index ad1efa79..22dc2cf0 100644
--- a/Test/baseResults/hlsl.emptystructreturn.vert.out
+++ b/Test/baseResults/hlsl.emptystructreturn.vert.out
@@ -49,7 +49,7 @@ Shader version: 500
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/hlsl.entry-in.frag.out b/Test/baseResults/hlsl.entry-in.frag.out
index 4c322496..e86def4c 100644
--- a/Test/baseResults/hlsl.entry-in.frag.out
+++ b/Test/baseResults/hlsl.entry-in.frag.out
@@ -166,7 +166,7 @@ gl_FragCoord origin is upper left
0:? 'i.i2' (layout( location=1) flat in 2-component vector of int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 74
Capability Shader
diff --git a/Test/baseResults/hlsl.entry-out.frag.out b/Test/baseResults/hlsl.entry-out.frag.out
index a8b47e9e..5f162b12 100644
--- a/Test/baseResults/hlsl.entry-out.frag.out
+++ b/Test/baseResults/hlsl.entry-out.frag.out
@@ -244,7 +244,7 @@ gl_FragCoord origin is upper left
0:? 'out3.i' (layout( location=5) out 2-component vector of int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 89
Capability Shader
diff --git a/Test/baseResults/hlsl.entry.rename.frag.out b/Test/baseResults/hlsl.entry.rename.frag.out
index 2fd15d1d..d635c67a 100644
--- a/Test/baseResults/hlsl.entry.rename.frag.out
+++ b/Test/baseResults/hlsl.entry.rename.frag.out
@@ -72,7 +72,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 32
Capability Shader
diff --git a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
index 3ca773fe..5c89f7e0 100644
--- a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
+++ b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
@@ -1,6 +1,6 @@
hlsl.explicitDescriptorSet.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Shader
diff --git a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
index 9ba0d93f..1b0e45f0 100644
--- a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
+++ b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
@@ -1,6 +1,6 @@
hlsl.explicitDescriptorSet.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Shader
diff --git a/Test/baseResults/hlsl.flatten.return.frag.out b/Test/baseResults/hlsl.flatten.return.frag.out
index 9a51f1fc..f2764629 100644
--- a/Test/baseResults/hlsl.flatten.return.frag.out
+++ b/Test/baseResults/hlsl.flatten.return.frag.out
@@ -118,7 +118,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.other_struct_member3' (layout( location=3) out float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 49
Capability Shader
diff --git a/Test/baseResults/hlsl.flattenOpaque.frag.out b/Test/baseResults/hlsl.flattenOpaque.frag.out
index 9a29081b..589b1e1f 100644
--- a/Test/baseResults/hlsl.flattenOpaque.frag.out
+++ b/Test/baseResults/hlsl.flattenOpaque.frag.out
@@ -295,7 +295,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 122
Capability Shader
diff --git a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
index 10e83450..dbd64469 100644
--- a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
+++ b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
@@ -165,7 +165,7 @@ Shader version: 500
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 82
Capability Shader
diff --git a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
index c8d0b166..66084f67 100644
--- a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
+++ b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
@@ -107,7 +107,7 @@ Shader version: 500
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 59
Capability Shader
diff --git a/Test/baseResults/hlsl.flattenSubset.frag.out b/Test/baseResults/hlsl.flattenSubset.frag.out
index 7ec229a4..65d34677 100644
--- a/Test/baseResults/hlsl.flattenSubset.frag.out
+++ b/Test/baseResults/hlsl.flattenSubset.frag.out
@@ -115,7 +115,7 @@ gl_FragCoord origin is upper left
0:? 'vpos' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 54
Capability Shader
diff --git a/Test/baseResults/hlsl.flattenSubset2.frag.out b/Test/baseResults/hlsl.flattenSubset2.frag.out
index c3196378..c8a91932 100644
--- a/Test/baseResults/hlsl.flattenSubset2.frag.out
+++ b/Test/baseResults/hlsl.flattenSubset2.frag.out
@@ -149,7 +149,7 @@ gl_FragCoord origin is upper left
0:? 'vpos' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 56
Capability Shader
diff --git a/Test/baseResults/hlsl.float1.frag.out b/Test/baseResults/hlsl.float1.frag.out
index 00bdea94..65f69da4 100644
--- a/Test/baseResults/hlsl.float1.frag.out
+++ b/Test/baseResults/hlsl.float1.frag.out
@@ -65,7 +65,7 @@ gl_FragCoord origin is upper left
0:? 'scalar' ( global float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out
index 0dbd935a..5fcc3c14 100644
--- a/Test/baseResults/hlsl.float4.frag.out
+++ b/Test/baseResults/hlsl.float4.frag.out
@@ -42,7 +42,7 @@ gl_FragCoord origin is upper left
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): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 26
Capability Shader
diff --git a/Test/baseResults/hlsl.forLoop.frag.out b/Test/baseResults/hlsl.forLoop.frag.out
index 7bce3469..f1aa20b3 100644
--- a/Test/baseResults/hlsl.forLoop.frag.out
+++ b/Test/baseResults/hlsl.forLoop.frag.out
@@ -510,7 +510,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 240
Capability Shader
diff --git a/Test/baseResults/hlsl.format.rwtexture.frag.out b/Test/baseResults/hlsl.format.rwtexture.frag.out
index e6eebbf2..3edbbb6e 100644
--- a/Test/baseResults/hlsl.format.rwtexture.frag.out
+++ b/Test/baseResults/hlsl.format.rwtexture.frag.out
@@ -184,7 +184,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 160
Capability Shader
diff --git a/Test/baseResults/hlsl.fraggeom.frag.out b/Test/baseResults/hlsl.fraggeom.frag.out
index d86fa969..400f530e 100644
--- a/Test/baseResults/hlsl.fraggeom.frag.out
+++ b/Test/baseResults/hlsl.fraggeom.frag.out
@@ -64,7 +64,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 25
Capability Shader
diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out
index e39d5a2a..13b7ebb3 100644
--- a/Test/baseResults/hlsl.gather.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out
@@ -262,7 +262,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 124
Capability Shader
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
index 99efd614..0aa00f74 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
@@ -258,7 +258,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 135
Capability Shader
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
index 96525e0c..d743074e 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
@@ -220,7 +220,7 @@ Shader version: 500
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 126
Capability Shader
diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
index 59bd8da8..9656db57 100644
--- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
@@ -208,7 +208,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 114
Capability Shader
diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
index 942bd923..2e6221a2 100644
--- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
@@ -202,7 +202,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 97
Capability Shader
diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
index 75ea0368..904aaece 100644
--- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
@@ -750,7 +750,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 255
Capability Shader
diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
index 886ad737..f8fa2f46 100644
--- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
@@ -758,7 +758,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 265
Capability Shader
diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
index b86cd222..63cb39fc 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
@@ -1263,7 +1263,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 399
Capability Shader
diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
index 1fa728a7..da83e011 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
@@ -1255,7 +1255,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 389
Capability Shader
diff --git a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
index a858f15d..ff834ec4 100644
--- a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
@@ -456,7 +456,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 164
Capability Shader
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
index ba023599..9e1d5439 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
@@ -2318,7 +2318,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 550
Capability Shader
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
index 96a1cc15..a7d27a86 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
@@ -116,7 +116,7 @@ Shader version: 500
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 48
Capability Shader
diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
index 1cce0cc0..7af13b23 100644
--- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
@@ -718,7 +718,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 232
Capability Shader
diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
index 5c499318..f08a91cd 100644
--- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
+++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
@@ -580,7 +580,7 @@ using depth_any
0:? 'sample' (layout( location=0) flat in int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 198
Capability Shader
diff --git a/Test/baseResults/hlsl.global-const-init.frag.out b/Test/baseResults/hlsl.global-const-init.frag.out
index 26895bba..0510b3e8 100644
--- a/Test/baseResults/hlsl.global-const-init.frag.out
+++ b/Test/baseResults/hlsl.global-const-init.frag.out
@@ -102,7 +102,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/hlsl.groupid.comp.out b/Test/baseResults/hlsl.groupid.comp.out
index bf39d11a..39c5fede 100644
--- a/Test/baseResults/hlsl.groupid.comp.out
+++ b/Test/baseResults/hlsl.groupid.comp.out
@@ -82,7 +82,7 @@ local_size = (8, 8, 1)
0:? 'vGroupId' ( in 3-component vector of uint WorkGroupID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 37
Capability Shader
diff --git a/Test/baseResults/hlsl.gs-hs-mix.tesc.out b/Test/baseResults/hlsl.gs-hs-mix.tesc.out
index c9496ac1..5071a474 100644
--- a/Test/baseResults/hlsl.gs-hs-mix.tesc.out
+++ b/Test/baseResults/hlsl.gs-hs-mix.tesc.out
@@ -986,7 +986,7 @@ triangle order = ccw
0:? '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 236
Capability Tessellation
diff --git a/Test/baseResults/hlsl.hlslOffset.vert.out b/Test/baseResults/hlsl.hlslOffset.vert.out
index 09545c88..0f7b09bf 100644
--- a/Test/baseResults/hlsl.hlslOffset.vert.out
+++ b/Test/baseResults/hlsl.hlslOffset.vert.out
@@ -26,7 +26,7 @@ Shader version: 500
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform float m0, layout( row_major std140) uniform 3-component vector of float m4, layout( row_major std140) uniform float m16, layout( row_major std140 offset=20) uniform 3-component vector of float m20, layout( row_major std140 offset=36) uniform 3-component vector of float m36, layout( row_major std140 offset=56) uniform 2-component vector of float m56, layout( row_major std140) uniform float m64, layout( row_major std140) uniform 2-component vector of float m68, layout( row_major std140) uniform float m76, layout( row_major std140) uniform float m80, layout( row_major std140) uniform 1-element array of 2-component vector of float m96})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/hlsl.hull.1.tesc.out b/Test/baseResults/hlsl.hull.1.tesc.out
index cba0f8bb..41889420 100644
--- a/Test/baseResults/hlsl.hull.1.tesc.out
+++ b/Test/baseResults/hlsl.hull.1.tesc.out
@@ -324,7 +324,7 @@ vertex spacing = equal_spacing
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 104
Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.2.tesc.out b/Test/baseResults/hlsl.hull.2.tesc.out
index 4e8a50c2..0d08b681 100644
--- a/Test/baseResults/hlsl.hull.2.tesc.out
+++ b/Test/baseResults/hlsl.hull.2.tesc.out
@@ -320,7 +320,7 @@ vertex spacing = equal_spacing
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 106
Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.3.tesc.out b/Test/baseResults/hlsl.hull.3.tesc.out
index f40a79e4..808edd3a 100644
--- a/Test/baseResults/hlsl.hull.3.tesc.out
+++ b/Test/baseResults/hlsl.hull.3.tesc.out
@@ -320,7 +320,7 @@ vertex spacing = equal_spacing
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 106
Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.4.tesc.out b/Test/baseResults/hlsl.hull.4.tesc.out
index aa766ed4..bffc4646 100644
--- a/Test/baseResults/hlsl.hull.4.tesc.out
+++ b/Test/baseResults/hlsl.hull.4.tesc.out
@@ -458,7 +458,7 @@ triangle order = cw
0:? '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 124
Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.6.tesc.out b/Test/baseResults/hlsl.hull.6.tesc.out
index efb6e5b1..b673a8c5 100644
--- a/Test/baseResults/hlsl.hull.6.tesc.out
+++ b/Test/baseResults/hlsl.hull.6.tesc.out
@@ -450,7 +450,7 @@ triangle order = ccw
0:? '@patchConstantOutput.Edges' ( patch out 4-element array of float TessLevelOuter)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 142
Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out b/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out
index 70881e9b..4e706c0f 100644
--- a/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out
+++ b/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out
@@ -472,7 +472,7 @@ triangle order = cw
0:? '@patchConstantOutput.flInFactor' ( patch out 2-element array of float TessLevelInner)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 135
Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out b/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out
index d59e1630..fd7cf0b6 100644
--- a/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out
+++ b/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out
@@ -490,7 +490,7 @@ triangle order = cw
0:? '@patchConstantOutput.flInFactor' ( patch out 2-element array of float TessLevelInner)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 137
Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.void.tesc.out b/Test/baseResults/hlsl.hull.void.tesc.out
index 22493604..244d1fc7 100644
--- a/Test/baseResults/hlsl.hull.void.tesc.out
+++ b/Test/baseResults/hlsl.hull.void.tesc.out
@@ -184,7 +184,7 @@ triangle order = ccw
0:? 'InvocationId' ( in uint InvocationID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 67
Capability Tessellation
diff --git a/Test/baseResults/hlsl.identifier.sample.frag.out b/Test/baseResults/hlsl.identifier.sample.frag.out
index e0a89aa4..bde7fdb8 100644
--- a/Test/baseResults/hlsl.identifier.sample.frag.out
+++ b/Test/baseResults/hlsl.identifier.sample.frag.out
@@ -86,7 +86,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability Shader
diff --git a/Test/baseResults/hlsl.if.frag.out b/Test/baseResults/hlsl.if.frag.out
index e77c7ac3..fafad92f 100644
--- a/Test/baseResults/hlsl.if.frag.out
+++ b/Test/baseResults/hlsl.if.frag.out
@@ -240,7 +240,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 117
Capability Shader
diff --git a/Test/baseResults/hlsl.imagefetch-subvec4.comp.out b/Test/baseResults/hlsl.imagefetch-subvec4.comp.out
index ff201eb0..6573820d 100644
--- a/Test/baseResults/hlsl.imagefetch-subvec4.comp.out
+++ b/Test/baseResults/hlsl.imagefetch-subvec4.comp.out
@@ -410,7 +410,7 @@ local_size = (8, 8, 8)
0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 186
Capability Shader
diff --git a/Test/baseResults/hlsl.imageload-subvec4.comp.out b/Test/baseResults/hlsl.imageload-subvec4.comp.out
index 4d038a19..d54075f1 100644
--- a/Test/baseResults/hlsl.imageload-subvec4.comp.out
+++ b/Test/baseResults/hlsl.imageload-subvec4.comp.out
@@ -266,7 +266,7 @@ local_size = (8, 8, 8)
0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 138
Capability Shader
diff --git a/Test/baseResults/hlsl.implicitBool.frag.out b/Test/baseResults/hlsl.implicitBool.frag.out
index dd93b7f1..381e835c 100644
--- a/Test/baseResults/hlsl.implicitBool.frag.out
+++ b/Test/baseResults/hlsl.implicitBool.frag.out
@@ -332,7 +332,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 139
Capability Shader
diff --git a/Test/baseResults/hlsl.include.vert.out b/Test/baseResults/hlsl.include.vert.out
index f46658d2..95a5b906 100644
--- a/Test/baseResults/hlsl.include.vert.out
+++ b/Test/baseResults/hlsl.include.vert.out
@@ -1,6 +1,6 @@
../Test/hlsl.include.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 44
Capability Shader
diff --git a/Test/baseResults/hlsl.inf.vert.out b/Test/baseResults/hlsl.inf.vert.out
index bb9a1849..50f6d56d 100644
--- a/Test/baseResults/hlsl.inf.vert.out
+++ b/Test/baseResults/hlsl.inf.vert.out
@@ -112,7 +112,7 @@ Shader version: 500
0:? '@entryPointOutput' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 37
Capability Shader
diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out
index f604f0a0..35a89f04 100644
--- a/Test/baseResults/hlsl.init.frag.out
+++ b/Test/baseResults/hlsl.init.frag.out
@@ -331,7 +331,7 @@ gl_FragCoord origin is upper left
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): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 110
Capability Shader
diff --git a/Test/baseResults/hlsl.init2.frag.out b/Test/baseResults/hlsl.init2.frag.out
index 5039333b..b8b7afcd 100644
--- a/Test/baseResults/hlsl.init2.frag.out
+++ b/Test/baseResults/hlsl.init2.frag.out
@@ -358,7 +358,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 112
Capability Shader
diff --git a/Test/baseResults/hlsl.inoutquals.frag.out b/Test/baseResults/hlsl.inoutquals.frag.out
index 25186cb0..931208b9 100644
--- a/Test/baseResults/hlsl.inoutquals.frag.out
+++ b/Test/baseResults/hlsl.inoutquals.frag.out
@@ -214,7 +214,7 @@ using depth_any
0:? 'sampleMask' ( out 1-element array of int SampleMaskIn)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 92
Capability Shader
diff --git a/Test/baseResults/hlsl.instance.geom.out b/Test/baseResults/hlsl.instance.geom.out
index 5fbffd9a..f2299ee7 100644
--- a/Test/baseResults/hlsl.instance.geom.out
+++ b/Test/baseResults/hlsl.instance.geom.out
@@ -282,7 +282,7 @@ output primitive = triangle_strip
0:? 'output.m_color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 86
Capability Geometry
diff --git a/Test/baseResults/hlsl.int.dot.frag.out b/Test/baseResults/hlsl.int.dot.frag.out
index 3272cb4c..5c7edbb9 100644
--- a/Test/baseResults/hlsl.int.dot.frag.out
+++ b/Test/baseResults/hlsl.int.dot.frag.out
@@ -224,7 +224,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 84
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsic.frexp.frag.out b/Test/baseResults/hlsl.intrinsic.frexp.frag.out
index 1595a609..c0c9109b 100644
--- a/Test/baseResults/hlsl.intrinsic.frexp.frag.out
+++ b/Test/baseResults/hlsl.intrinsic.frexp.frag.out
@@ -190,7 +190,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 98
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsic.frexp.vert.out b/Test/baseResults/hlsl.intrinsic.frexp.vert.out
index 0418ed6c..41bb429a 100644
--- a/Test/baseResults/hlsl.intrinsic.frexp.vert.out
+++ b/Test/baseResults/hlsl.intrinsic.frexp.vert.out
@@ -113,7 +113,7 @@ Shader version: 500
0:? Linker Objects
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 78
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.barriers.comp.out b/Test/baseResults/hlsl.intrinsics.barriers.comp.out
index abb9650f..4dfe8e0c 100644
--- a/Test/baseResults/hlsl.intrinsics.barriers.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.barriers.comp.out
@@ -40,7 +40,7 @@ local_size = (1, 1, 1)
0:? Linker Objects
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 15
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out
index bce3d149..56752afb 100644
--- a/Test/baseResults/hlsl.intrinsics.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.comp.out
@@ -717,7 +717,7 @@ local_size = (1, 1, 1)
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 265
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
index b0eeaa9a..75a66d6f 100644
--- a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.double.frag.out b/Test/baseResults/hlsl.intrinsics.double.frag.out
index 8444e20a..d87fd2f3 100644
--- a/Test/baseResults/hlsl.intrinsics.double.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.double.frag.out
@@ -164,7 +164,7 @@ gl_FragCoord origin is upper left
0:? 'inU1b' (layout( location=9) flat in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 90
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.f1632.frag.out b/Test/baseResults/hlsl.intrinsics.f1632.frag.out
index 90a4b989..52bbc4fb 100644
--- a/Test/baseResults/hlsl.intrinsics.f1632.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.f1632.frag.out
@@ -270,7 +270,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 106
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.f3216.frag.out b/Test/baseResults/hlsl.intrinsics.f3216.frag.out
index ddf9a708..c9a94b8f 100644
--- a/Test/baseResults/hlsl.intrinsics.f3216.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.f3216.frag.out
@@ -270,7 +270,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 106
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out
index 02b1e6d1..38857f83 100644
--- a/Test/baseResults/hlsl.intrinsics.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.frag.out
@@ -5659,7 +5659,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1839
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.lit.frag.out b/Test/baseResults/hlsl.intrinsics.lit.frag.out
index ef5759eb..8307db51 100644
--- a/Test/baseResults/hlsl.intrinsics.lit.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.lit.frag.out
@@ -118,7 +118,7 @@ gl_FragCoord origin is upper left
0:? 'm' (layout( location=2) in float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 48
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.negative.comp.out b/Test/baseResults/hlsl.intrinsics.negative.comp.out
index c0a543c2..6ea121a6 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.comp.out
@@ -122,7 +122,7 @@ local_size = (1, 1, 1)
0:? 'inI0' (layout( location=3) in 4-component vector of int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 79
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.negative.vert.out b/Test/baseResults/hlsl.intrinsics.negative.vert.out
index f1ab5826..9044abdf 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out
@@ -308,7 +308,7 @@ Shader version: 500
0:? 'inI0' (layout( location=3) in 4-component vector of int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 155
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
index bd73fae2..c68fc960 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
@@ -104,7 +104,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.promote.frag.out b/Test/baseResults/hlsl.intrinsics.promote.frag.out
index 18fd0370..99176f1a 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.frag.out
@@ -888,7 +888,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 322
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
index 1abed4c9..e0fbfe6d 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
@@ -204,7 +204,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 80
Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.vert.out b/Test/baseResults/hlsl.intrinsics.vert.out
index 647570c9..611ff163 100644
--- a/Test/baseResults/hlsl.intrinsics.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.vert.out
@@ -2780,7 +2780,7 @@ Shader version: 500
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1225
Capability Shader
diff --git a/Test/baseResults/hlsl.isfinite.frag.out b/Test/baseResults/hlsl.isfinite.frag.out
index 430ff064..e46e7718 100644
--- a/Test/baseResults/hlsl.isfinite.frag.out
+++ b/Test/baseResults/hlsl.isfinite.frag.out
@@ -172,7 +172,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 85
Capability Shader
diff --git a/Test/baseResults/hlsl.layout.frag.out b/Test/baseResults/hlsl.layout.frag.out
index 9007e933..b2306d07 100644
--- a/Test/baseResults/hlsl.layout.frag.out
+++ b/Test/baseResults/hlsl.layout.frag.out
@@ -88,7 +88,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 44
Capability Shader
diff --git a/Test/baseResults/hlsl.layoutOverride.vert.out b/Test/baseResults/hlsl.layoutOverride.vert.out
index a3b89601..80c3e456 100644
--- a/Test/baseResults/hlsl.layoutOverride.vert.out
+++ b/Test/baseResults/hlsl.layoutOverride.vert.out
@@ -52,7 +52,7 @@ Shader version: 500
0:? '@entryPointOutput' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 32
Capability Shader
diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
index daa28b26..09086cbc 100644
--- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
@@ -336,7 +336,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 129
Capability Shader
diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out
index 0440779f..96792a95 100644
--- a/Test/baseResults/hlsl.load.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.array.dx10.frag.out
@@ -388,7 +388,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 159
Capability Shader
diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out
index 2aef83db..b9730f37 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out
@@ -490,7 +490,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 179
Capability Shader
diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out
index 8b9a04f8..c387d5f9 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out
@@ -452,7 +452,7 @@ Shader version: 500
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 171
Capability Shader
diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
index 299bde15..b37e3c93 100644
--- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
@@ -166,7 +166,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 72
Capability Shader
diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
index f7a530c7..b248ed6b 100644
--- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
@@ -172,7 +172,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 75
Capability Shader
diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out
index 106af539..f8d43837 100644
--- a/Test/baseResults/hlsl.load.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out
@@ -550,7 +550,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 205
Capability Shader
diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
index 04ea4827..bc5f632d 100644
--- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
@@ -426,7 +426,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 176
Capability Shader
diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
index 73a854b1..ed6f5286 100644
--- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
@@ -110,7 +110,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 57
Capability Shader
diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
index db105d77..a94da2fc 100644
--- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
@@ -208,7 +208,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 119
Capability Shader
diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
index c063e0c0..b00da802 100644
--- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
@@ -244,7 +244,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 132
Capability Shader
diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out
index d66eb7cd..e6f484e4 100644
--- a/Test/baseResults/hlsl.logical.binary.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.frag.out
@@ -124,7 +124,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 56
Capability Shader
diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out
index 20f87b8a..986d83fd 100644
--- a/Test/baseResults/hlsl.logical.binary.vec.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out
@@ -254,7 +254,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 115
Capability Shader
diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out
index 711625dc..cc933bbc 100644
--- a/Test/baseResults/hlsl.logical.unary.frag.out
+++ b/Test/baseResults/hlsl.logical.unary.frag.out
@@ -184,7 +184,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 84
Capability Shader
diff --git a/Test/baseResults/hlsl.logicalConvert.frag.out b/Test/baseResults/hlsl.logicalConvert.frag.out
index 44e1961d..0e7bad18 100644
--- a/Test/baseResults/hlsl.logicalConvert.frag.out
+++ b/Test/baseResults/hlsl.logicalConvert.frag.out
@@ -254,7 +254,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/hlsl.loopattr.frag.out b/Test/baseResults/hlsl.loopattr.frag.out
index ea37109d..2784dda9 100644
--- a/Test/baseResults/hlsl.loopattr.frag.out
+++ b/Test/baseResults/hlsl.loopattr.frag.out
@@ -136,7 +136,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 54
Capability Shader
diff --git a/Test/baseResults/hlsl.matNx1.frag.out b/Test/baseResults/hlsl.matNx1.frag.out
index 48a7180b..91b2ec39 100644
--- a/Test/baseResults/hlsl.matNx1.frag.out
+++ b/Test/baseResults/hlsl.matNx1.frag.out
@@ -153,7 +153,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 77
Capability Shader
diff --git a/Test/baseResults/hlsl.matType.bool.frag.out b/Test/baseResults/hlsl.matType.bool.frag.out
index 500b311c..d7d4b7de 100644
--- a/Test/baseResults/hlsl.matType.bool.frag.out
+++ b/Test/baseResults/hlsl.matType.bool.frag.out
@@ -233,7 +233,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 130
Capability Shader
diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out
index 1117df1d..92d44a46 100644
--- a/Test/baseResults/hlsl.matType.frag.out
+++ b/Test/baseResults/hlsl.matType.frag.out
@@ -32,7 +32,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/hlsl.matType.int.frag.out b/Test/baseResults/hlsl.matType.int.frag.out
index a99bd15f..551d41e7 100644
--- a/Test/baseResults/hlsl.matType.int.frag.out
+++ b/Test/baseResults/hlsl.matType.int.frag.out
@@ -399,7 +399,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 232
Capability Shader
diff --git a/Test/baseResults/hlsl.matpack-1.frag.out b/Test/baseResults/hlsl.matpack-1.frag.out
index c480f780..5af6c2b5 100644
--- a/Test/baseResults/hlsl.matpack-1.frag.out
+++ b/Test/baseResults/hlsl.matpack-1.frag.out
@@ -100,7 +100,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
diff --git a/Test/baseResults/hlsl.matpack-pragma-global.frag.out b/Test/baseResults/hlsl.matpack-pragma-global.frag.out
index 2feef9e9..d6afb4e9 100644
--- a/Test/baseResults/hlsl.matpack-pragma-global.frag.out
+++ b/Test/baseResults/hlsl.matpack-pragma-global.frag.out
@@ -52,7 +52,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 25
Capability Shader
diff --git a/Test/baseResults/hlsl.matpack-pragma.frag.out b/Test/baseResults/hlsl.matpack-pragma.frag.out
index bd5ca50c..aac5af5f 100644
--- a/Test/baseResults/hlsl.matpack-pragma.frag.out
+++ b/Test/baseResults/hlsl.matpack-pragma.frag.out
@@ -170,7 +170,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 44
Capability Shader
diff --git a/Test/baseResults/hlsl.matrixSwizzle.vert.out b/Test/baseResults/hlsl.matrixSwizzle.vert.out
index 4082cb27..4b103ac7 100644
--- a/Test/baseResults/hlsl.matrixSwizzle.vert.out
+++ b/Test/baseResults/hlsl.matrixSwizzle.vert.out
@@ -677,7 +677,7 @@ Shader version: 500
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 118
Capability Shader
diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out
index fa7a8c0c..cf75c056 100644
--- a/Test/baseResults/hlsl.matrixindex.frag.out
+++ b/Test/baseResults/hlsl.matrixindex.frag.out
@@ -272,7 +272,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 83
Capability Shader
diff --git a/Test/baseResults/hlsl.max.frag.out b/Test/baseResults/hlsl.max.frag.out
index 7a0c5d25..058786c4 100644
--- a/Test/baseResults/hlsl.max.frag.out
+++ b/Test/baseResults/hlsl.max.frag.out
@@ -66,7 +66,7 @@ gl_FragCoord origin is upper left
0:? 'input2' (layout( location=1) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability Shader
diff --git a/Test/baseResults/hlsl.memberFunCall.frag.out b/Test/baseResults/hlsl.memberFunCall.frag.out
index 2886f8fb..7898376c 100644
--- a/Test/baseResults/hlsl.memberFunCall.frag.out
+++ b/Test/baseResults/hlsl.memberFunCall.frag.out
@@ -152,7 +152,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 73
Capability Shader
diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out
index 013f8d41..07f28c3d 100644
--- a/Test/baseResults/hlsl.mintypes.frag.out
+++ b/Test/baseResults/hlsl.mintypes.frag.out
@@ -98,7 +98,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 70
Capability Shader
diff --git a/Test/baseResults/hlsl.mip.operator.frag.out b/Test/baseResults/hlsl.mip.operator.frag.out
index 48e563ca..2c03a260 100644
--- a/Test/baseResults/hlsl.mip.operator.frag.out
+++ b/Test/baseResults/hlsl.mip.operator.frag.out
@@ -128,7 +128,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 61
Capability Shader
diff --git a/Test/baseResults/hlsl.mul-truncate.frag.out b/Test/baseResults/hlsl.mul-truncate.frag.out
index 25e7b2ea..806d2419 100644
--- a/Test/baseResults/hlsl.mul-truncate.frag.out
+++ b/Test/baseResults/hlsl.mul-truncate.frag.out
@@ -383,7 +383,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 190
Capability Shader
diff --git a/Test/baseResults/hlsl.multiDescriptorSet.frag.out b/Test/baseResults/hlsl.multiDescriptorSet.frag.out
index cfe3ea8d..d79b1213 100644
--- a/Test/baseResults/hlsl.multiDescriptorSet.frag.out
+++ b/Test/baseResults/hlsl.multiDescriptorSet.frag.out
@@ -1,6 +1,6 @@
hlsl.multiDescriptorSet.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 92
Capability Shader
diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out
index fcb9f18f..0e31ed6e 100644
--- a/Test/baseResults/hlsl.multiEntry.vert.out
+++ b/Test/baseResults/hlsl.multiEntry.vert.out
@@ -70,7 +70,7 @@ Shader version: 500
0:? 'Index' ( in uint VertexIndex)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 41
Capability Shader
diff --git a/Test/baseResults/hlsl.multiReturn.frag.out b/Test/baseResults/hlsl.multiReturn.frag.out
index 93798634..fbe7fbf9 100644
--- a/Test/baseResults/hlsl.multiReturn.frag.out
+++ b/Test/baseResults/hlsl.multiReturn.frag.out
@@ -48,7 +48,7 @@ gl_FragCoord origin is upper left
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): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 42
Capability Shader
diff --git a/Test/baseResults/hlsl.namespace.frag.out b/Test/baseResults/hlsl.namespace.frag.out
index e224eb92..c01089a8 100644
--- a/Test/baseResults/hlsl.namespace.frag.out
+++ b/Test/baseResults/hlsl.namespace.frag.out
@@ -100,7 +100,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/hlsl.noSemantic.functionality1.comp.out b/Test/baseResults/hlsl.noSemantic.functionality1.comp.out
index 3531a347..1121e0b0 100644
--- a/Test/baseResults/hlsl.noSemantic.functionality1.comp.out
+++ b/Test/baseResults/hlsl.noSemantic.functionality1.comp.out
@@ -1,6 +1,6 @@
hlsl.noSemantic.functionality1.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/hlsl.nonint-index.frag.out b/Test/baseResults/hlsl.nonint-index.frag.out
index 897f8bc3..71502ee1 100644
--- a/Test/baseResults/hlsl.nonint-index.frag.out
+++ b/Test/baseResults/hlsl.nonint-index.frag.out
@@ -88,7 +88,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
diff --git a/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out b/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
index 5a485c67..3cbae1ee 100644
--- a/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
+++ b/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
@@ -268,7 +268,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 111
Capability Shader
diff --git a/Test/baseResults/hlsl.numericsuffixes.frag.out b/Test/baseResults/hlsl.numericsuffixes.frag.out
index 1725d3f2..02f7d2a1 100644
--- a/Test/baseResults/hlsl.numericsuffixes.frag.out
+++ b/Test/baseResults/hlsl.numericsuffixes.frag.out
@@ -192,7 +192,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 54
Capability Shader
diff --git a/Test/baseResults/hlsl.numthreads.comp.out b/Test/baseResults/hlsl.numthreads.comp.out
index c8676e38..49fa4f30 100644
--- a/Test/baseResults/hlsl.numthreads.comp.out
+++ b/Test/baseResults/hlsl.numthreads.comp.out
@@ -44,7 +44,7 @@ local_size = (1, 4, 8)
0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Shader
diff --git a/Test/baseResults/hlsl.opaque-type-bug.frag.out b/Test/baseResults/hlsl.opaque-type-bug.frag.out
index 738fa4f0..d82509d6 100644
--- a/Test/baseResults/hlsl.opaque-type-bug.frag.out
+++ b/Test/baseResults/hlsl.opaque-type-bug.frag.out
@@ -58,7 +58,7 @@ gl_FragCoord origin is upper left
0:? 'MyTexture' (layout( binding=0) uniform texture2D)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/hlsl.overload.frag.out b/Test/baseResults/hlsl.overload.frag.out
index 4cfc3911..460262eb 100644
--- a/Test/baseResults/hlsl.overload.frag.out
+++ b/Test/baseResults/hlsl.overload.frag.out
@@ -734,7 +734,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 520
Capability Shader
diff --git a/Test/baseResults/hlsl.params.default.frag.out b/Test/baseResults/hlsl.params.default.frag.out
index 6898240f..be1f6416 100644
--- a/Test/baseResults/hlsl.params.default.frag.out
+++ b/Test/baseResults/hlsl.params.default.frag.out
@@ -376,7 +376,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 178
Capability Shader
diff --git a/Test/baseResults/hlsl.partialFlattenLocal.vert.out b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
index 7bcc8791..6a1b1ded 100644
--- a/Test/baseResults/hlsl.partialFlattenLocal.vert.out
+++ b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
@@ -237,7 +237,7 @@ Shader version: 500
0:? 'pos' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 93
Capability Shader
diff --git a/Test/baseResults/hlsl.partialFlattenMixed.vert.out b/Test/baseResults/hlsl.partialFlattenMixed.vert.out
index c9fcc6f4..eae3c98b 100644
--- a/Test/baseResults/hlsl.partialFlattenMixed.vert.out
+++ b/Test/baseResults/hlsl.partialFlattenMixed.vert.out
@@ -91,7 +91,7 @@ Shader version: 500
0:? 'pos' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 43
Capability Shader
diff --git a/Test/baseResults/hlsl.partialInit.frag.out b/Test/baseResults/hlsl.partialInit.frag.out
index 4686566d..d3ce42e1 100644
--- a/Test/baseResults/hlsl.partialInit.frag.out
+++ b/Test/baseResults/hlsl.partialInit.frag.out
@@ -400,7 +400,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 104
Capability Shader
diff --git a/Test/baseResults/hlsl.pp.line.frag.out b/Test/baseResults/hlsl.pp.line.frag.out
index 68476d2a..3478c665 100644
--- a/Test/baseResults/hlsl.pp.line.frag.out
+++ b/Test/baseResults/hlsl.pp.line.frag.out
@@ -120,7 +120,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 42
Capability Shader
diff --git a/Test/baseResults/hlsl.pp.line2.frag.out b/Test/baseResults/hlsl.pp.line2.frag.out
index e92d7e27..1c73bceb 100644
--- a/Test/baseResults/hlsl.pp.line2.frag.out
+++ b/Test/baseResults/hlsl.pp.line2.frag.out
@@ -1,6 +1,6 @@
hlsl.pp.line2.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 80
Capability Shader
diff --git a/Test/baseResults/hlsl.pp.line3.frag.out b/Test/baseResults/hlsl.pp.line3.frag.out
index 0cf250ab..717a21b9 100644
--- a/Test/baseResults/hlsl.pp.line3.frag.out
+++ b/Test/baseResults/hlsl.pp.line3.frag.out
@@ -1,6 +1,6 @@
hlsl.pp.line3.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 78
Capability Shader
diff --git a/Test/baseResults/hlsl.pp.line4.frag.out b/Test/baseResults/hlsl.pp.line4.frag.out
index a9b9664e..da968b23 100644
--- a/Test/baseResults/hlsl.pp.line4.frag.out
+++ b/Test/baseResults/hlsl.pp.line4.frag.out
@@ -1,6 +1,6 @@
hlsl.pp.line4.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 116
Capability Shader
diff --git a/Test/baseResults/hlsl.pp.vert.out b/Test/baseResults/hlsl.pp.vert.out
index 54781011..652cf174 100644
--- a/Test/baseResults/hlsl.pp.vert.out
+++ b/Test/baseResults/hlsl.pp.vert.out
@@ -26,7 +26,7 @@ Shader version: 500
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int goodGlobal1, uniform int goodGlobal2})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 13
Capability Shader
diff --git a/Test/baseResults/hlsl.precedence.frag.out b/Test/baseResults/hlsl.precedence.frag.out
index 3992618d..4dd025a2 100644
--- a/Test/baseResults/hlsl.precedence.frag.out
+++ b/Test/baseResults/hlsl.precedence.frag.out
@@ -148,7 +148,7 @@ gl_FragCoord origin is upper left
0:? 'a4' (layout( location=3) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 65
Capability Shader
diff --git a/Test/baseResults/hlsl.precedence2.frag.out b/Test/baseResults/hlsl.precedence2.frag.out
index f231b351..1611d5a5 100644
--- a/Test/baseResults/hlsl.precedence2.frag.out
+++ b/Test/baseResults/hlsl.precedence2.frag.out
@@ -114,7 +114,7 @@ gl_FragCoord origin is upper left
0:? 'a4' (layout( location=3) flat in int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 56
Capability Shader
diff --git a/Test/baseResults/hlsl.precise.frag.out b/Test/baseResults/hlsl.precise.frag.out
index 39e35783..2d134b82 100644
--- a/Test/baseResults/hlsl.precise.frag.out
+++ b/Test/baseResults/hlsl.precise.frag.out
@@ -76,7 +76,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.color' (layout( location=0) noContraction out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 37
Capability Shader
diff --git a/Test/baseResults/hlsl.preprocessor.frag.out b/Test/baseResults/hlsl.preprocessor.frag.out
index 754d0d87..106762bf 100644
--- a/Test/baseResults/hlsl.preprocessor.frag.out
+++ b/Test/baseResults/hlsl.preprocessor.frag.out
@@ -94,7 +94,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 40
Capability Shader
diff --git a/Test/baseResults/hlsl.printf.comp.out b/Test/baseResults/hlsl.printf.comp.out
index ea31c353..c4768a2b 100644
--- a/Test/baseResults/hlsl.printf.comp.out
+++ b/Test/baseResults/hlsl.printf.comp.out
@@ -126,7 +126,7 @@ local_size = (1, 1, 1)
0:? "first string"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 36
Capability Shader
diff --git a/Test/baseResults/hlsl.promote.atomic.frag.out b/Test/baseResults/hlsl.promote.atomic.frag.out
index a34b7ddd..91b1d587 100644
--- a/Test/baseResults/hlsl.promote.atomic.frag.out
+++ b/Test/baseResults/hlsl.promote.atomic.frag.out
@@ -64,7 +64,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 36
Capability Shader
diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out
index a0007c32..f9f57a43 100644
--- a/Test/baseResults/hlsl.promote.binary.frag.out
+++ b/Test/baseResults/hlsl.promote.binary.frag.out
@@ -172,7 +172,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 83
Capability Shader
diff --git a/Test/baseResults/hlsl.promote.vec1.frag.out b/Test/baseResults/hlsl.promote.vec1.frag.out
index 11e324f9..7bdaf45b 100644
--- a/Test/baseResults/hlsl.promote.vec1.frag.out
+++ b/Test/baseResults/hlsl.promote.vec1.frag.out
@@ -80,7 +80,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Shader
diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out
index f1354063..6d73cc7c 100644
--- a/Test/baseResults/hlsl.promotions.frag.out
+++ b/Test/baseResults/hlsl.promotions.frag.out
@@ -1582,7 +1582,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 596
Capability Shader
diff --git a/Test/baseResults/hlsl.round.dx10.frag.out b/Test/baseResults/hlsl.round.dx10.frag.out
index be72dc59..f8597d4d 100644
--- a/Test/baseResults/hlsl.round.dx10.frag.out
+++ b/Test/baseResults/hlsl.round.dx10.frag.out
@@ -29,7 +29,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 17
Capability Shader
diff --git a/Test/baseResults/hlsl.round.dx9.frag.out b/Test/baseResults/hlsl.round.dx9.frag.out
index ecf58a74..d4ff02a2 100644
--- a/Test/baseResults/hlsl.round.dx9.frag.out
+++ b/Test/baseResults/hlsl.round.dx9.frag.out
@@ -29,7 +29,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out
index 06bc3172..83169f13 100644
--- a/Test/baseResults/hlsl.rw.atomics.frag.out
+++ b/Test/baseResults/hlsl.rw.atomics.frag.out
@@ -3946,7 +3946,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1147
Capability Shader
diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out
index c79877c0..02ed3799 100644
--- a/Test/baseResults/hlsl.rw.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.bracket.frag.out
@@ -1744,7 +1744,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 607
Capability Shader
diff --git a/Test/baseResults/hlsl.rw.register.frag.out b/Test/baseResults/hlsl.rw.register.frag.out
index 265eaf9e..558bf424 100644
--- a/Test/baseResults/hlsl.rw.register.frag.out
+++ b/Test/baseResults/hlsl.rw.register.frag.out
@@ -98,7 +98,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 45
Capability Shader
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
index 8e4716b7..f2bef19a 100644
--- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -1690,7 +1690,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 607
Capability Shader
diff --git a/Test/baseResults/hlsl.rw.swizzle.frag.out b/Test/baseResults/hlsl.rw.swizzle.frag.out
index 97dd0dc4..5121cebd 100644
--- a/Test/baseResults/hlsl.rw.swizzle.frag.out
+++ b/Test/baseResults/hlsl.rw.swizzle.frag.out
@@ -202,7 +202,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 63
Capability Shader
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
index 1f77a778..a0c639bf 100644
--- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -1708,7 +1708,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 711
Capability Shader
diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out
index 28d96f0d..1acca183 100644
--- a/Test/baseResults/hlsl.sample.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out
@@ -322,7 +322,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 146
Capability Shader
diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
index 12c67111..e3063178 100644
--- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
@@ -550,7 +550,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 198
Capability Shader
diff --git a/Test/baseResults/hlsl.sample.dx9.frag.out b/Test/baseResults/hlsl.sample.dx9.frag.out
index 2b19a2cb..04eb9d36 100644
--- a/Test/baseResults/hlsl.sample.dx9.frag.out
+++ b/Test/baseResults/hlsl.sample.dx9.frag.out
@@ -378,7 +378,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 135
Capability Shader
diff --git a/Test/baseResults/hlsl.sample.dx9.vert.out b/Test/baseResults/hlsl.sample.dx9.vert.out
index 0cd98f2a..59878a99 100644
--- a/Test/baseResults/hlsl.sample.dx9.vert.out
+++ b/Test/baseResults/hlsl.sample.dx9.vert.out
@@ -154,7 +154,7 @@ Shader version: 500
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 64
Capability Shader
diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
index e5d204f9..0a351b43 100644
--- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
@@ -364,7 +364,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 161
Capability Shader
diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
index 5b14c657..0770e0ba 100644
--- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
@@ -274,7 +274,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 118
Capability Shader
diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
index 8754a038..ea0e4e24 100644
--- a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
@@ -154,7 +154,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 72
Capability Shader
diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
index e177d77b..f59fc811 100644
--- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
@@ -358,7 +358,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 146
Capability Shader
diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
index 2f15b42b..919be719 100644
--- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
@@ -424,7 +424,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 170
Capability Shader
diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
index 291f6248..5b297577 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -400,7 +400,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 161
Capability Shader
diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
index a5bb6139..c3114a1b 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -298,7 +298,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 118
Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
index 0ab61eba..caddceeb 100644
--- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
@@ -399,7 +399,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 209
Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
index c178c571..fde1b58c 100644
--- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
@@ -381,7 +381,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 198
Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmp.dualmode.frag.out b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out
index 6859f6d9..7f17e900 100644
--- a/Test/baseResults/hlsl.samplecmp.dualmode.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out
@@ -85,7 +85,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex' (layout( binding=3) uniform texture1D)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 43
Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
index 1e50d7bb..cc1b8581 100644
--- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
@@ -327,7 +327,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 167
Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
index 3b1eb6f6..9d8413c9 100644
--- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
@@ -339,7 +339,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 178
Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
index a734e544..45e33ffa 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
@@ -435,7 +435,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 210
Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
index 54135cdb..6807d995 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
@@ -417,7 +417,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 199
Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
index 4922cded..338a5e71 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
@@ -351,7 +351,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 168
Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
index 22bd2577..4b68c90f 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
@@ -363,7 +363,7 @@ using depth_any
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 179
Capability Shader
diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
index 67e1d157..a2e58bd6 100644
--- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
@@ -430,7 +430,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 140
Capability Shader
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
index 8f2fabc4..09bfbdf3 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
@@ -532,7 +532,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 175
Capability Shader
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
index 69820905..f63d9e8e 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
@@ -494,7 +494,7 @@ Shader version: 500
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 166
Capability Shader
diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
index 5694f89b..3180e7a3 100644
--- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
@@ -472,7 +472,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 166
Capability Shader
diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
index a3bc4c14..ce799699 100644
--- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
@@ -340,7 +340,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 120
Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
index 68e0e87d..7f3af783 100644
--- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
@@ -358,7 +358,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 147
Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
index ee3588da..e1d449f5 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
@@ -426,7 +426,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 172
Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
index a3ff9e66..bbb51f37 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
@@ -386,7 +386,7 @@ Shader version: 500
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 162
Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
index c9d431b2..1b06c579 100644
--- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
@@ -400,7 +400,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 162
Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
index 3f6ae556..e2560546 100644
--- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
@@ -298,7 +298,7 @@ using depth_any
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 119
Capability Shader
diff --git a/Test/baseResults/hlsl.scalar-length.frag.out b/Test/baseResults/hlsl.scalar-length.frag.out
index c09216ae..fd5f0b84 100644
--- a/Test/baseResults/hlsl.scalar-length.frag.out
+++ b/Test/baseResults/hlsl.scalar-length.frag.out
@@ -64,7 +64,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/hlsl.scalar2matrix.frag.out b/Test/baseResults/hlsl.scalar2matrix.frag.out
index 62980dd6..ee0c3db0 100644
--- a/Test/baseResults/hlsl.scalar2matrix.frag.out
+++ b/Test/baseResults/hlsl.scalar2matrix.frag.out
@@ -374,7 +374,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 96
Capability Shader
diff --git a/Test/baseResults/hlsl.scalarCast.vert.out b/Test/baseResults/hlsl.scalarCast.vert.out
index 17356f94..f10f86c6 100644
--- a/Test/baseResults/hlsl.scalarCast.vert.out
+++ b/Test/baseResults/hlsl.scalarCast.vert.out
@@ -322,7 +322,7 @@ Shader version: 500
0:? '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 120
Capability Shader
diff --git a/Test/baseResults/hlsl.scope.frag.out b/Test/baseResults/hlsl.scope.frag.out
index 5d73bbad..24f452ca 100644
--- a/Test/baseResults/hlsl.scope.frag.out
+++ b/Test/baseResults/hlsl.scope.frag.out
@@ -102,7 +102,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 49
Capability Shader
diff --git a/Test/baseResults/hlsl.self_cast.frag.out b/Test/baseResults/hlsl.self_cast.frag.out
index ad4252ba..1328833c 100644
--- a/Test/baseResults/hlsl.self_cast.frag.out
+++ b/Test/baseResults/hlsl.self_cast.frag.out
@@ -68,7 +68,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 32
Capability Shader
diff --git a/Test/baseResults/hlsl.semantic-1.vert.out b/Test/baseResults/hlsl.semantic-1.vert.out
index 25fb5822..191afbc8 100644
--- a/Test/baseResults/hlsl.semantic-1.vert.out
+++ b/Test/baseResults/hlsl.semantic-1.vert.out
@@ -242,7 +242,7 @@ Shader version: 500
0:? 'v' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 84
Capability Shader
diff --git a/Test/baseResults/hlsl.semantic.geom.out b/Test/baseResults/hlsl.semantic.geom.out
index 0aba0003..740f4a2a 100644
--- a/Test/baseResults/hlsl.semantic.geom.out
+++ b/Test/baseResults/hlsl.semantic.geom.out
@@ -261,7 +261,7 @@ output primitive = line_strip
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 88
Capability Geometry
diff --git a/Test/baseResults/hlsl.semantic.vert.out b/Test/baseResults/hlsl.semantic.vert.out
index c17969a5..41edff24 100644
--- a/Test/baseResults/hlsl.semantic.vert.out
+++ b/Test/baseResults/hlsl.semantic.vert.out
@@ -211,7 +211,7 @@ Shader version: 500
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 70
Capability Shader
diff --git a/Test/baseResults/hlsl.semicolons.frag.out b/Test/baseResults/hlsl.semicolons.frag.out
index 1afcd5b4..347190ea 100644
--- a/Test/baseResults/hlsl.semicolons.frag.out
+++ b/Test/baseResults/hlsl.semicolons.frag.out
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Shader
diff --git a/Test/baseResults/hlsl.shapeConv.frag.out b/Test/baseResults/hlsl.shapeConv.frag.out
index d3b17f01..05bfa6ab 100644
--- a/Test/baseResults/hlsl.shapeConv.frag.out
+++ b/Test/baseResults/hlsl.shapeConv.frag.out
@@ -319,7 +319,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 127
Capability Shader
diff --git a/Test/baseResults/hlsl.shapeConvRet.frag.out b/Test/baseResults/hlsl.shapeConvRet.frag.out
index e3e27a26..a23478c5 100644
--- a/Test/baseResults/hlsl.shapeConvRet.frag.out
+++ b/Test/baseResults/hlsl.shapeConvRet.frag.out
@@ -68,7 +68,7 @@ gl_FragCoord origin is upper left
0:? 'f' (layout( location=0) in float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 35
Capability Shader
diff --git a/Test/baseResults/hlsl.sin.frag.out b/Test/baseResults/hlsl.sin.frag.out
index bf88ce86..1f44be5a 100644
--- a/Test/baseResults/hlsl.sin.frag.out
+++ b/Test/baseResults/hlsl.sin.frag.out
@@ -52,7 +52,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 26
Capability Shader
diff --git a/Test/baseResults/hlsl.singleArgIntPromo.vert.out b/Test/baseResults/hlsl.singleArgIntPromo.vert.out
index a6105944..a5bf362a 100644
--- a/Test/baseResults/hlsl.singleArgIntPromo.vert.out
+++ b/Test/baseResults/hlsl.singleArgIntPromo.vert.out
@@ -194,7 +194,7 @@ Shader version: 500
0:? '@entryPointOutput' (layout( location=0) out float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 75
Capability Shader
diff --git a/Test/baseResults/hlsl.snorm.uav.comp.out b/Test/baseResults/hlsl.snorm.uav.comp.out
index 7b8cd416..40ab6cf1 100644
--- a/Test/baseResults/hlsl.snorm.uav.comp.out
+++ b/Test/baseResults/hlsl.snorm.uav.comp.out
@@ -112,7 +112,7 @@ local_size = (16, 16, 1)
0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 54
Capability Shader
diff --git a/Test/baseResults/hlsl.specConstant.frag.out b/Test/baseResults/hlsl.specConstant.frag.out
index eb62242c..3d81789e 100644
--- a/Test/baseResults/hlsl.specConstant.frag.out
+++ b/Test/baseResults/hlsl.specConstant.frag.out
@@ -136,7 +136,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 61
Capability Shader
diff --git a/Test/baseResults/hlsl.spv.1.6.discard.frag.out b/Test/baseResults/hlsl.spv.1.6.discard.frag.out
index d5219144..0d09d259 100644
--- a/Test/baseResults/hlsl.spv.1.6.discard.frag.out
+++ b/Test/baseResults/hlsl.spv.1.6.discard.frag.out
@@ -108,7 +108,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10600
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 47
Capability Shader
diff --git a/Test/baseResults/hlsl.staticFuncInit.frag.out b/Test/baseResults/hlsl.staticFuncInit.frag.out
index 586daceb..9e1e4a8e 100644
--- a/Test/baseResults/hlsl.staticFuncInit.frag.out
+++ b/Test/baseResults/hlsl.staticFuncInit.frag.out
@@ -130,7 +130,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 57
Capability Shader
diff --git a/Test/baseResults/hlsl.staticMemberFunction.frag.out b/Test/baseResults/hlsl.staticMemberFunction.frag.out
index f0e5f9f0..9cd3d386 100644
--- a/Test/baseResults/hlsl.staticMemberFunction.frag.out
+++ b/Test/baseResults/hlsl.staticMemberFunction.frag.out
@@ -118,7 +118,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 54
Capability Shader
diff --git a/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out b/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out
index e5188218..2198affb 100644
--- a/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out
+++ b/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out
@@ -96,7 +96,7 @@ local_size = (64, 1, 1)
0:? 'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 42
Capability Shader
diff --git a/Test/baseResults/hlsl.string.frag.out b/Test/baseResults/hlsl.string.frag.out
index 047f4136..2a5ce37d 100644
--- a/Test/baseResults/hlsl.string.frag.out
+++ b/Test/baseResults/hlsl.string.frag.out
@@ -50,7 +50,7 @@ gl_FragCoord origin is upper left
0:? 'f' (layout( location=0) in float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out
index f2ca742c..144bebc6 100644
--- a/Test/baseResults/hlsl.stringtoken.frag.out
+++ b/Test/baseResults/hlsl.stringtoken.frag.out
@@ -70,7 +70,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 34
Capability Shader
diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out
index 7330f567..a36bba42 100644
--- a/Test/baseResults/hlsl.struct.frag.out
+++ b/Test/baseResults/hlsl.struct.frag.out
@@ -213,7 +213,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 102
Capability Shader
diff --git a/Test/baseResults/hlsl.struct.split-1.vert.out b/Test/baseResults/hlsl.struct.split-1.vert.out
index f204bd50..89b4e4e9 100644
--- a/Test/baseResults/hlsl.struct.split-1.vert.out
+++ b/Test/baseResults/hlsl.struct.split-1.vert.out
@@ -196,7 +196,7 @@ Shader version: 500
0:? 'Pos_loose' (layout( location=3) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 70
Capability Shader
diff --git a/Test/baseResults/hlsl.struct.split.array.geom.out b/Test/baseResults/hlsl.struct.split.array.geom.out
index 3d75fb87..0e3e8523 100644
--- a/Test/baseResults/hlsl.struct.split.array.geom.out
+++ b/Test/baseResults/hlsl.struct.split.array.geom.out
@@ -160,7 +160,7 @@ output primitive = triangle_strip
0:? 'OutputStream.VertexID' (layout( location=2) out uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 82
Capability Geometry
diff --git a/Test/baseResults/hlsl.struct.split.assign.frag.out b/Test/baseResults/hlsl.struct.split.assign.frag.out
index c40dbd68..16c897b2 100644
--- a/Test/baseResults/hlsl.struct.split.assign.frag.out
+++ b/Test/baseResults/hlsl.struct.split.assign.frag.out
@@ -209,7 +209,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 66
Capability Shader
diff --git a/Test/baseResults/hlsl.struct.split.call.vert.out b/Test/baseResults/hlsl.struct.split.call.vert.out
index 2570552e..7451a342 100644
--- a/Test/baseResults/hlsl.struct.split.call.vert.out
+++ b/Test/baseResults/hlsl.struct.split.call.vert.out
@@ -214,7 +214,7 @@ Shader version: 500
0:? 'vsin.x1_in' (layout( location=2) in int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 77
Capability Shader
diff --git a/Test/baseResults/hlsl.struct.split.nested.geom.out b/Test/baseResults/hlsl.struct.split.nested.geom.out
index 1abe4c38..9bab38c2 100644
--- a/Test/baseResults/hlsl.struct.split.nested.geom.out
+++ b/Test/baseResults/hlsl.struct.split.nested.geom.out
@@ -430,7 +430,7 @@ output primitive = triangle_strip
0:? 'ts.contains_no_builtin_io.m1' (layout( location=3) out int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 99
Capability Geometry
diff --git a/Test/baseResults/hlsl.struct.split.trivial.geom.out b/Test/baseResults/hlsl.struct.split.trivial.geom.out
index 89c02bf2..f46316f6 100644
--- a/Test/baseResults/hlsl.struct.split.trivial.geom.out
+++ b/Test/baseResults/hlsl.struct.split.trivial.geom.out
@@ -192,7 +192,7 @@ output primitive = triangle_strip
0:? 'ts.pos' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 67
Capability Geometry
diff --git a/Test/baseResults/hlsl.struct.split.trivial.vert.out b/Test/baseResults/hlsl.struct.split.trivial.vert.out
index f1470ab6..065f4220 100644
--- a/Test/baseResults/hlsl.struct.split.trivial.vert.out
+++ b/Test/baseResults/hlsl.struct.split.trivial.vert.out
@@ -98,7 +98,7 @@ Shader version: 500
0:? 'Pos_loose' (layout( location=1) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 45
Capability Shader
diff --git a/Test/baseResults/hlsl.structIoFourWay.frag.out b/Test/baseResults/hlsl.structIoFourWay.frag.out
index fd1a8bb4..3faff5bd 100644
--- a/Test/baseResults/hlsl.structIoFourWay.frag.out
+++ b/Test/baseResults/hlsl.structIoFourWay.frag.out
@@ -162,7 +162,7 @@ using depth_greater
0:? 't.normal' (layout( location=3) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 65
Capability Shader
diff --git a/Test/baseResults/hlsl.structStructName.frag.out b/Test/baseResults/hlsl.structStructName.frag.out
index 3fdbca95..ce305b06 100644
--- a/Test/baseResults/hlsl.structStructName.frag.out
+++ b/Test/baseResults/hlsl.structStructName.frag.out
@@ -44,7 +44,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/hlsl.structarray.flatten.frag.out b/Test/baseResults/hlsl.structarray.flatten.frag.out
index 97e57b16..4896dca5 100644
--- a/Test/baseResults/hlsl.structarray.flatten.frag.out
+++ b/Test/baseResults/hlsl.structarray.flatten.frag.out
@@ -157,7 +157,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 80
Capability Shader
diff --git a/Test/baseResults/hlsl.structarray.flatten.geom.out b/Test/baseResults/hlsl.structarray.flatten.geom.out
index 619dccf6..e36e5f05 100644
--- a/Test/baseResults/hlsl.structarray.flatten.geom.out
+++ b/Test/baseResults/hlsl.structarray.flatten.geom.out
@@ -314,7 +314,7 @@ output primitive = triangle_strip
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 82
Capability Geometry
diff --git a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
index a4e540f0..acfbf5d9 100644
--- a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
@@ -151,7 +151,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 70
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.append.frag.out b/Test/baseResults/hlsl.structbuffer.append.frag.out
index 518b67f0..4c57e0bc 100644
--- a/Test/baseResults/hlsl.structbuffer.append.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.append.frag.out
@@ -124,7 +124,7 @@ gl_FragCoord origin is upper left
0:? 'pos' (layout( location=0) flat in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 56
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.atomics.frag.out b/Test/baseResults/hlsl.structbuffer.atomics.frag.out
index ba874ee6..3f26652d 100644
--- a/Test/baseResults/hlsl.structbuffer.atomics.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.atomics.frag.out
@@ -475,7 +475,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 87
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.byte.frag.out b/Test/baseResults/hlsl.structbuffer.byte.frag.out
index b5252bce..f3e92cea 100644
--- a/Test/baseResults/hlsl.structbuffer.byte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.byte.frag.out
@@ -324,7 +324,7 @@ gl_FragCoord origin is upper left
0:? 'pos' (layout( location=0) flat in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 114
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
index 3d97ee55..65e4a146 100644
--- a/Test/baseResults/hlsl.structbuffer.coherent.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
@@ -176,7 +176,7 @@ gl_FragCoord origin is upper left
0:? 'pos' (layout( location=0) flat in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 78
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out
index a7668a7f..6a86e481 100644
--- a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out
+++ b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out
@@ -180,7 +180,7 @@ local_size = (1, 1, 1)
0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 85
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.fn.frag.out b/Test/baseResults/hlsl.structbuffer.fn.frag.out
index bd2a4e67..2086d59f 100644
--- a/Test/baseResults/hlsl.structbuffer.fn.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.fn.frag.out
@@ -139,7 +139,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 78
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.fn2.comp.out b/Test/baseResults/hlsl.structbuffer.fn2.comp.out
index 3409a5f7..1953d467 100644
--- a/Test/baseResults/hlsl.structbuffer.fn2.comp.out
+++ b/Test/baseResults/hlsl.structbuffer.fn2.comp.out
@@ -136,7 +136,7 @@ local_size = (256, 1, 1)
0:? 'dispatchId' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 63
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.frag.out b/Test/baseResults/hlsl.structbuffer.frag.out
index 294a1c6c..0e16ef16 100644
--- a/Test/baseResults/hlsl.structbuffer.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.frag.out
@@ -188,7 +188,7 @@ gl_FragCoord origin is upper left
0:? 'pos' (layout( location=0) flat in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 96
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out b/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out
index 23b21256..95b13a8f 100644
--- a/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out
+++ b/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out
@@ -1,6 +1,6 @@
hlsl.structbuffer.incdec.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 70
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.incdec.frag.out b/Test/baseResults/hlsl.structbuffer.incdec.frag.out
index 26057779..72efcc0e 100644
--- a/Test/baseResults/hlsl.structbuffer.incdec.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.incdec.frag.out
@@ -204,7 +204,7 @@ gl_FragCoord origin is upper left
0:? 'pos' (layout( location=0) flat in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 70
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.rw.frag.out b/Test/baseResults/hlsl.structbuffer.rw.frag.out
index 1eb98aa1..9dfdaf04 100644
--- a/Test/baseResults/hlsl.structbuffer.rw.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rw.frag.out
@@ -176,7 +176,7 @@ gl_FragCoord origin is upper left
0:? 'pos' (layout( location=0) flat in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 78
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
index 337442d5..5fdbd1d1 100644
--- a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
@@ -1004,7 +1004,7 @@ gl_FragCoord origin is upper left
0:? 'pos' (layout( location=0) flat in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 239
Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out b/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out
index 127d52cc..b024bd42 100644
--- a/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out
+++ b/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out
@@ -76,7 +76,7 @@ local_size = (1, 1, 1)
0:? 'g_bbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/hlsl.structin.vert.out b/Test/baseResults/hlsl.structin.vert.out
index 85f63463..04a64e79 100644
--- a/Test/baseResults/hlsl.structin.vert.out
+++ b/Test/baseResults/hlsl.structin.vert.out
@@ -340,7 +340,7 @@ Shader version: 500
0:? 'e' (layout( location=5) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 94
Capability Shader
diff --git a/Test/baseResults/hlsl.subpass.frag.out b/Test/baseResults/hlsl.subpass.frag.out
index 2aca6287..942ef5ee 100644
--- a/Test/baseResults/hlsl.subpass.frag.out
+++ b/Test/baseResults/hlsl.subpass.frag.out
@@ -430,7 +430,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 204
Capability Shader
diff --git a/Test/baseResults/hlsl.switch.frag.out b/Test/baseResults/hlsl.switch.frag.out
index c239640f..2ee9bd98 100644
--- a/Test/baseResults/hlsl.switch.frag.out
+++ b/Test/baseResults/hlsl.switch.frag.out
@@ -296,7 +296,7 @@ gl_FragCoord origin is upper left
0:? 'd' (layout( location=2) flat in int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 106
Capability Shader
diff --git a/Test/baseResults/hlsl.swizzle.frag.out b/Test/baseResults/hlsl.swizzle.frag.out
index 88ea3cc9..afb81dea 100644
--- a/Test/baseResults/hlsl.swizzle.frag.out
+++ b/Test/baseResults/hlsl.swizzle.frag.out
@@ -77,7 +77,7 @@ gl_FragCoord origin is upper left
0:? 'AmbientColor' ( global 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/hlsl.synthesizeInput.frag.out b/Test/baseResults/hlsl.synthesizeInput.frag.out
index 316a3529..5462e645 100644
--- a/Test/baseResults/hlsl.synthesizeInput.frag.out
+++ b/Test/baseResults/hlsl.synthesizeInput.frag.out
@@ -98,7 +98,7 @@ gl_FragCoord origin is upper left
0:? 'input.no_interp' (layout( location=1) flat in uint)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 44
Capability Shader
diff --git a/Test/baseResults/hlsl.target.frag.out b/Test/baseResults/hlsl.target.frag.out
index 8bfaa2ba..9e867466 100644
--- a/Test/baseResults/hlsl.target.frag.out
+++ b/Test/baseResults/hlsl.target.frag.out
@@ -114,7 +114,7 @@ gl_FragCoord origin is upper left
0:? 'out2' (layout( location=3) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/hlsl.targetStruct1.frag.out b/Test/baseResults/hlsl.targetStruct1.frag.out
index 095d15d0..0be96d11 100644
--- a/Test/baseResults/hlsl.targetStruct1.frag.out
+++ b/Test/baseResults/hlsl.targetStruct1.frag.out
@@ -184,7 +184,7 @@ gl_FragCoord origin is upper left
0:? 'po' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 65
Capability Shader
diff --git a/Test/baseResults/hlsl.targetStruct2.frag.out b/Test/baseResults/hlsl.targetStruct2.frag.out
index c57ae008..2fa47658 100644
--- a/Test/baseResults/hlsl.targetStruct2.frag.out
+++ b/Test/baseResults/hlsl.targetStruct2.frag.out
@@ -184,7 +184,7 @@ gl_FragCoord origin is upper left
0:? 'po' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 65
Capability Shader
diff --git a/Test/baseResults/hlsl.templatetypes.frag.out b/Test/baseResults/hlsl.templatetypes.frag.out
index 842ed0d6..5624c287 100644
--- a/Test/baseResults/hlsl.templatetypes.frag.out
+++ b/Test/baseResults/hlsl.templatetypes.frag.out
@@ -508,7 +508,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 153
Capability Shader
diff --git a/Test/baseResults/hlsl.texture.struct.frag.out b/Test/baseResults/hlsl.texture.struct.frag.out
index bf9ab680..ba632bed 100644
--- a/Test/baseResults/hlsl.texture.struct.frag.out
+++ b/Test/baseResults/hlsl.texture.struct.frag.out
@@ -839,7 +839,7 @@ gl_FragCoord origin is upper left
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 240
Capability Shader
diff --git a/Test/baseResults/hlsl.texture.subvec4.frag.out b/Test/baseResults/hlsl.texture.subvec4.frag.out
index 1a7816d8..9c3b7417 100644
--- a/Test/baseResults/hlsl.texture.subvec4.frag.out
+++ b/Test/baseResults/hlsl.texture.subvec4.frag.out
@@ -356,7 +356,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 130
Capability Shader
diff --git a/Test/baseResults/hlsl.texturebuffer.frag.out b/Test/baseResults/hlsl.texturebuffer.frag.out
index 37e19c25..ae1d4f75 100644
--- a/Test/baseResults/hlsl.texturebuffer.frag.out
+++ b/Test/baseResults/hlsl.texturebuffer.frag.out
@@ -70,7 +70,7 @@ gl_FragCoord origin is upper left
0:? 'pos' ( in 4-component vector of float FragCoord)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
diff --git a/Test/baseResults/hlsl.this.frag.out b/Test/baseResults/hlsl.this.frag.out
index e6b54cf3..6e4a8a04 100644
--- a/Test/baseResults/hlsl.this.frag.out
+++ b/Test/baseResults/hlsl.this.frag.out
@@ -240,7 +240,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 98
Capability Shader
diff --git a/Test/baseResults/hlsl.tristream-append.geom.out b/Test/baseResults/hlsl.tristream-append.geom.out
index 53e8c049..630f2d32 100644
--- a/Test/baseResults/hlsl.tristream-append.geom.out
+++ b/Test/baseResults/hlsl.tristream-append.geom.out
@@ -157,7 +157,7 @@ output primitive = triangle_strip
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 66
Capability Geometry
diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out
index 424b8480..07f19099 100644
--- a/Test/baseResults/hlsl.tx.bracket.frag.out
+++ b/Test/baseResults/hlsl.tx.bracket.frag.out
@@ -422,7 +422,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 188
Capability Shader
diff --git a/Test/baseResults/hlsl.tx.overload.frag.out b/Test/baseResults/hlsl.tx.overload.frag.out
index 7fb0640e..df1bb20f 100644
--- a/Test/baseResults/hlsl.tx.overload.frag.out
+++ b/Test/baseResults/hlsl.tx.overload.frag.out
@@ -134,7 +134,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 73
Capability Shader
diff --git a/Test/baseResults/hlsl.type.half.frag.out b/Test/baseResults/hlsl.type.half.frag.out
index 68f1b240..f12838b9 100644
--- a/Test/baseResults/hlsl.type.half.frag.out
+++ b/Test/baseResults/hlsl.type.half.frag.out
@@ -164,7 +164,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 60
Capability Shader
diff --git a/Test/baseResults/hlsl.type.identifier.frag.out b/Test/baseResults/hlsl.type.identifier.frag.out
index 5705fb76..6130fda9 100644
--- a/Test/baseResults/hlsl.type.identifier.frag.out
+++ b/Test/baseResults/hlsl.type.identifier.frag.out
@@ -266,7 +266,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 105
Capability Shader
diff --git a/Test/baseResults/hlsl.type.type.conversion.valid.frag.out b/Test/baseResults/hlsl.type.type.conversion.valid.frag.out
index 73200746..fe802db1 100644
--- a/Test/baseResults/hlsl.type.type.conversion.valid.frag.out
+++ b/Test/baseResults/hlsl.type.type.conversion.valid.frag.out
@@ -1364,7 +1364,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 122
Capability Shader
diff --git a/Test/baseResults/hlsl.typeGraphCopy.vert.out b/Test/baseResults/hlsl.typeGraphCopy.vert.out
index cedf601c..e3805477 100644
--- a/Test/baseResults/hlsl.typeGraphCopy.vert.out
+++ b/Test/baseResults/hlsl.typeGraphCopy.vert.out
@@ -62,7 +62,7 @@ Shader version: 500
0:? '@entryPointOutput' (layout( location=0) out float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 28
Capability Shader
diff --git a/Test/baseResults/hlsl.typedef.frag.out b/Test/baseResults/hlsl.typedef.frag.out
index d925124a..ecb8dbd8 100644
--- a/Test/baseResults/hlsl.typedef.frag.out
+++ b/Test/baseResults/hlsl.typedef.frag.out
@@ -79,7 +79,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 34
Capability Shader
diff --git a/Test/baseResults/hlsl.void.frag.out b/Test/baseResults/hlsl.void.frag.out
index f93cca0d..48c43c68 100644
--- a/Test/baseResults/hlsl.void.frag.out
+++ b/Test/baseResults/hlsl.void.frag.out
@@ -54,7 +54,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/hlsl.w-recip.frag.out b/Test/baseResults/hlsl.w-recip.frag.out
index b72f361e..a4fc494d 100644
--- a/Test/baseResults/hlsl.w-recip.frag.out
+++ b/Test/baseResults/hlsl.w-recip.frag.out
@@ -162,7 +162,7 @@ gl_FragCoord origin is upper left
0:? 'vpos' ( in 4-component vector of float FragCoord)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 69
Capability Shader
diff --git a/Test/baseResults/hlsl.w-recip2.frag.out b/Test/baseResults/hlsl.w-recip2.frag.out
index 6fee15c4..2157ce4c 100644
--- a/Test/baseResults/hlsl.w-recip2.frag.out
+++ b/Test/baseResults/hlsl.w-recip2.frag.out
@@ -178,7 +178,7 @@ gl_FragCoord origin is upper left
0:? 'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 75
Capability Shader
diff --git a/Test/baseResults/hlsl.wavebroadcast.comp.out b/Test/baseResults/hlsl.wavebroadcast.comp.out
index 01bc953d..49d3b871 100644
--- a/Test/baseResults/hlsl.wavebroadcast.comp.out
+++ b/Test/baseResults/hlsl.wavebroadcast.comp.out
@@ -2298,7 +2298,7 @@ local_size = (32, 16, 1)
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 393
Capability Shader
diff --git a/Test/baseResults/hlsl.waveprefix.comp.out b/Test/baseResults/hlsl.waveprefix.comp.out
index e4e942ce..e2991bf6 100644
--- a/Test/baseResults/hlsl.waveprefix.comp.out
+++ b/Test/baseResults/hlsl.waveprefix.comp.out
@@ -2322,7 +2322,7 @@ local_size = (32, 16, 1)
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 403
Capability Shader
diff --git a/Test/baseResults/hlsl.wavequad.comp.out b/Test/baseResults/hlsl.wavequad.comp.out
index e4311c74..6d4ab5b7 100644
--- a/Test/baseResults/hlsl.wavequad.comp.out
+++ b/Test/baseResults/hlsl.wavequad.comp.out
@@ -8026,7 +8026,7 @@ local_size = (32, 16, 1)
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1232
Capability Shader
diff --git a/Test/baseResults/hlsl.wavequery.comp.out b/Test/baseResults/hlsl.wavequery.comp.out
index dcd11ae7..a380808c 100644
--- a/Test/baseResults/hlsl.wavequery.comp.out
+++ b/Test/baseResults/hlsl.wavequery.comp.out
@@ -60,7 +60,7 @@ local_size = (32, 16, 1)
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 28
Capability Shader
diff --git a/Test/baseResults/hlsl.wavequery.frag.out b/Test/baseResults/hlsl.wavequery.frag.out
index df1b5969..bb5147a3 100644
--- a/Test/baseResults/hlsl.wavequery.frag.out
+++ b/Test/baseResults/hlsl.wavequery.frag.out
@@ -72,7 +72,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/hlsl.wavereduction.comp.out b/Test/baseResults/hlsl.wavereduction.comp.out
index 64a4e7c3..a4393fe9 100644
--- a/Test/baseResults/hlsl.wavereduction.comp.out
+++ b/Test/baseResults/hlsl.wavereduction.comp.out
@@ -6186,7 +6186,7 @@ local_size = (32, 16, 1)
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 991
Capability Shader
diff --git a/Test/baseResults/hlsl.wavevote.comp.out b/Test/baseResults/hlsl.wavevote.comp.out
index 83140a2f..f9382b71 100644
--- a/Test/baseResults/hlsl.wavevote.comp.out
+++ b/Test/baseResults/hlsl.wavevote.comp.out
@@ -204,7 +204,7 @@ local_size = (32, 16, 1)
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 75
Capability Shader
diff --git a/Test/baseResults/hlsl.whileLoop.frag.out b/Test/baseResults/hlsl.whileLoop.frag.out
index 23825e8e..1f9a36b2 100644
--- a/Test/baseResults/hlsl.whileLoop.frag.out
+++ b/Test/baseResults/hlsl.whileLoop.frag.out
@@ -96,7 +96,7 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 52
Capability Shader
diff --git a/Test/baseResults/hlsl.y-negate-1.vert.out b/Test/baseResults/hlsl.y-negate-1.vert.out
index aefde041..e0007524 100644
--- a/Test/baseResults/hlsl.y-negate-1.vert.out
+++ b/Test/baseResults/hlsl.y-negate-1.vert.out
@@ -72,7 +72,7 @@ Shader version: 500
0:? '@entryPointOutput' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 34
Capability Shader
diff --git a/Test/baseResults/hlsl.y-negate-2.vert.out b/Test/baseResults/hlsl.y-negate-2.vert.out
index 4a9ef611..57a47ab7 100644
--- a/Test/baseResults/hlsl.y-negate-2.vert.out
+++ b/Test/baseResults/hlsl.y-negate-2.vert.out
@@ -80,7 +80,7 @@ Shader version: 500
0:? 'position' ( out 4-component vector of float Position)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 37
Capability Shader
diff --git a/Test/baseResults/hlsl.y-negate-3.vert.out b/Test/baseResults/hlsl.y-negate-3.vert.out
index 35449103..3e589511 100644
--- a/Test/baseResults/hlsl.y-negate-3.vert.out
+++ b/Test/baseResults/hlsl.y-negate-3.vert.out
@@ -126,7 +126,7 @@ Shader version: 500
0:? '@entryPointOutput.somethingelse' (layout( location=0) out int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/implicitArraySize.vert.out b/Test/baseResults/implicitArraySize.vert.out
new file mode 100644
index 00000000..9a71b87b
--- /dev/null
+++ b/Test/baseResults/implicitArraySize.vert.out
@@ -0,0 +1,115 @@
+implicitArraySize.vert
+Shader version: 460
+0:? Sequence
+0:5 Function Definition: main( ( global void)
+0:5 Function Parameters:
+0:6 Sequence
+0:6 move second child to first child ( temp float)
+0:6 direct index ( smooth temp float)
+0:6 'a' ( smooth out unsized 1-element array of float)
+0:6 Constant:
+0:6 0 (const int)
+0:6 Constant:
+0:6 0.100000
+0:7 move second child to first child ( temp float)
+0:7 direct index ( smooth temp float)
+0:7 'c' ( smooth out unsized 6-element array of float)
+0:7 Constant:
+0:7 5 (const int)
+0:7 Constant:
+0:7 0.100000
+0:? Linker Objects
+0:? 'a' ( smooth out unsized 1-element array of float)
+0:? 'c' ( smooth out unsized 6-element array of float)
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+implicitArraySize.frag
+Shader version: 460
+0:? Sequence
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child ( temp float)
+0:7 direct index ( temp float)
+0:7 'b' ( out 5-element array of float)
+0:7 Constant:
+0:7 0 (const int)
+0:7 direct index ( smooth temp float)
+0:7 'a' ( smooth in unsized 2-element array of float)
+0:7 Constant:
+0:7 1 (const int)
+0:8 move second child to first child ( temp float)
+0:8 direct index ( temp float)
+0:8 'b' ( out 5-element array of float)
+0:8 Constant:
+0:8 1 (const int)
+0:8 direct index ( smooth temp float)
+0:8 'c' ( smooth in 3-element array of float)
+0:8 Constant:
+0:8 1 (const int)
+0:? Linker Objects
+0:? 'a' ( smooth in unsized 2-element array of float)
+0:? 'c' ( smooth in 3-element array of float)
+0:? 'b' ( out 5-element array of float)
+
+
+Linked vertex stage:
+
+
+Linked fragment stage:
+
+ERROR: Linking vertex stage: Implicit size of unsized array doesn't match same symbol among multiple shaders.
+
+Shader version: 460
+0:? Sequence
+0:5 Function Definition: main( ( global void)
+0:5 Function Parameters:
+0:6 Sequence
+0:6 move second child to first child ( temp float)
+0:6 direct index ( smooth temp float)
+0:6 'a' ( smooth out 1-element array of float)
+0:6 Constant:
+0:6 0 (const int)
+0:6 Constant:
+0:6 0.100000
+0:7 move second child to first child ( temp float)
+0:7 direct index ( smooth temp float)
+0:7 'c' ( smooth out 6-element array of float)
+0:7 Constant:
+0:7 5 (const int)
+0:7 Constant:
+0:7 0.100000
+0:? Linker Objects
+0:? 'a' ( smooth out 1-element array of float)
+0:? 'c' ( smooth out 6-element array of float)
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+Shader version: 460
+0:? Sequence
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child ( temp float)
+0:7 direct index ( temp float)
+0:7 'b' ( out 5-element array of float)
+0:7 Constant:
+0:7 0 (const int)
+0:7 direct index ( smooth temp float)
+0:7 'a' ( smooth in 2-element array of float)
+0:7 Constant:
+0:7 1 (const int)
+0:8 move second child to first child ( temp float)
+0:8 direct index ( temp float)
+0:8 'b' ( out 5-element array of float)
+0:8 Constant:
+0:8 1 (const int)
+0:8 direct index ( smooth temp float)
+0:8 'c' ( smooth in 3-element array of float)
+0:8 Constant:
+0:8 1 (const int)
+0:? Linker Objects
+0:? 'a' ( smooth in 2-element array of float)
+0:? 'c' ( smooth in 3-element array of float)
+0:? 'b' ( out 5-element array of float)
+
diff --git a/Test/baseResults/implicitArraySize1.geom.out b/Test/baseResults/implicitArraySize1.geom.out
new file mode 100644
index 00000000..d9c2f8ba
--- /dev/null
+++ b/Test/baseResults/implicitArraySize1.geom.out
@@ -0,0 +1,99 @@
+implicitArraySize1.geom
+Shader version: 460
+invocations = -1
+max_vertices = 204
+input primitive = triangles
+output primitive = line_strip
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 Function Call: f( ( global void)
+0:13 move second child to first child ( temp float)
+0:13 direct index (layout( stream=0) temp float)
+0:13 'o' (layout( stream=0) out 3-element array of float)
+0:13 Constant:
+0:13 1 (const int)
+0:13 direct index ( temp float)
+0:13 direct index ( temp 3-element array of float)
+0:13 'g' ( in 3-element array of 3-element array of float)
+0:13 Constant:
+0:13 2 (const int)
+0:13 Constant:
+0:13 1 (const int)
+0:? Linker Objects
+0:? 'g' ( in 3-element array of 3-element array of float)
+0:? 'o' (layout( stream=0) out 3-element array of float)
+
+implicitArraySize2.geom
+Shader version: 460
+invocations = -1
+max_vertices = -1
+input primitive = none
+output primitive = none
+0:? Sequence
+0:6 Function Definition: f( ( global void)
+0:6 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child ( temp float)
+0:7 direct index (layout( stream=0) temp float)
+0:7 'o' (layout( stream=0) out unsized 2-element array of float)
+0:7 Constant:
+0:7 1 (const int)
+0:7 direct index ( temp float)
+0:7 direct index ( temp 3-element array of float)
+0:7 'g' ( in unsized 2-element array of 3-element array of float)
+0:7 Constant:
+0:7 1 (const int)
+0:7 Constant:
+0:7 1 (const int)
+0:? Linker Objects
+0:? 'g' ( in unsized 2-element array of 3-element array of float)
+0:? 'o' (layout( stream=0) out unsized 2-element array of float)
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: Not all array sizes match across all geometry shaders in the program
+
+Shader version: 460
+invocations = 1
+max_vertices = 204
+input primitive = triangles
+output primitive = line_strip
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 Function Call: f( ( global void)
+0:13 move second child to first child ( temp float)
+0:13 direct index (layout( stream=0) temp float)
+0:13 'o' (layout( stream=0) out 3-element array of float)
+0:13 Constant:
+0:13 1 (const int)
+0:13 direct index ( temp float)
+0:13 direct index ( temp 3-element array of float)
+0:13 'g' ( in 3-element array of 3-element array of float)
+0:13 Constant:
+0:13 2 (const int)
+0:13 Constant:
+0:13 1 (const int)
+0:6 Function Definition: f( ( global void)
+0:6 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child ( temp float)
+0:7 direct index (layout( stream=0) temp float)
+0:7 'o' (layout( stream=0) out 2-element array of float)
+0:7 Constant:
+0:7 1 (const int)
+0:7 direct index ( temp float)
+0:7 direct index ( temp 3-element array of float)
+0:7 'g' ( in 2-element array of 3-element array of float)
+0:7 Constant:
+0:7 1 (const int)
+0:7 Constant:
+0:7 1 (const int)
+0:? Linker Objects
+0:? 'g' ( in 3-element array of 3-element array of float)
+0:? 'o' (layout( stream=0) out 3-element array of float)
+
diff --git a/Test/baseResults/implicitArraySizeBuiltin.vert.out b/Test/baseResults/implicitArraySizeBuiltin.vert.out
new file mode 100644
index 00000000..77b41aa6
--- /dev/null
+++ b/Test/baseResults/implicitArraySizeBuiltin.vert.out
@@ -0,0 +1,176 @@
+implicitArraySizeBuiltin.vert
+Shader version: 460
+0:? Sequence
+0:3 Function Definition: f1(f1; ( global void)
+0:3 Function Parameters:
+0:3 'x' ( in float)
+0:5 Sequence
+0:5 move second child to first child ( temp float)
+0:5 direct index ( temp float ClipDistance)
+0:5 gl_ClipDistance: direct index for structure ( out unsized 7-element array of float ClipDistance)
+0:5 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 7-element array of float ClipDistance gl_ClipDistance, out unsized 2-element array of float CullDistance gl_CullDistance})
+0:5 Constant:
+0:5 2 (const uint)
+0:5 Constant:
+0:5 6 (const int)
+0:5 'x' ( in float)
+0:6 move second child to first child ( temp float)
+0:6 direct index ( temp float CullDistance)
+0:6 gl_CullDistance: direct index for structure ( out unsized 2-element array of float CullDistance)
+0:6 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 7-element array of float ClipDistance gl_ClipDistance, out unsized 2-element array of float CullDistance gl_CullDistance})
+0:6 Constant:
+0:6 3 (const uint)
+0:6 Constant:
+0:6 1 (const int)
+0:6 'x' ( in float)
+0:9 Function Definition: main( ( global void)
+0:9 Function Parameters:
+0:10 Sequence
+0:10 Function Call: f1(f1; ( global void)
+0:10 Constant:
+0:10 0.100000
+0:? Linker Objects
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 7-element array of float ClipDistance gl_ClipDistance, out unsized 2-element array of float CullDistance gl_CullDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+implicitArraySizeBuiltin.geom
+Shader version: 460
+invocations = -1
+max_vertices = 204
+input primitive = triangles
+output primitive = line_strip
+0:? Sequence
+0:6 Function Definition: f2(f1; ( global void)
+0:6 Function Parameters:
+0:6 'x' ( in float)
+0:8 Sequence
+0:8 move second child to first child ( temp float)
+0:8 direct index (layout( stream=0) temp float ClipDistance)
+0:8 gl_ClipDistance: direct index for structure (layout( stream=0) out unsized 7-element array of float ClipDistance)
+0:8 'anon@0' (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 unsized 7-element array of float ClipDistance gl_ClipDistance, layout( stream=0) out unsized 2-element array of float CullDistance gl_CullDistance})
+0:8 Constant:
+0:8 2 (const uint)
+0:8 Constant:
+0:8 6 (const int)
+0:8 direct index ( temp float ClipDistance)
+0:8 gl_ClipDistance: direct index for structure ( in unsized 7-element array of float ClipDistance)
+0:8 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 7-element array of float ClipDistance gl_ClipDistance, in unsized 2-element array of float CullDistance gl_CullDistance, in 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
+0:8 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 7-element array of float ClipDistance gl_ClipDistance, in unsized 2-element array of float CullDistance gl_CullDistance, in 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
+0:8 Constant:
+0:8 0 (const int)
+0:8 Constant:
+0:8 2 (const int)
+0:8 Constant:
+0:8 6 (const int)
+0:10 Function Definition: f3(f1; ( global void)
+0:10 Function Parameters:
+0:10 'x' ( in float)
+0:12 Sequence
+0:12 move second child to first child ( temp float)
+0:12 direct index (layout( stream=0) temp float CullDistance)
+0:12 gl_CullDistance: direct index for structure (layout( stream=0) out unsized 2-element array of float CullDistance)
+0:12 'anon@0' (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 unsized 7-element array of float ClipDistance gl_ClipDistance, layout( stream=0) out unsized 2-element array of float CullDistance gl_CullDistance})
+0:12 Constant:
+0:12 3 (const uint)
+0:12 Constant:
+0:12 1 (const int)
+0:12 direct index ( temp float CullDistance)
+0:12 gl_CullDistance: direct index for structure ( in unsized 2-element array of float CullDistance)
+0:12 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 7-element array of float ClipDistance gl_ClipDistance, in unsized 2-element array of float CullDistance gl_CullDistance, in 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
+0:12 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 7-element array of float ClipDistance gl_ClipDistance, in unsized 2-element array of float CullDistance gl_CullDistance, in 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 3 (const int)
+0:12 Constant:
+0:12 1 (const int)
+0:15 Function Definition: main( ( global void)
+0:15 Function Parameters:
+0:19 Sequence
+0:19 Function Call: f3(f1; ( global void)
+0:19 Constant:
+0:19 0.100000
+0:? Linker Objects
+0:? 'anon@0' (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 unsized 7-element array of float ClipDistance gl_ClipDistance, layout( stream=0) out unsized 2-element array of float CullDistance gl_CullDistance})
+0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 7-element array of float ClipDistance gl_ClipDistance, in unsized 2-element array of float CullDistance gl_CullDistance, in 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
+
+
+Linked vertex stage:
+
+
+Linked geometry stage:
+
+
+Shader version: 460
+0:? Sequence
+0:3 Function Definition: f1(f1; ( global void)
+0:3 Function Parameters:
+0:3 'x' ( in float)
+0:5 Sequence
+0:5 move second child to first child ( temp float)
+0:5 direct index ( temp float ClipDistance)
+0:5 gl_ClipDistance: direct index for structure ( out 7-element array of float ClipDistance)
+0:5 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 7-element array of float ClipDistance gl_ClipDistance, out 2-element array of float CullDistance gl_CullDistance})
+0:5 Constant:
+0:5 2 (const uint)
+0:5 Constant:
+0:5 6 (const int)
+0:5 'x' ( in float)
+0:6 move second child to first child ( temp float)
+0:6 direct index ( temp float CullDistance)
+0:6 gl_CullDistance: direct index for structure ( out 2-element array of float CullDistance)
+0:6 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 7-element array of float ClipDistance gl_ClipDistance, out 2-element array of float CullDistance gl_CullDistance})
+0:6 Constant:
+0:6 3 (const uint)
+0:6 Constant:
+0:6 1 (const int)
+0:6 'x' ( in float)
+0:9 Function Definition: main( ( global void)
+0:9 Function Parameters:
+0:10 Sequence
+0:10 Function Call: f1(f1; ( global void)
+0:10 Constant:
+0:10 0.100000
+0:? Linker Objects
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 7-element array of float ClipDistance gl_ClipDistance, out 2-element array of float CullDistance gl_CullDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+Shader version: 460
+invocations = 1
+max_vertices = 204
+input primitive = triangles
+output primitive = line_strip
+0:? Sequence
+0:10 Function Definition: f3(f1; ( global void)
+0:10 Function Parameters:
+0:10 'x' ( in float)
+0:12 Sequence
+0:12 move second child to first child ( temp float)
+0:12 direct index (layout( stream=0) temp float CullDistance)
+0:12 gl_CullDistance: direct index for structure (layout( stream=0) out 2-element array of float CullDistance)
+0:12 'anon@0' (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 7-element array of float ClipDistance gl_ClipDistance, layout( stream=0) out 2-element array of float CullDistance gl_CullDistance})
+0:12 Constant:
+0:12 3 (const uint)
+0:12 Constant:
+0:12 1 (const int)
+0:12 direct index ( temp float CullDistance)
+0:12 gl_CullDistance: direct index for structure ( in 2-element array of float CullDistance)
+0:12 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 7-element array of float ClipDistance gl_ClipDistance, in 2-element array of float CullDistance gl_CullDistance, in 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
+0:12 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 7-element array of float ClipDistance gl_ClipDistance, in 2-element array of float CullDistance gl_CullDistance, in 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 3 (const int)
+0:12 Constant:
+0:12 1 (const int)
+0:15 Function Definition: main( ( global void)
+0:15 Function Parameters:
+0:19 Sequence
+0:19 Function Call: f3(f1; ( global void)
+0:19 Constant:
+0:19 0.100000
+0:? Linker Objects
+0:? 'anon@0' (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 7-element array of float ClipDistance gl_ClipDistance, layout( stream=0) out 2-element array of float CullDistance gl_CullDistance})
+0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 7-element array of float ClipDistance gl_ClipDistance, in 2-element array of float CullDistance gl_CullDistance, in 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
+
diff --git a/Test/baseResults/iomap.blockOutVariableIn.2.vert.out b/Test/baseResults/iomap.blockOutVariableIn.2.vert.out
index 0b4c0ac9..2c4ecdc5 100644
--- a/Test/baseResults/iomap.blockOutVariableIn.2.vert.out
+++ b/Test/baseResults/iomap.blockOutVariableIn.2.vert.out
@@ -255,7 +255,7 @@ output primitive = triangle_strip
0:? 'anon@0' (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 1-element array of float ClipDistance gl_ClipDistance})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability Shader
@@ -320,7 +320,7 @@ output primitive = triangle_strip
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 49
Capability Geometry
diff --git a/Test/baseResults/iomap.blockOutVariableIn.vert.out b/Test/baseResults/iomap.blockOutVariableIn.vert.out
index dd12cbc2..a43e52f5 100644
--- a/Test/baseResults/iomap.blockOutVariableIn.vert.out
+++ b/Test/baseResults/iomap.blockOutVariableIn.vert.out
@@ -127,7 +127,7 @@ Shader version: 440
0:? 'color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability Shader
@@ -192,7 +192,7 @@ Shader version: 440
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Shader
diff --git a/Test/baseResults/iomap.crossStage.2.vert.out b/Test/baseResults/iomap.crossStage.2.vert.out
index 85139cc7..171cc0e3 100644
--- a/Test/baseResults/iomap.crossStage.2.vert.out
+++ b/Test/baseResults/iomap.crossStage.2.vert.out
@@ -407,7 +407,7 @@ Shader version: 460
0:? 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 56
Capability Shader
@@ -530,7 +530,7 @@ Shader version: 460
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 65
Capability Geometry
@@ -659,7 +659,7 @@ Shader version: 460
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 62
Capability Shader
diff --git a/Test/baseResults/iomap.crossStage.vert.out b/Test/baseResults/iomap.crossStage.vert.out
index 13ff58c9..d6b6e4fe 100644
--- a/Test/baseResults/iomap.crossStage.vert.out
+++ b/Test/baseResults/iomap.crossStage.vert.out
@@ -264,7 +264,7 @@ Shader version: 460
0:? 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform 4-component vector of float a, layout( column_major std140) uniform 2-component vector of float b})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 56
Capability Shader
@@ -387,7 +387,7 @@ Shader version: 460
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 62
Capability Shader
diff --git a/Test/baseResults/iomap.crossStage.vk.vert.out b/Test/baseResults/iomap.crossStage.vk.vert.out
index 0a2eae84..dd8029d1 100644
--- a/Test/baseResults/iomap.crossStage.vk.vert.out
+++ b/Test/baseResults/iomap.crossStage.vk.vert.out
@@ -381,7 +381,7 @@ gl_FragCoord origin is upper left
0:? 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 38
Capability Shader
@@ -470,7 +470,7 @@ gl_FragCoord origin is upper left
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 57
Capability Geometry
@@ -582,7 +582,7 @@ gl_FragCoord origin is upper left
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 81
Capability Shader
diff --git a/Test/baseResults/iomap.variableOutBlockIn.2.vert.out b/Test/baseResults/iomap.variableOutBlockIn.2.vert.out
index 6ef7d4e3..3e6d30b5 100644
--- a/Test/baseResults/iomap.variableOutBlockIn.2.vert.out
+++ b/Test/baseResults/iomap.variableOutBlockIn.2.vert.out
@@ -149,7 +149,7 @@ output primitive = triangle_strip
0:? 'anon@0' (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 1-element array of float ClipDistance gl_ClipDistance})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
@@ -208,7 +208,7 @@ output primitive = triangle_strip
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Geometry
diff --git a/Test/baseResults/iomap.variableOutBlockIn.vert.out b/Test/baseResults/iomap.variableOutBlockIn.vert.out
index 8fef640d..4b0ce649 100644
--- a/Test/baseResults/iomap.variableOutBlockIn.vert.out
+++ b/Test/baseResults/iomap.variableOutBlockIn.vert.out
@@ -127,7 +127,7 @@ Shader version: 440
0:? 'color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
@@ -186,7 +186,7 @@ Shader version: 440
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out b/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out
index 3d76b2f3..d3545bfa 100755
--- a/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out
+++ b/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out
@@ -253,7 +253,7 @@ output primitive = triangle_strip
0:? 'gl_in' ( in 4-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, in 1-element array of float CullDistance gl_CullDistance, in 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/link.vk.matchingPC.0.0.frag.out b/Test/baseResults/link.vk.matchingPC.0.0.frag.out
index c434b66e..87d3b02c 100644
--- a/Test/baseResults/link.vk.matchingPC.0.0.frag.out
+++ b/Test/baseResults/link.vk.matchingPC.0.0.frag.out
@@ -90,7 +90,7 @@ gl_FragCoord origin is upper left
0:? 'uPC' (layout( column_major std430 push_constant) uniform block{layout( column_major std430 offset=0) uniform highp 4-component vector of float color, layout( column_major std430 offset=16) uniform highp 4-component vector of float color2, layout( column_major std430 offset=32) uniform highp float scale})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
diff --git a/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out b/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out
index 29a4df04..7f9a05a7 100644
--- a/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out
+++ b/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out
@@ -177,7 +177,7 @@ Shader version: 430
0:? 'P' ( in highp 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 73
Capability Shader
diff --git a/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out b/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out
index 4005f601..374a2a08 100644
--- a/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out
+++ b/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out
@@ -263,7 +263,7 @@ output primitive = triangle_strip
0:? 'P' ( in 3-element array of highp 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 101
Capability Geometry
diff --git a/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out b/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out
index f84877e0..410f192e 100644
--- a/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out
+++ b/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out
@@ -109,7 +109,7 @@ Shader version: 450
0:? 'P' (layout( location=0) in highp 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 53
Capability Shader
diff --git a/Test/baseResults/link1.vk.frag.out b/Test/baseResults/link1.vk.frag.out
index fa1d48ec..225aee13 100644
--- a/Test/baseResults/link1.vk.frag.out
+++ b/Test/baseResults/link1.vk.frag.out
@@ -197,7 +197,7 @@ gl_FragCoord origin is upper left
0:? 's2D' (layout( binding=1) uniform highp sampler2D)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 70
Capability Shader
diff --git a/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out b/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out
index 44e89699..007dcb90 100644
--- a/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out
+++ b/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out
@@ -1,6 +1,6 @@
rayQuery-OpConvertUToAccelerationStructureKHR.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 28
Capability Shader
diff --git a/Test/baseResults/rayQuery-allOps.comp.out b/Test/baseResults/rayQuery-allOps.comp.out
index bf654f77..05936bb2 100644
--- a/Test/baseResults/rayQuery-allOps.comp.out
+++ b/Test/baseResults/rayQuery-allOps.comp.out
@@ -1,6 +1,6 @@
rayQuery-allOps.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 258
Capability Shader
diff --git a/Test/baseResults/rayQuery-allOps.frag.out b/Test/baseResults/rayQuery-allOps.frag.out
index 90ebc4a2..19a61711 100644
--- a/Test/baseResults/rayQuery-allOps.frag.out
+++ b/Test/baseResults/rayQuery-allOps.frag.out
@@ -1,6 +1,6 @@
rayQuery-allOps.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 257
Capability Shader
diff --git a/Test/baseResults/rayQuery-allOps.rgen.out b/Test/baseResults/rayQuery-allOps.rgen.out
index b3a93b02..67447b9e 100644
--- a/Test/baseResults/rayQuery-allOps.rgen.out
+++ b/Test/baseResults/rayQuery-allOps.rgen.out
@@ -1,6 +1,6 @@
rayQuery-allOps.rgen
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 257
Capability RayQueryKHR
diff --git a/Test/baseResults/rayQuery-global.rgen.out b/Test/baseResults/rayQuery-global.rgen.out
index 7b051735..968a178b 100644
--- a/Test/baseResults/rayQuery-global.rgen.out
+++ b/Test/baseResults/rayQuery-global.rgen.out
@@ -1,6 +1,6 @@
rayQuery-global.rgen
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 44
Capability RayQueryKHR
diff --git a/Test/baseResults/rayQuery-initialize.rgen.out b/Test/baseResults/rayQuery-initialize.rgen.out
index f16facd5..dc213c5b 100644
--- a/Test/baseResults/rayQuery-initialize.rgen.out
+++ b/Test/baseResults/rayQuery-initialize.rgen.out
@@ -1,6 +1,6 @@
rayQuery-initialize.rgen
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 103
Capability RayQueryKHR
diff --git a/Test/baseResults/rayQuery-no-cse.rgen.out b/Test/baseResults/rayQuery-no-cse.rgen.out
index a44c41f1..0a751a3c 100644
--- a/Test/baseResults/rayQuery-no-cse.rgen.out
+++ b/Test/baseResults/rayQuery-no-cse.rgen.out
@@ -1,6 +1,6 @@
rayQuery-no-cse.rgen
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 107
Capability RayQueryKHR
diff --git a/Test/baseResults/rayQuery-types.comp.out b/Test/baseResults/rayQuery-types.comp.out
index 87a1d683..bb7ed7bc 100644
--- a/Test/baseResults/rayQuery-types.comp.out
+++ b/Test/baseResults/rayQuery-types.comp.out
@@ -1,6 +1,6 @@
rayQuery-types.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 86
Capability Shader
diff --git a/Test/baseResults/rayQuery.rgen.out b/Test/baseResults/rayQuery.rgen.out
index 06a1a5a8..4a54973c 100644
--- a/Test/baseResults/rayQuery.rgen.out
+++ b/Test/baseResults/rayQuery.rgen.out
@@ -1,6 +1,6 @@
rayQuery.rgen
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 44
Capability RayQueryKHR
diff --git a/Test/baseResults/remap.basic.dcefunc.frag.out b/Test/baseResults/remap.basic.dcefunc.frag.out
index c531eba4..f5c9a71a 100644
--- a/Test/baseResults/remap.basic.dcefunc.frag.out
+++ b/Test/baseResults/remap.basic.dcefunc.frag.out
@@ -1,6 +1,6 @@
remap.basic.dcefunc.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/remap.basic.everything.frag.out b/Test/baseResults/remap.basic.everything.frag.out
index d483f20e..6c73e595 100644
--- a/Test/baseResults/remap.basic.everything.frag.out
+++ b/Test/baseResults/remap.basic.everything.frag.out
@@ -1,6 +1,6 @@
remap.basic.everything.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24969
Capability Shader
diff --git a/Test/baseResults/remap.basic.none.frag.out b/Test/baseResults/remap.basic.none.frag.out
index 34f64c8b..3cff65b6 100644
--- a/Test/baseResults/remap.basic.none.frag.out
+++ b/Test/baseResults/remap.basic.none.frag.out
@@ -1,6 +1,6 @@
remap.basic.none.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/remap.basic.strip.frag.out b/Test/baseResults/remap.basic.strip.frag.out
index f1d77691..030877dd 100644
--- a/Test/baseResults/remap.basic.strip.frag.out
+++ b/Test/baseResults/remap.basic.strip.frag.out
@@ -1,6 +1,6 @@
remap.basic.strip.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
index 88c516fb..b1ce523b 100644
--- a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
+++ b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
@@ -2,7 +2,7 @@ remap.hlsl.sample.basic.everything.frag
WARNING: 0:4: 'immediate sampler state' : unimplemented
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24878
Capability Shader
diff --git a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
index 465b0240..13ac4f26 100644
--- a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
+++ b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
@@ -2,7 +2,7 @@ remap.hlsl.sample.basic.none.frag
WARNING: 0:4: 'immediate sampler state' : unimplemented
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 198
Capability Shader
diff --git a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
index 4fb92182..d861a436 100644
--- a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
+++ b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
@@ -2,7 +2,7 @@ remap.hlsl.sample.basic.strip.frag
WARNING: 0:4: 'immediate sampler state' : unimplemented
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 198
Capability Shader
diff --git a/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out b/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out
index f1e35355..22acbadc 100644
--- a/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out
+++ b/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out
@@ -1,6 +1,6 @@
remap.hlsl.templatetypes.everything.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24954
Capability Shader
diff --git a/Test/baseResults/remap.hlsl.templatetypes.none.frag.out b/Test/baseResults/remap.hlsl.templatetypes.none.frag.out
index 226f2c6e..7e653a12 100644
--- a/Test/baseResults/remap.hlsl.templatetypes.none.frag.out
+++ b/Test/baseResults/remap.hlsl.templatetypes.none.frag.out
@@ -1,6 +1,6 @@
remap.hlsl.templatetypes.none.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 160
Capability Shader
diff --git a/Test/baseResults/remap.if.everything.frag.out b/Test/baseResults/remap.if.everything.frag.out
index 3a521be9..e7e73696 100644
--- a/Test/baseResults/remap.if.everything.frag.out
+++ b/Test/baseResults/remap.if.everything.frag.out
@@ -1,6 +1,6 @@
remap.if.everything.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22855
Capability Shader
diff --git a/Test/baseResults/remap.if.none.frag.out b/Test/baseResults/remap.if.none.frag.out
index cb2d31b0..d239492c 100644
--- a/Test/baseResults/remap.if.none.frag.out
+++ b/Test/baseResults/remap.if.none.frag.out
@@ -1,6 +1,6 @@
remap.if.none.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 25
Capability Shader
diff --git a/Test/baseResults/remap.similar_1a.everything.frag.out b/Test/baseResults/remap.similar_1a.everything.frag.out
index 993dc1c1..6de9cb92 100644
--- a/Test/baseResults/remap.similar_1a.everything.frag.out
+++ b/Test/baseResults/remap.similar_1a.everything.frag.out
@@ -1,6 +1,6 @@
remap.similar_1a.everything.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24916
Capability Shader
diff --git a/Test/baseResults/remap.similar_1a.none.frag.out b/Test/baseResults/remap.similar_1a.none.frag.out
index e46b8e19..68234481 100644
--- a/Test/baseResults/remap.similar_1a.none.frag.out
+++ b/Test/baseResults/remap.similar_1a.none.frag.out
@@ -1,6 +1,6 @@
remap.similar_1a.none.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 86
Capability Shader
diff --git a/Test/baseResults/remap.similar_1b.everything.frag.out b/Test/baseResults/remap.similar_1b.everything.frag.out
index ffe54463..86e5ac75 100644
--- a/Test/baseResults/remap.similar_1b.everything.frag.out
+++ b/Test/baseResults/remap.similar_1b.everything.frag.out
@@ -1,6 +1,6 @@
remap.similar_1b.everything.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24916
Capability Shader
diff --git a/Test/baseResults/remap.similar_1b.none.frag.out b/Test/baseResults/remap.similar_1b.none.frag.out
index 5f5241c3..24338204 100644
--- a/Test/baseResults/remap.similar_1b.none.frag.out
+++ b/Test/baseResults/remap.similar_1b.none.frag.out
@@ -1,6 +1,6 @@
remap.similar_1b.none.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 91
Capability Shader
diff --git a/Test/baseResults/remap.specconst.comp.out b/Test/baseResults/remap.specconst.comp.out
index 2bed3cfe..905d85b3 100644
--- a/Test/baseResults/remap.specconst.comp.out
+++ b/Test/baseResults/remap.specconst.comp.out
@@ -1,6 +1,6 @@
remap.specconst.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 16104
Capability Shader
diff --git a/Test/baseResults/remap.switch.everything.frag.out b/Test/baseResults/remap.switch.everything.frag.out
index 443fe685..d2570936 100644
--- a/Test/baseResults/remap.switch.everything.frag.out
+++ b/Test/baseResults/remap.switch.everything.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:5: '' : all default precisions are highp; use precision statements to
"precision mediump int; precision highp float;"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23990
Capability Shader
diff --git a/Test/baseResults/remap.switch.none.frag.out b/Test/baseResults/remap.switch.none.frag.out
index 3347dce0..53d27395 100644
--- a/Test/baseResults/remap.switch.none.frag.out
+++ b/Test/baseResults/remap.switch.none.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:5: '' : all default precisions are highp; use precision statements to
"precision mediump int; precision highp float;"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 48
Capability Shader
diff --git a/Test/baseResults/remap.uniformarray.everything.frag.out b/Test/baseResults/remap.uniformarray.everything.frag.out
index ee1daa75..902b597a 100644
--- a/Test/baseResults/remap.uniformarray.everything.frag.out
+++ b/Test/baseResults/remap.uniformarray.everything.frag.out
@@ -1,6 +1,6 @@
remap.uniformarray.everything.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 25030
Capability Shader
diff --git a/Test/baseResults/remap.uniformarray.none.frag.out b/Test/baseResults/remap.uniformarray.none.frag.out
index 00e1f57e..cc4fc7db 100644
--- a/Test/baseResults/remap.uniformarray.none.frag.out
+++ b/Test/baseResults/remap.uniformarray.none.frag.out
@@ -1,6 +1,6 @@
remap.uniformarray.none.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 60
Capability Shader
diff --git a/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out b/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out
index d5126394..858a0dbe 100644
--- a/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out
+++ b/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out
@@ -1,6 +1,6 @@
spv.1.3.8bitstorage-ssbo.vert
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 28
Capability Shader
diff --git a/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out b/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out
index 1dce1ea0..e7ec5ed3 100644
--- a/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out
+++ b/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out
@@ -1,6 +1,6 @@
spv.1.3.8bitstorage-ubo.vert
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.1.3.coopmat.comp.out b/Test/baseResults/spv.1.3.coopmat.comp.out
index d7a9d5ec..6b15772d 100644
--- a/Test/baseResults/spv.1.3.coopmat.comp.out
+++ b/Test/baseResults/spv.1.3.coopmat.comp.out
@@ -1,6 +1,6 @@
spv.1.3.coopmat.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 52
Capability Shader
diff --git a/Test/baseResults/spv.1.4.LoopControl.frag.out b/Test/baseResults/spv.1.4.LoopControl.frag.out
index 0ffffd60..c3330fce 100644
--- a/Test/baseResults/spv.1.4.LoopControl.frag.out
+++ b/Test/baseResults/spv.1.4.LoopControl.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:15: 'min_iterations' : expected a single integer argument
WARNING: 0:15: 'max_iterations' : expected a single integer argument
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 54
Capability Shader
diff --git a/Test/baseResults/spv.1.4.NonWritable.frag.out b/Test/baseResults/spv.1.4.NonWritable.frag.out
index da3b52c2..d2b76b87 100644
--- a/Test/baseResults/spv.1.4.NonWritable.frag.out
+++ b/Test/baseResults/spv.1.4.NonWritable.frag.out
@@ -1,6 +1,6 @@
spv.1.4.NonWritable.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 38
Capability Shader
diff --git a/Test/baseResults/spv.1.4.OpCopyLogical.comp.out b/Test/baseResults/spv.1.4.OpCopyLogical.comp.out
index 018fd0a7..ad0397b3 100644
--- a/Test/baseResults/spv.1.4.OpCopyLogical.comp.out
+++ b/Test/baseResults/spv.1.4.OpCopyLogical.comp.out
@@ -1,6 +1,6 @@
spv.1.4.OpCopyLogical.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 65
Capability Shader
diff --git a/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out b/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out
index a2458baf..850ee915 100644
--- a/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out
+++ b/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out
@@ -1,6 +1,6 @@
spv.1.4.OpCopyLogical.funcall.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 59
Capability Shader
diff --git a/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out b/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out
index 7dcda62c..7b525959 100644
--- a/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out
+++ b/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out
@@ -1,6 +1,6 @@
spv.1.4.OpCopyLogicalBool.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 135
Capability Shader
diff --git a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out
index e43e954e..f37b0fdf 100644
--- a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out
+++ b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out
@@ -1,6 +1,6 @@
spv.1.4.OpEntryPoint.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 64
Capability Shader
diff --git a/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out b/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out
index 835ab13b..dff799f0 100644
--- a/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out
+++ b/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out
@@ -1,6 +1,6 @@
spv.1.4.OpEntryPoint.opaqueParams.vert
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 45
Capability Shader
diff --git a/Test/baseResults/spv.1.4.OpSelect.frag.out b/Test/baseResults/spv.1.4.OpSelect.frag.out
index b3a5b4d2..42f2ca70 100644
--- a/Test/baseResults/spv.1.4.OpSelect.frag.out
+++ b/Test/baseResults/spv.1.4.OpSelect.frag.out
@@ -1,6 +1,6 @@
spv.1.4.OpSelect.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 98
Capability Shader
diff --git a/Test/baseResults/spv.1.4.constructComposite.comp.out b/Test/baseResults/spv.1.4.constructComposite.comp.out
index cbec3817..e896cf80 100644
--- a/Test/baseResults/spv.1.4.constructComposite.comp.out
+++ b/Test/baseResults/spv.1.4.constructComposite.comp.out
@@ -1,6 +1,6 @@
spv.1.4.constructComposite.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/spv.1.4.funcall.array.frag.out b/Test/baseResults/spv.1.4.funcall.array.frag.out
index d976bb1f..6a23f2aa 100644
--- a/Test/baseResults/spv.1.4.funcall.array.frag.out
+++ b/Test/baseResults/spv.1.4.funcall.array.frag.out
@@ -1,6 +1,6 @@
spv.1.4.funcall.array.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 42
Capability Shader
diff --git a/Test/baseResults/spv.1.4.image.frag.out b/Test/baseResults/spv.1.4.image.frag.out
index fadde975..059ed196 100644
--- a/Test/baseResults/spv.1.4.image.frag.out
+++ b/Test/baseResults/spv.1.4.image.frag.out
@@ -1,6 +1,6 @@
spv.1.4.image.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 104
Capability Shader
diff --git a/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out b/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out
index 9f698db8..fea83ab3 100644
--- a/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out
+++ b/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out
@@ -1,7 +1,7 @@
spv.1.4.load.bool.array.interface.block.frag
Validation failed
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 64
Capability Shader
diff --git a/Test/baseResults/spv.1.4.sparseTexture.frag.out b/Test/baseResults/spv.1.4.sparseTexture.frag.out
index 965f4c8d..a26ae66e 100644
--- a/Test/baseResults/spv.1.4.sparseTexture.frag.out
+++ b/Test/baseResults/spv.1.4.sparseTexture.frag.out
@@ -1,6 +1,6 @@
spv.1.4.sparseTexture.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 213
Capability Shader
diff --git a/Test/baseResults/spv.1.4.texture.frag.out b/Test/baseResults/spv.1.4.texture.frag.out
index ac9f72fb..6d28e1f0 100644
--- a/Test/baseResults/spv.1.4.texture.frag.out
+++ b/Test/baseResults/spv.1.4.texture.frag.out
@@ -1,6 +1,6 @@
spv.1.4.texture.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 79
Capability Shader
diff --git a/Test/baseResults/spv.1.6.conditionalDiscard.frag.out b/Test/baseResults/spv.1.6.conditionalDiscard.frag.out
index f538fd93..6364773d 100644
--- a/Test/baseResults/spv.1.6.conditionalDiscard.frag.out
+++ b/Test/baseResults/spv.1.6.conditionalDiscard.frag.out
@@ -1,6 +1,6 @@
spv.1.6.conditionalDiscard.frag
// Module Version 10600
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 36
Capability Shader
diff --git a/Test/baseResults/spv.1.6.helperInvocation.frag.out b/Test/baseResults/spv.1.6.helperInvocation.frag.out
index 7df2a2ac..30a5c6a7 100644
--- a/Test/baseResults/spv.1.6.helperInvocation.frag.out
+++ b/Test/baseResults/spv.1.6.helperInvocation.frag.out
@@ -1,6 +1,6 @@
spv.1.6.helperInvocation.frag
// Module Version 10600
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out b/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out
new file mode 100644
index 00000000..fea4e458
--- /dev/null
+++ b/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out
@@ -0,0 +1,48 @@
+spv.1.6.helperInvocation.memmodel.frag
+// Module Version 10600
+// Generated by (magic number): 8000b
+// Id's are bound by 21
+
+ Capability Shader
+ Capability VulkanMemoryModelKHR
+ Capability DemoteToHelperInvocationEXT
+ Extension "SPV_EXT_demote_to_helper_invocation"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical VulkanKHR
+ EntryPoint Fragment 4 "main" 9 14
+ ExecutionMode 4 OriginUpperLeft
+ Source ESSL 310
+ SourceExtension "GL_EXT_demote_to_helper_invocation"
+ Name 4 "main"
+ Name 7 "B"
+ MemberName 7(B) 0 "o"
+ Name 9 ""
+ Name 14 "gl_HelperInvocation"
+ MemberDecorate 7(B) 0 Offset 0
+ Decorate 7(B) Block
+ Decorate 9 DescriptorSet 0
+ Decorate 9 Binding 0
+ Decorate 14(gl_HelperInvocation) BuiltIn HelperInvocation
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7(B): TypeStruct 6(float)
+ 8: TypePointer StorageBuffer 7(B)
+ 9: 8(ptr) Variable StorageBuffer
+ 10: TypeInt 32 1
+ 11: 10(int) Constant 0
+ 12: TypeBool
+ 13: TypePointer Input 12(bool)
+14(gl_HelperInvocation): 13(ptr) Variable Input
+ 16: 6(float) Constant 1065353216
+ 17: 6(float) Constant 0
+ 19: TypePointer StorageBuffer 6(float)
+ 4(main): 2 Function None 3
+ 5: Label
+ DemoteToHelperInvocationEXT
+ 15: 12(bool) Load 14(gl_HelperInvocation) Volatile
+ 18: 6(float) Select 15 16 17
+ 20: 19(ptr) AccessChain 9 11
+ Store 20 18
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.1.6.samplerBuffer.frag.out b/Test/baseResults/spv.1.6.samplerBuffer.frag.out
index 8a0275f9..1bd52da9 100644
--- a/Test/baseResults/spv.1.6.samplerBuffer.frag.out
+++ b/Test/baseResults/spv.1.6.samplerBuffer.frag.out
@@ -1,6 +1,6 @@
spv.1.6.samplerBuffer.frag
// Module Version 10600
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Shader
diff --git a/Test/baseResults/spv.1.6.separate.frag.out b/Test/baseResults/spv.1.6.separate.frag.out
index e15655e1..f485fad1 100644
--- a/Test/baseResults/spv.1.6.separate.frag.out
+++ b/Test/baseResults/spv.1.6.separate.frag.out
@@ -1,6 +1,6 @@
spv.1.6.separate.frag
// Module Version 10600
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/spv.1.6.specConstant.comp.out b/Test/baseResults/spv.1.6.specConstant.comp.out
index 7485f04a..2c32fbd6 100644
--- a/Test/baseResults/spv.1.6.specConstant.comp.out
+++ b/Test/baseResults/spv.1.6.specConstant.comp.out
@@ -1,6 +1,6 @@
spv.1.6.specConstant.comp
// Module Version 10600
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
diff --git a/Test/baseResults/spv.100ops.frag.out b/Test/baseResults/spv.100ops.frag.out
index 42c99953..8c28d918 100644
--- a/Test/baseResults/spv.100ops.frag.out
+++ b/Test/baseResults/spv.100ops.frag.out
@@ -1,6 +1,6 @@
spv.100ops.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 49
Capability Shader
diff --git a/Test/baseResults/spv.130.frag.out b/Test/baseResults/spv.130.frag.out
index 29c7d853..84fa9a3f 100644
--- a/Test/baseResults/spv.130.frag.out
+++ b/Test/baseResults/spv.130.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:31: '#extension' : extension is only partially supported: GL_ARB_gpu_
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 205
Capability Shader
diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out
index a5178828..a4401a28 100644
--- a/Test/baseResults/spv.140.frag.out
+++ b/Test/baseResults/spv.140.frag.out
@@ -1,7 +1,7 @@
spv.140.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 96
Capability Shader
diff --git a/Test/baseResults/spv.150.geom.out b/Test/baseResults/spv.150.geom.out
index 0ad3337d..b6e22e16 100644
--- a/Test/baseResults/spv.150.geom.out
+++ b/Test/baseResults/spv.150.geom.out
@@ -1,6 +1,6 @@
spv.150.geom
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 71
Capability Geometry
diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out
index 2b09f4be..167a15e3 100644
--- a/Test/baseResults/spv.150.vert.out
+++ b/Test/baseResults/spv.150.vert.out
@@ -1,6 +1,6 @@
spv.150.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 63
Capability Shader
diff --git a/Test/baseResults/spv.16bitstorage-int.frag.out b/Test/baseResults/spv.16bitstorage-int.frag.out
index a91b4e4d..d14519b9 100644
--- a/Test/baseResults/spv.16bitstorage-int.frag.out
+++ b/Test/baseResults/spv.16bitstorage-int.frag.out
@@ -1,6 +1,6 @@
spv.16bitstorage-int.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 171
Capability Shader
diff --git a/Test/baseResults/spv.16bitstorage-uint.frag.out b/Test/baseResults/spv.16bitstorage-uint.frag.out
index f90d0c14..ea935ce6 100644
--- a/Test/baseResults/spv.16bitstorage-uint.frag.out
+++ b/Test/baseResults/spv.16bitstorage-uint.frag.out
@@ -1,6 +1,6 @@
spv.16bitstorage-uint.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 173
Capability Shader
diff --git a/Test/baseResults/spv.16bitstorage.frag.out b/Test/baseResults/spv.16bitstorage.frag.out
index 2d934f4c..c19f607c 100644
--- a/Test/baseResults/spv.16bitstorage.frag.out
+++ b/Test/baseResults/spv.16bitstorage.frag.out
@@ -1,6 +1,6 @@
spv.16bitstorage.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 173
Capability Shader
diff --git a/Test/baseResults/spv.16bitxfb.vert.out b/Test/baseResults/spv.16bitxfb.vert.out
index f4d66efc..2dd93d4b 100644
--- a/Test/baseResults/spv.16bitxfb.vert.out
+++ b/Test/baseResults/spv.16bitxfb.vert.out
@@ -1,6 +1,6 @@
spv.16bitxfb.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 59
Capability Shader
diff --git a/Test/baseResults/spv.300BuiltIns.vert.out b/Test/baseResults/spv.300BuiltIns.vert.out
index 22017880..10f115be 100644
--- a/Test/baseResults/spv.300BuiltIns.vert.out
+++ b/Test/baseResults/spv.300BuiltIns.vert.out
@@ -1,6 +1,6 @@
spv.300BuiltIns.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 42
Capability Shader
diff --git a/Test/baseResults/spv.300layout.frag.out b/Test/baseResults/spv.300layout.frag.out
index 3b691e2c..156a6e24 100644
--- a/Test/baseResults/spv.300layout.frag.out
+++ b/Test/baseResults/spv.300layout.frag.out
@@ -1,6 +1,6 @@
spv.300layout.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 37
Capability Shader
diff --git a/Test/baseResults/spv.300layout.vert.out b/Test/baseResults/spv.300layout.vert.out
index 3db50b06..6345aa12 100644
--- a/Test/baseResults/spv.300layout.vert.out
+++ b/Test/baseResults/spv.300layout.vert.out
@@ -1,6 +1,6 @@
spv.300layout.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 163
Capability Shader
diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out
index 315605d4..d986fb54 100644
--- a/Test/baseResults/spv.300layoutp.vert.out
+++ b/Test/baseResults/spv.300layoutp.vert.out
@@ -1,6 +1,6 @@
spv.300layoutp.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 115
Capability Shader
diff --git a/Test/baseResults/spv.310.bitcast.frag.out b/Test/baseResults/spv.310.bitcast.frag.out
index f4322abc..fa354be4 100644
--- a/Test/baseResults/spv.310.bitcast.frag.out
+++ b/Test/baseResults/spv.310.bitcast.frag.out
@@ -1,6 +1,6 @@
spv.310.bitcast.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 179
Capability Shader
diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out
index 931d0380..459c689b 100644
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -1,6 +1,6 @@
spv.310.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 72
Capability Shader
diff --git a/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out
index a4d8413b..197fe602 100644
--- a/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out
+++ b/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out
@@ -1,6 +1,6 @@
spv.320.meshShaderUserDefined.mesh
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 143
Capability MeshShadingNV
diff --git a/Test/baseResults/spv.330.geom.out b/Test/baseResults/spv.330.geom.out
index 1166508f..f9e69e57 100644
--- a/Test/baseResults/spv.330.geom.out
+++ b/Test/baseResults/spv.330.geom.out
@@ -1,6 +1,6 @@
spv.330.geom
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 32
Capability Geometry
diff --git a/Test/baseResults/spv.400.frag.nanclamp.out b/Test/baseResults/spv.400.frag.nanclamp.out
index cf1ffb04..f03e9386 100644
--- a/Test/baseResults/spv.400.frag.nanclamp.out
+++ b/Test/baseResults/spv.400.frag.nanclamp.out
@@ -1,6 +1,6 @@
spv.400.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1122
Capability Shader
diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out
index 67868859..aa42d282 100644
--- a/Test/baseResults/spv.400.frag.out
+++ b/Test/baseResults/spv.400.frag.out
@@ -1,7 +1,7 @@
spv.400.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1122
Capability Shader
diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out
index a07c9b12..b6f0ddfd 100644
--- a/Test/baseResults/spv.400.tesc.out
+++ b/Test/baseResults/spv.400.tesc.out
@@ -1,6 +1,6 @@
spv.400.tesc
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 92
Capability Tessellation
diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out
index 58f4b97e..0b8abf66 100644
--- a/Test/baseResults/spv.400.tese.out
+++ b/Test/baseResults/spv.400.tese.out
@@ -1,6 +1,6 @@
spv.400.tese
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 96
Capability Tessellation
diff --git a/Test/baseResults/spv.420.geom.out b/Test/baseResults/spv.420.geom.out
index 17f27497..d814d1ae 100644
--- a/Test/baseResults/spv.420.geom.out
+++ b/Test/baseResults/spv.420.geom.out
@@ -1,6 +1,6 @@
spv.420.geom
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 72
Capability Geometry
diff --git a/Test/baseResults/spv.430.frag.out b/Test/baseResults/spv.430.frag.out
index 15da3827..bc00fa13 100644
--- a/Test/baseResults/spv.430.frag.out
+++ b/Test/baseResults/spv.430.frag.out
@@ -1,6 +1,6 @@
spv.430.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out
index a6b2e34c..eada8d05 100644
--- a/Test/baseResults/spv.430.vert.out
+++ b/Test/baseResults/spv.430.vert.out
@@ -1,7 +1,7 @@
spv.430.vert
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 66
Capability Shader
diff --git a/Test/baseResults/spv.450.geom.out b/Test/baseResults/spv.450.geom.out
index 3e7ac455..5398b3c0 100644
--- a/Test/baseResults/spv.450.geom.out
+++ b/Test/baseResults/spv.450.geom.out
@@ -1,6 +1,6 @@
spv.450.geom
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Geometry
diff --git a/Test/baseResults/spv.450.noRedecl.tesc.out b/Test/baseResults/spv.450.noRedecl.tesc.out
index 0925119b..dcf0a9f9 100644
--- a/Test/baseResults/spv.450.noRedecl.tesc.out
+++ b/Test/baseResults/spv.450.noRedecl.tesc.out
@@ -1,6 +1,6 @@
spv.450.noRedecl.tesc
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 21
Capability Tessellation
diff --git a/Test/baseResults/spv.450.tesc.out b/Test/baseResults/spv.450.tesc.out
index c18ab3ff..eabb9e7c 100644
--- a/Test/baseResults/spv.450.tesc.out
+++ b/Test/baseResults/spv.450.tesc.out
@@ -1,7 +1,7 @@
spv.450.tesc
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 45
Capability Tessellation
diff --git a/Test/baseResults/spv.460.comp.out b/Test/baseResults/spv.460.comp.out
index d53efde6..c6abacad 100644
--- a/Test/baseResults/spv.460.comp.out
+++ b/Test/baseResults/spv.460.comp.out
@@ -1,6 +1,6 @@
spv.460.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 15
Capability Shader
diff --git a/Test/baseResults/spv.460.frag.out b/Test/baseResults/spv.460.frag.out
index a8bec342..4201fbb8 100644
--- a/Test/baseResults/spv.460.frag.out
+++ b/Test/baseResults/spv.460.frag.out
@@ -1,6 +1,6 @@
spv.460.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 32
Capability Shader
diff --git a/Test/baseResults/spv.460.subgroupEXT.mesh.out b/Test/baseResults/spv.460.subgroupEXT.mesh.out
index 350f8d8a..dd3de814 100644
--- a/Test/baseResults/spv.460.subgroupEXT.mesh.out
+++ b/Test/baseResults/spv.460.subgroupEXT.mesh.out
@@ -1,7 +1,7 @@
spv.460.subgroupEXT.mesh
// Module Version 10400
-// Generated by (magic number): 8000a
-// Id's are bound by 280
+// Generated by (magic number): 8000b
+// Id's are bound by 279
Capability ClipDistance
Capability CullDistance
@@ -19,7 +19,7 @@ spv.460.subgroupEXT.mesh
Extension "SPV_KHR_fragment_shading_rate"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint MeshEXT 4 "main" 35 41 57 109 148 162 163 168 169 172 173 174 175 176
+ EntryPoint MeshEXT 4 "main" 35 41 57 109 147 161 162 167 168 171 172 173 174 175
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
@@ -67,19 +67,19 @@ spv.460.subgroupEXT.mesh
MemberName 106(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT"
MemberName 106(gl_MeshPerPrimitiveEXT) 4 "gl_PrimitiveShadingRateEXT"
Name 109 "gl_MeshPrimitivesEXT"
- Name 148 "gl_PrimitiveTriangleIndicesEXT"
- Name 162 "gl_SubgroupSize"
- Name 163 "gl_SubgroupInvocationID"
- Name 168 "gl_NumSubgroups"
- Name 169 "gl_SubgroupID"
- Name 172 "gl_SubgroupEqMask"
- Name 173 "gl_SubgroupGeMask"
- Name 174 "gl_SubgroupGtMask"
- Name 175 "gl_SubgroupLeMask"
- Name 176 "gl_SubgroupLtMask"
- Name 182 "ballot"
- Name 219 "ballot"
- Name 254 "ballot"
+ Name 147 "gl_PrimitiveTriangleIndicesEXT"
+ Name 161 "gl_SubgroupSize"
+ Name 162 "gl_SubgroupInvocationID"
+ Name 167 "gl_NumSubgroups"
+ Name 168 "gl_SubgroupID"
+ Name 171 "gl_SubgroupEqMask"
+ Name 172 "gl_SubgroupGeMask"
+ Name 173 "gl_SubgroupGtMask"
+ Name 174 "gl_SubgroupLeMask"
+ Name 175 "gl_SubgroupLtMask"
+ Name 181 "ballot"
+ Name 218 "ballot"
+ Name 253 "ballot"
Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId
MemberDecorate 54(gl_MeshPerVertexEXT) 0 BuiltIn Position
@@ -98,19 +98,19 @@ spv.460.subgroupEXT.mesh
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR
Decorate 106(gl_MeshPerPrimitiveEXT) Block
- Decorate 148(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT
- Decorate 162(gl_SubgroupSize) RelaxedPrecision
- Decorate 162(gl_SubgroupSize) BuiltIn SubgroupSize
- Decorate 163(gl_SubgroupInvocationID) RelaxedPrecision
- Decorate 163(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
- Decorate 168(gl_NumSubgroups) BuiltIn NumSubgroups
- Decorate 169(gl_SubgroupID) BuiltIn SubgroupId
- Decorate 172(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
- Decorate 173(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
- Decorate 174(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
- Decorate 175(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
- Decorate 176(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
- Decorate 279 BuiltIn WorkgroupSize
+ Decorate 147(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT
+ Decorate 161(gl_SubgroupSize) RelaxedPrecision
+ Decorate 161(gl_SubgroupSize) BuiltIn SubgroupSize
+ Decorate 162(gl_SubgroupInvocationID) RelaxedPrecision
+ Decorate 162(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+ Decorate 167(gl_NumSubgroups) BuiltIn NumSubgroups
+ Decorate 168(gl_SubgroupID) BuiltIn SubgroupId
+ Decorate 171(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
+ Decorate 172(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
+ Decorate 173(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
+ Decorate 174(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
+ Decorate 175(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
+ Decorate 278 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
8: TypeFloat 32
@@ -161,33 +161,32 @@ spv.460.subgroupEXT.mesh
118: 59(int) Constant 8
121: 105(bool) ConstantFalse
122: TypePointer Output 105(bool)
- 145: 30(int) Constant 96
- 146: TypeArray 33(ivec3) 145
- 147: TypePointer Output 146
-148(gl_PrimitiveTriangleIndicesEXT): 147(ptr) Variable Output
- 149: 33(ivec3) ConstantComposite 78 78 78
- 150: TypePointer Output 33(ivec3)
- 154: 33(ivec3) ConstantComposite 80 80 80
-162(gl_SubgroupSize): 37(ptr) Variable Input
-163(gl_SubgroupInvocationID): 37(ptr) Variable Input
- 164: 30(int) Constant 3400
- 165: 30(int) Constant 72
- 166: 30(int) Constant 2056
-168(gl_NumSubgroups): 37(ptr) Variable Input
-169(gl_SubgroupID): 37(ptr) Variable Input
- 170: TypeVector 30(int) 4
- 171: TypePointer Input 170(ivec4)
-172(gl_SubgroupEqMask): 171(ptr) Variable Input
-173(gl_SubgroupGeMask): 171(ptr) Variable Input
-174(gl_SubgroupGtMask): 171(ptr) Variable Input
-175(gl_SubgroupLeMask): 171(ptr) Variable Input
-176(gl_SubgroupLtMask): 171(ptr) Variable Input
- 181: TypePointer Function 170(ivec4)
- 184: 170(ivec4) ConstantComposite 78 78 78 78
- 198: 105(bool) ConstantTrue
- 255: 30(int) Constant 85
- 256: 170(ivec4) ConstantComposite 255 36 36 36
- 279: 33(ivec3) ConstantComposite 47 78 78
+ 145: TypeArray 33(ivec3) 47
+ 146: TypePointer Output 145
+147(gl_PrimitiveTriangleIndicesEXT): 146(ptr) Variable Output
+ 148: 33(ivec3) ConstantComposite 78 78 78
+ 149: TypePointer Output 33(ivec3)
+ 153: 33(ivec3) ConstantComposite 80 80 80
+161(gl_SubgroupSize): 37(ptr) Variable Input
+162(gl_SubgroupInvocationID): 37(ptr) Variable Input
+ 163: 30(int) Constant 3400
+ 164: 30(int) Constant 72
+ 165: 30(int) Constant 2056
+167(gl_NumSubgroups): 37(ptr) Variable Input
+168(gl_SubgroupID): 37(ptr) Variable Input
+ 169: TypeVector 30(int) 4
+ 170: TypePointer Input 169(ivec4)
+171(gl_SubgroupEqMask): 170(ptr) Variable Input
+172(gl_SubgroupGeMask): 170(ptr) Variable Input
+173(gl_SubgroupGtMask): 170(ptr) Variable Input
+174(gl_SubgroupLeMask): 170(ptr) Variable Input
+175(gl_SubgroupLtMask): 170(ptr) Variable Input
+ 180: TypePointer Function 169(ivec4)
+ 183: 169(ivec4) ConstantComposite 78 78 78 78
+ 197: 105(bool) ConstantTrue
+ 254: 30(int) Constant 85
+ 255: 169(ivec4) ConstantComposite 254 36 36 36
+ 278: 33(ivec3) ConstantComposite 47 78 78
4(main): 2 Function None 3
5: Label
32(iid): 31(ptr) Variable Function
@@ -290,159 +289,159 @@ spv.460.subgroupEXT.mesh
Store 144 121
MemoryBarrier 78 79
ControlBarrier 80 80 79
- 151: 150(ptr) AccessChain 148(gl_PrimitiveTriangleIndicesEXT) 60
- Store 151 149
- 152: 30(int) Load 46(primitiveCount)
- 153: 30(int) ISub 152 78
- 155: 150(ptr) AccessChain 148(gl_PrimitiveTriangleIndicesEXT) 153
- Store 155 154
+ 150: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 60
+ Store 150 148
+ 151: 30(int) Load 46(primitiveCount)
+ 152: 30(int) ISub 151 78
+ 154: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 152
+ Store 154 153
+ 155: 30(int) Load 40(gid)
156: 30(int) Load 40(gid)
- 157: 30(int) Load 40(gid)
- 158: 30(int) ISub 157 78
- 159: 150(ptr) AccessChain 148(gl_PrimitiveTriangleIndicesEXT) 158
- 160: 33(ivec3) Load 159
- 161: 150(ptr) AccessChain 148(gl_PrimitiveTriangleIndicesEXT) 156
- Store 161 160
+ 157: 30(int) ISub 156 78
+ 158: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 157
+ 159: 33(ivec3) Load 158
+ 160: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 155
+ Store 160 159
MemoryBarrier 78 79
ControlBarrier 80 80 79
Return
FunctionEnd
6(basic_works(): 2 Function None 3
7: Label
- ControlBarrier 52 52 164
+ ControlBarrier 52 52 163
+ MemoryBarrier 52 163
MemoryBarrier 52 164
MemoryBarrier 52 165
- MemoryBarrier 52 166
- 167: 105(bool) GroupNonUniformElect 52
+ 166: 105(bool) GroupNonUniformElect 52
MemoryBarrier 52 79
Return
FunctionEnd
13(ballot_works(vf4;): 2 Function None 11
12(f4): 10(ptr) FunctionParameter
14: Label
- 182(ballot): 181(ptr) Variable Function
- 177: 9(fvec4) Load 12(f4)
- 178: 9(fvec4) GroupNonUniformBroadcast 52 177 36
- 179: 9(fvec4) Load 12(f4)
- 180: 9(fvec4) GroupNonUniformBroadcastFirst 52 179
- 183: 170(ivec4) GroupNonUniformBallot 52 121
- Store 182(ballot) 183
- 185: 105(bool) GroupNonUniformInverseBallot 52 184
- 186: 170(ivec4) Load 182(ballot)
- 187: 105(bool) GroupNonUniformBallotBitExtract 52 186 36
- 188: 170(ivec4) Load 182(ballot)
- 189: 30(int) GroupNonUniformBallotBitCount 52 Reduce 188
- 190: 170(ivec4) Load 182(ballot)
- 191: 30(int) GroupNonUniformBallotBitCount 52 InclusiveScan 190
- 192: 170(ivec4) Load 182(ballot)
- 193: 30(int) GroupNonUniformBallotBitCount 52 ExclusiveScan 192
- 194: 170(ivec4) Load 182(ballot)
- 195: 30(int) GroupNonUniformBallotFindLSB 52 194
- 196: 170(ivec4) Load 182(ballot)
- 197: 30(int) GroupNonUniformBallotFindMSB 52 196
+ 181(ballot): 180(ptr) Variable Function
+ 176: 9(fvec4) Load 12(f4)
+ 177: 9(fvec4) GroupNonUniformBroadcast 52 176 36
+ 178: 9(fvec4) Load 12(f4)
+ 179: 9(fvec4) GroupNonUniformBroadcastFirst 52 178
+ 182: 169(ivec4) GroupNonUniformBallot 52 121
+ Store 181(ballot) 182
+ 184: 105(bool) GroupNonUniformInverseBallot 52 183
+ 185: 169(ivec4) Load 181(ballot)
+ 186: 105(bool) GroupNonUniformBallotBitExtract 52 185 36
+ 187: 169(ivec4) Load 181(ballot)
+ 188: 30(int) GroupNonUniformBallotBitCount 52 Reduce 187
+ 189: 169(ivec4) Load 181(ballot)
+ 190: 30(int) GroupNonUniformBallotBitCount 52 InclusiveScan 189
+ 191: 169(ivec4) Load 181(ballot)
+ 192: 30(int) GroupNonUniformBallotBitCount 52 ExclusiveScan 191
+ 193: 169(ivec4) Load 181(ballot)
+ 194: 30(int) GroupNonUniformBallotFindLSB 52 193
+ 195: 169(ivec4) Load 181(ballot)
+ 196: 30(int) GroupNonUniformBallotFindMSB 52 195
Return
FunctionEnd
16(vote_works(vf4;): 2 Function None 11
15(f4): 10(ptr) FunctionParameter
17: Label
- 199: 105(bool) GroupNonUniformAll 52 198
- 200: 105(bool) GroupNonUniformAny 52 121
- 201: 9(fvec4) Load 15(f4)
- 202: 105(bool) GroupNonUniformAllEqual 52 201
+ 198: 105(bool) GroupNonUniformAll 52 197
+ 199: 105(bool) GroupNonUniformAny 52 121
+ 200: 9(fvec4) Load 15(f4)
+ 201: 105(bool) GroupNonUniformAllEqual 52 200
Return
FunctionEnd
19(shuffle_works(vf4;): 2 Function None 11
18(f4): 10(ptr) FunctionParameter
20: Label
- 203: 9(fvec4) Load 18(f4)
- 204: 9(fvec4) GroupNonUniformShuffle 52 203 36
- 205: 9(fvec4) Load 18(f4)
- 206: 9(fvec4) GroupNonUniformShuffleXor 52 205 78
- 207: 9(fvec4) Load 18(f4)
- 208: 9(fvec4) GroupNonUniformShuffleUp 52 207 78
- 209: 9(fvec4) Load 18(f4)
- 210: 9(fvec4) GroupNonUniformShuffleDown 52 209 78
+ 202: 9(fvec4) Load 18(f4)
+ 203: 9(fvec4) GroupNonUniformShuffle 52 202 36
+ 204: 9(fvec4) Load 18(f4)
+ 205: 9(fvec4) GroupNonUniformShuffleXor 52 204 78
+ 206: 9(fvec4) Load 18(f4)
+ 207: 9(fvec4) GroupNonUniformShuffleUp 52 206 78
+ 208: 9(fvec4) Load 18(f4)
+ 209: 9(fvec4) GroupNonUniformShuffleDown 52 208 78
Return
FunctionEnd
22(arith_works(vf4;): 2 Function None 11
21(f4): 10(ptr) FunctionParameter
23: Label
- 219(ballot): 181(ptr) Variable Function
- 211: 9(fvec4) Load 21(f4)
- 212: 9(fvec4) GroupNonUniformFAdd 52 Reduce 211
- 213: 9(fvec4) Load 21(f4)
- 214: 9(fvec4) GroupNonUniformFMul 52 Reduce 213
- 215: 9(fvec4) Load 21(f4)
- 216: 9(fvec4) GroupNonUniformFMin 52 Reduce 215
- 217: 9(fvec4) Load 21(f4)
- 218: 9(fvec4) GroupNonUniformFMax 52 Reduce 217
- 220: 170(ivec4) Load 219(ballot)
- 221: 170(ivec4) GroupNonUniformBitwiseAnd 52 Reduce 220
- 222: 170(ivec4) Load 219(ballot)
- 223: 170(ivec4) GroupNonUniformBitwiseOr 52 Reduce 222
- 224: 170(ivec4) Load 219(ballot)
- 225: 170(ivec4) GroupNonUniformBitwiseXor 52 Reduce 224
- 226: 9(fvec4) Load 21(f4)
- 227: 9(fvec4) GroupNonUniformFAdd 52 InclusiveScan 226
- 228: 9(fvec4) Load 21(f4)
- 229: 9(fvec4) GroupNonUniformFMul 52 InclusiveScan 228
- 230: 9(fvec4) Load 21(f4)
- 231: 9(fvec4) GroupNonUniformFMin 52 InclusiveScan 230
- 232: 9(fvec4) Load 21(f4)
- 233: 9(fvec4) GroupNonUniformFMax 52 InclusiveScan 232
- 234: 170(ivec4) Load 219(ballot)
- 235: 170(ivec4) GroupNonUniformBitwiseAnd 52 InclusiveScan 234
- 236: 170(ivec4) Load 219(ballot)
- 237: 170(ivec4) GroupNonUniformBitwiseOr 52 InclusiveScan 236
- 238: 170(ivec4) Load 219(ballot)
- 239: 170(ivec4) GroupNonUniformBitwiseXor 52 InclusiveScan 238
- 240: 9(fvec4) Load 21(f4)
- 241: 9(fvec4) GroupNonUniformFAdd 52 ExclusiveScan 240
- 242: 9(fvec4) Load 21(f4)
- 243: 9(fvec4) GroupNonUniformFMul 52 ExclusiveScan 242
- 244: 9(fvec4) Load 21(f4)
- 245: 9(fvec4) GroupNonUniformFMin 52 ExclusiveScan 244
- 246: 9(fvec4) Load 21(f4)
- 247: 9(fvec4) GroupNonUniformFMax 52 ExclusiveScan 246
- 248: 170(ivec4) Load 219(ballot)
- 249: 170(ivec4) GroupNonUniformBitwiseAnd 52 ExclusiveScan 248
- 250: 170(ivec4) Load 219(ballot)
- 251: 170(ivec4) GroupNonUniformBitwiseOr 52 ExclusiveScan 250
- 252: 170(ivec4) Load 219(ballot)
- 253: 170(ivec4) GroupNonUniformBitwiseXor 52 ExclusiveScan 252
+ 218(ballot): 180(ptr) Variable Function
+ 210: 9(fvec4) Load 21(f4)
+ 211: 9(fvec4) GroupNonUniformFAdd 52 Reduce 210
+ 212: 9(fvec4) Load 21(f4)
+ 213: 9(fvec4) GroupNonUniformFMul 52 Reduce 212
+ 214: 9(fvec4) Load 21(f4)
+ 215: 9(fvec4) GroupNonUniformFMin 52 Reduce 214
+ 216: 9(fvec4) Load 21(f4)
+ 217: 9(fvec4) GroupNonUniformFMax 52 Reduce 216
+ 219: 169(ivec4) Load 218(ballot)
+ 220: 169(ivec4) GroupNonUniformBitwiseAnd 52 Reduce 219
+ 221: 169(ivec4) Load 218(ballot)
+ 222: 169(ivec4) GroupNonUniformBitwiseOr 52 Reduce 221
+ 223: 169(ivec4) Load 218(ballot)
+ 224: 169(ivec4) GroupNonUniformBitwiseXor 52 Reduce 223
+ 225: 9(fvec4) Load 21(f4)
+ 226: 9(fvec4) GroupNonUniformFAdd 52 InclusiveScan 225
+ 227: 9(fvec4) Load 21(f4)
+ 228: 9(fvec4) GroupNonUniformFMul 52 InclusiveScan 227
+ 229: 9(fvec4) Load 21(f4)
+ 230: 9(fvec4) GroupNonUniformFMin 52 InclusiveScan 229
+ 231: 9(fvec4) Load 21(f4)
+ 232: 9(fvec4) GroupNonUniformFMax 52 InclusiveScan 231
+ 233: 169(ivec4) Load 218(ballot)
+ 234: 169(ivec4) GroupNonUniformBitwiseAnd 52 InclusiveScan 233
+ 235: 169(ivec4) Load 218(ballot)
+ 236: 169(ivec4) GroupNonUniformBitwiseOr 52 InclusiveScan 235
+ 237: 169(ivec4) Load 218(ballot)
+ 238: 169(ivec4) GroupNonUniformBitwiseXor 52 InclusiveScan 237
+ 239: 9(fvec4) Load 21(f4)
+ 240: 9(fvec4) GroupNonUniformFAdd 52 ExclusiveScan 239
+ 241: 9(fvec4) Load 21(f4)
+ 242: 9(fvec4) GroupNonUniformFMul 52 ExclusiveScan 241
+ 243: 9(fvec4) Load 21(f4)
+ 244: 9(fvec4) GroupNonUniformFMin 52 ExclusiveScan 243
+ 245: 9(fvec4) Load 21(f4)
+ 246: 9(fvec4) GroupNonUniformFMax 52 ExclusiveScan 245
+ 247: 169(ivec4) Load 218(ballot)
+ 248: 169(ivec4) GroupNonUniformBitwiseAnd 52 ExclusiveScan 247
+ 249: 169(ivec4) Load 218(ballot)
+ 250: 169(ivec4) GroupNonUniformBitwiseOr 52 ExclusiveScan 249
+ 251: 169(ivec4) Load 218(ballot)
+ 252: 169(ivec4) GroupNonUniformBitwiseXor 52 ExclusiveScan 251
Return
FunctionEnd
25(clustered_works(vf4;): 2 Function None 11
24(f4): 10(ptr) FunctionParameter
26: Label
- 254(ballot): 181(ptr) Variable Function
- Store 254(ballot) 256
- 257: 9(fvec4) Load 24(f4)
- 258: 9(fvec4) GroupNonUniformFAdd 52 ClusteredReduce 257 80
- 259: 9(fvec4) Load 24(f4)
- 260: 9(fvec4) GroupNonUniformFMul 52 ClusteredReduce 259 80
- 261: 9(fvec4) Load 24(f4)
- 262: 9(fvec4) GroupNonUniformFMin 52 ClusteredReduce 261 80
- 263: 9(fvec4) Load 24(f4)
- 264: 9(fvec4) GroupNonUniformFMax 52 ClusteredReduce 263 80
- 265: 170(ivec4) Load 254(ballot)
- 266: 170(ivec4) GroupNonUniformBitwiseAnd 52 ClusteredReduce 265 80
- 267: 170(ivec4) Load 254(ballot)
- 268: 170(ivec4) GroupNonUniformBitwiseOr 52 ClusteredReduce 267 80
- 269: 170(ivec4) Load 254(ballot)
- 270: 170(ivec4) GroupNonUniformBitwiseXor 52 ClusteredReduce 269 80
+ 253(ballot): 180(ptr) Variable Function
+ Store 253(ballot) 255
+ 256: 9(fvec4) Load 24(f4)
+ 257: 9(fvec4) GroupNonUniformFAdd 52 ClusteredReduce 256 80
+ 258: 9(fvec4) Load 24(f4)
+ 259: 9(fvec4) GroupNonUniformFMul 52 ClusteredReduce 258 80
+ 260: 9(fvec4) Load 24(f4)
+ 261: 9(fvec4) GroupNonUniformFMin 52 ClusteredReduce 260 80
+ 262: 9(fvec4) Load 24(f4)
+ 263: 9(fvec4) GroupNonUniformFMax 52 ClusteredReduce 262 80
+ 264: 169(ivec4) Load 253(ballot)
+ 265: 169(ivec4) GroupNonUniformBitwiseAnd 52 ClusteredReduce 264 80
+ 266: 169(ivec4) Load 253(ballot)
+ 267: 169(ivec4) GroupNonUniformBitwiseOr 52 ClusteredReduce 266 80
+ 268: 169(ivec4) Load 253(ballot)
+ 269: 169(ivec4) GroupNonUniformBitwiseXor 52 ClusteredReduce 268 80
Return
FunctionEnd
28(quad_works(vf4;): 2 Function None 11
27(f4): 10(ptr) FunctionParameter
29: Label
- 271: 9(fvec4) Load 27(f4)
- 272: 9(fvec4) GroupNonUniformQuadBroadcast 52 271 36
- 273: 9(fvec4) Load 27(f4)
- 274: 9(fvec4) GroupNonUniformQuadSwap 52 273 36
- 275: 9(fvec4) Load 27(f4)
- 276: 9(fvec4) GroupNonUniformQuadSwap 52 275 78
- 277: 9(fvec4) Load 27(f4)
- 278: 9(fvec4) GroupNonUniformQuadSwap 52 277 80
+ 270: 9(fvec4) Load 27(f4)
+ 271: 9(fvec4) GroupNonUniformQuadBroadcast 52 270 36
+ 272: 9(fvec4) Load 27(f4)
+ 273: 9(fvec4) GroupNonUniformQuadSwap 52 272 36
+ 274: 9(fvec4) Load 27(f4)
+ 275: 9(fvec4) GroupNonUniformQuadSwap 52 274 78
+ 276: 9(fvec4) Load 27(f4)
+ 277: 9(fvec4) GroupNonUniformQuadSwap 52 276 80
Return
FunctionEnd
diff --git a/Test/baseResults/spv.460.subgroupEXT.task.out b/Test/baseResults/spv.460.subgroupEXT.task.out
index 5f692435..efe30b75 100644
--- a/Test/baseResults/spv.460.subgroupEXT.task.out
+++ b/Test/baseResults/spv.460.subgroupEXT.task.out
@@ -1,6 +1,6 @@
spv.460.subgroupEXT.task
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 243
Capability StorageImageWriteWithoutFormat
diff --git a/Test/baseResults/spv.460.vert.out b/Test/baseResults/spv.460.vert.out
index e15f3647..eb75ab8a 100644
--- a/Test/baseResults/spv.460.vert.out
+++ b/Test/baseResults/spv.460.vert.out
@@ -1,6 +1,6 @@
spv.460.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/spv.8bit-16bit-construction.frag.out b/Test/baseResults/spv.8bit-16bit-construction.frag.out
index 4eb90210..9a85a6ac 100644
--- a/Test/baseResults/spv.8bit-16bit-construction.frag.out
+++ b/Test/baseResults/spv.8bit-16bit-construction.frag.out
@@ -1,7 +1,7 @@
spv.8bit-16bit-construction.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 43
Capability Shader
diff --git a/Test/baseResults/spv.8bitstorage-int.frag.out b/Test/baseResults/spv.8bitstorage-int.frag.out
index 00ef3098..830b3e32 100644
--- a/Test/baseResults/spv.8bitstorage-int.frag.out
+++ b/Test/baseResults/spv.8bitstorage-int.frag.out
@@ -1,6 +1,6 @@
spv.8bitstorage-int.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 171
Capability Shader
diff --git a/Test/baseResults/spv.8bitstorage-ssbo.vert.out b/Test/baseResults/spv.8bitstorage-ssbo.vert.out
index 863eb68f..e8e9ca35 100644
--- a/Test/baseResults/spv.8bitstorage-ssbo.vert.out
+++ b/Test/baseResults/spv.8bitstorage-ssbo.vert.out
@@ -1,6 +1,6 @@
spv.8bitstorage-ssbo.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 28
Capability Shader
diff --git a/Test/baseResults/spv.8bitstorage-ubo.vert.out b/Test/baseResults/spv.8bitstorage-ubo.vert.out
index c64945fa..f41f63ee 100644
--- a/Test/baseResults/spv.8bitstorage-ubo.vert.out
+++ b/Test/baseResults/spv.8bitstorage-ubo.vert.out
@@ -1,6 +1,6 @@
spv.8bitstorage-ubo.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.8bitstorage-uint.frag.out b/Test/baseResults/spv.8bitstorage-uint.frag.out
index 5809991f..f372baf1 100644
--- a/Test/baseResults/spv.8bitstorage-uint.frag.out
+++ b/Test/baseResults/spv.8bitstorage-uint.frag.out
@@ -1,6 +1,6 @@
spv.8bitstorage-uint.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 173
Capability Shader
diff --git a/Test/baseResults/spv.ARMCoreBuiltIns.frag.out b/Test/baseResults/spv.ARMCoreBuiltIns.frag.out
new file mode 100644
index 00000000..ccfb4093
--- /dev/null
+++ b/Test/baseResults/spv.ARMCoreBuiltIns.frag.out
@@ -0,0 +1,61 @@
+spv.ARMCoreBuiltIns.frag
+// Module Version 10000
+// Generated by (magic number): 8000b
+// Id's are bound by 26
+
+ Capability Shader
+ Capability CoreBuiltinsARM
+ Extension "SPV_ARM_core_builtins"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 10 14 15 17 19 21
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ SourceExtension "GL_ARM_shader_core_builtins"
+ Name 4 "main"
+ Name 8 "temp"
+ Name 10 "gl_WarpMaxIDARM"
+ Name 14 "data"
+ Name 15 "gl_CoreIDARM"
+ Name 17 "gl_CoreCountARM"
+ Name 19 "gl_CoreMaxIDARM"
+ Name 21 "gl_WarpIDARM"
+ Decorate 10(gl_WarpMaxIDARM) Flat
+ Decorate 10(gl_WarpMaxIDARM) BuiltIn BuiltInWarpMaxIDARM
+ Decorate 14(data) Location 0
+ Decorate 15(gl_CoreIDARM) Flat
+ Decorate 15(gl_CoreIDARM) BuiltIn CoreIDARM
+ Decorate 17(gl_CoreCountARM) Flat
+ Decorate 17(gl_CoreCountARM) BuiltIn CoreCountARM
+ Decorate 19(gl_CoreMaxIDARM) Flat
+ Decorate 19(gl_CoreMaxIDARM) BuiltIn CoreMaxIDARM
+ Decorate 21(gl_WarpIDARM) Flat
+ Decorate 21(gl_WarpIDARM) BuiltIn WarpIDARM
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypePointer Function 6(int)
+ 9: TypePointer Input 6(int)
+10(gl_WarpMaxIDARM): 9(ptr) Variable Input
+ 12: TypeVector 6(int) 4
+ 13: TypePointer Output 12(ivec4)
+ 14(data): 13(ptr) Variable Output
+15(gl_CoreIDARM): 9(ptr) Variable Input
+17(gl_CoreCountARM): 9(ptr) Variable Input
+19(gl_CoreMaxIDARM): 9(ptr) Variable Input
+21(gl_WarpIDARM): 9(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(temp): 7(ptr) Variable Function
+ 11: 6(int) Load 10(gl_WarpMaxIDARM)
+ Store 8(temp) 11
+ 16: 6(int) Load 15(gl_CoreIDARM)
+ 18: 6(int) Load 17(gl_CoreCountARM)
+ 20: 6(int) Load 19(gl_CoreMaxIDARM)
+ 22: 6(int) Load 21(gl_WarpIDARM)
+ 23: 6(int) Load 8(temp)
+ 24: 6(int) IAdd 22 23
+ 25: 12(ivec4) CompositeConstruct 16 18 20 24
+ Store 14(data) 25
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.ARMCoreBuiltIns.vert.out b/Test/baseResults/spv.ARMCoreBuiltIns.vert.out
new file mode 100644
index 00000000..5419be45
--- /dev/null
+++ b/Test/baseResults/spv.ARMCoreBuiltIns.vert.out
@@ -0,0 +1,65 @@
+spv.ARMCoreBuiltIns.vert
+// Module Version 10000
+// Generated by (magic number): 8000b
+// Id's are bound by 31
+
+ Capability Shader
+ Capability CoreBuiltinsARM
+ Extension "SPV_ARM_core_builtins"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 10 18 20 22 24
+ Source GLSL 450
+ SourceExtension "GL_ARM_shader_core_builtins"
+ Name 4 "main"
+ Name 8 "temp"
+ Name 10 "gl_WarpMaxIDARM"
+ Name 13 "Output"
+ MemberName 13(Output) 0 "result"
+ Name 15 ""
+ Name 18 "gl_CoreIDARM"
+ Name 20 "gl_CoreCountARM"
+ Name 22 "gl_CoreMaxIDARM"
+ Name 24 "gl_WarpIDARM"
+ Decorate 10(gl_WarpMaxIDARM) BuiltIn BuiltInWarpMaxIDARM
+ MemberDecorate 13(Output) 0 Offset 0
+ Decorate 13(Output) BufferBlock
+ Decorate 15 DescriptorSet 0
+ Decorate 15 Binding 0
+ Decorate 18(gl_CoreIDARM) BuiltIn CoreIDARM
+ Decorate 20(gl_CoreCountARM) BuiltIn CoreCountARM
+ Decorate 22(gl_CoreMaxIDARM) BuiltIn CoreMaxIDARM
+ Decorate 24(gl_WarpIDARM) BuiltIn WarpIDARM
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypePointer Function 6(int)
+ 9: TypePointer Input 6(int)
+10(gl_WarpMaxIDARM): 9(ptr) Variable Input
+ 12: TypeVector 6(int) 4
+ 13(Output): TypeStruct 12(ivec4)
+ 14: TypePointer Uniform 13(Output)
+ 15: 14(ptr) Variable Uniform
+ 16: TypeInt 32 1
+ 17: 16(int) Constant 0
+18(gl_CoreIDARM): 9(ptr) Variable Input
+20(gl_CoreCountARM): 9(ptr) Variable Input
+22(gl_CoreMaxIDARM): 9(ptr) Variable Input
+24(gl_WarpIDARM): 9(ptr) Variable Input
+ 29: TypePointer Uniform 12(ivec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(temp): 7(ptr) Variable Function
+ 11: 6(int) Load 10(gl_WarpMaxIDARM)
+ Store 8(temp) 11
+ 19: 6(int) Load 18(gl_CoreIDARM)
+ 21: 6(int) Load 20(gl_CoreCountARM)
+ 23: 6(int) Load 22(gl_CoreMaxIDARM)
+ 25: 6(int) Load 24(gl_WarpIDARM)
+ 26: 6(int) Load 8(temp)
+ 27: 6(int) IAdd 25 26
+ 28: 12(ivec4) CompositeConstruct 19 21 23 27
+ 30: 29(ptr) AccessChain 15 17
+ Store 30 28
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.AnyHitShader.rahit.out b/Test/baseResults/spv.AnyHitShader.rahit.out
index c893f88d..d075b368 100644
--- a/Test/baseResults/spv.AnyHitShader.rahit.out
+++ b/Test/baseResults/spv.AnyHitShader.rahit.out
@@ -1,6 +1,6 @@
spv.AnyHitShader.rahit
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 81
Capability RayTracingNV
diff --git a/Test/baseResults/spv.AnyHitShaderMotion.rahit.out b/Test/baseResults/spv.AnyHitShaderMotion.rahit.out
index f9e1e1b9..3d859db4 100644
--- a/Test/baseResults/spv.AnyHitShaderMotion.rahit.out
+++ b/Test/baseResults/spv.AnyHitShaderMotion.rahit.out
@@ -1,6 +1,6 @@
spv.AnyHitShaderMotion.rahit
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 14
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out
index 57cdcb06..b2df36a6 100644
--- a/Test/baseResults/spv.AofA.frag.out
+++ b/Test/baseResults/spv.AofA.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:6: '[][]' : Generating SPIR-V array-of-arrays, but Vulkan only suppor
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 104
Capability Shader
diff --git a/Test/baseResults/spv.ClosestHitShader.rchit.out b/Test/baseResults/spv.ClosestHitShader.rchit.out
index b76629c2..80b5115c 100644
--- a/Test/baseResults/spv.ClosestHitShader.rchit.out
+++ b/Test/baseResults/spv.ClosestHitShader.rchit.out
@@ -1,6 +1,6 @@
spv.ClosestHitShader.rchit
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 88
Capability RayTracingNV
diff --git a/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out b/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out
index 45679eb0..e20df80a 100644
--- a/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out
+++ b/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out
@@ -1,6 +1,6 @@
spv.ClosestHitShaderMotion.rchit
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out
index 4b29238f..57fa6911 100644
--- a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out
+++ b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out
@@ -1,6 +1,6 @@
spv.GeometryShaderPassthrough.geom
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 15
Capability Geometry
diff --git a/Test/baseResults/spv.IntersectShader.rint.out b/Test/baseResults/spv.IntersectShader.rint.out
index 7b0058cb..81d86cd8 100644
--- a/Test/baseResults/spv.IntersectShader.rint.out
+++ b/Test/baseResults/spv.IntersectShader.rint.out
@@ -1,6 +1,6 @@
spv.IntersectShader.rint
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 71
Capability RayTracingNV
diff --git a/Test/baseResults/spv.IntersectShaderMotion.rint.out b/Test/baseResults/spv.IntersectShaderMotion.rint.out
index f77c9a81..b3326ee2 100644
--- a/Test/baseResults/spv.IntersectShaderMotion.rint.out
+++ b/Test/baseResults/spv.IntersectShaderMotion.rint.out
@@ -1,6 +1,6 @@
spv.IntersectShaderMotion.rint
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 14
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.MissShader.rmiss.out b/Test/baseResults/spv.MissShader.rmiss.out
index e573bbae..581c0c6b 100644
--- a/Test/baseResults/spv.MissShader.rmiss.out
+++ b/Test/baseResults/spv.MissShader.rmiss.out
@@ -1,6 +1,6 @@
spv.MissShader.rmiss
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 59
Capability RayTracingNV
diff --git a/Test/baseResults/spv.MissShaderMotion.rmiss.out b/Test/baseResults/spv.MissShaderMotion.rmiss.out
index 185c934b..220dda99 100644
--- a/Test/baseResults/spv.MissShaderMotion.rmiss.out
+++ b/Test/baseResults/spv.MissShaderMotion.rmiss.out
@@ -1,6 +1,6 @@
spv.MissShaderMotion.rmiss
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.OVR_multiview.vert.out b/Test/baseResults/spv.OVR_multiview.vert.out
index 90afed29..df7d9499 100644
--- a/Test/baseResults/spv.OVR_multiview.vert.out
+++ b/Test/baseResults/spv.OVR_multiview.vert.out
@@ -1,6 +1,6 @@
spv.OVR_multiview.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/spv.Operations.frag.out b/Test/baseResults/spv.Operations.frag.out
index fc8e2415..f9059c65 100644
--- a/Test/baseResults/spv.Operations.frag.out
+++ b/Test/baseResults/spv.Operations.frag.out
@@ -1,6 +1,6 @@
spv.Operations.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 591
Capability Shader
diff --git a/Test/baseResults/spv.RayCallable.rcall.out b/Test/baseResults/spv.RayCallable.rcall.out
index 75698fcb..1eff1fac 100644
--- a/Test/baseResults/spv.RayCallable.rcall.out
+++ b/Test/baseResults/spv.RayCallable.rcall.out
@@ -1,6 +1,6 @@
spv.RayCallable.rcall
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability RayTracingNV
diff --git a/Test/baseResults/spv.RayConstants.rgen.out b/Test/baseResults/spv.RayConstants.rgen.out
index 962aeb7d..ebdcb50b 100644
--- a/Test/baseResults/spv.RayConstants.rgen.out
+++ b/Test/baseResults/spv.RayConstants.rgen.out
@@ -1,6 +1,6 @@
spv.RayConstants.rgen
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability RayTracingNV
diff --git a/Test/baseResults/spv.RayGenShader.rgen.out b/Test/baseResults/spv.RayGenShader.rgen.out
index b7085378..01fdbf01 100644
--- a/Test/baseResults/spv.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.RayGenShader.rgen.out
@@ -1,6 +1,6 @@
spv.RayGenShader.rgen
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 54
Capability RayTracingNV
diff --git a/Test/baseResults/spv.RayGenShader11.rgen.out b/Test/baseResults/spv.RayGenShader11.rgen.out
index 48509b0d..ae55e658 100644
--- a/Test/baseResults/spv.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.RayGenShader11.rgen.out
@@ -1,6 +1,6 @@
spv.RayGenShader11.rgen
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 53
Capability RayTracingNV
diff --git a/Test/baseResults/spv.RayGenShaderArray.rgen.out b/Test/baseResults/spv.RayGenShaderArray.rgen.out
index 8ddfca97..c3bd1911 100644
--- a/Test/baseResults/spv.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.RayGenShaderArray.rgen.out
@@ -1,6 +1,6 @@
spv.RayGenShaderArray.rgen
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 89
Capability ShaderNonUniformEXT
diff --git a/Test/baseResults/spv.RayGenShaderMotion.rgen.out b/Test/baseResults/spv.RayGenShaderMotion.rgen.out
index a6af2365..9a3421ca 100644
--- a/Test/baseResults/spv.RayGenShaderMotion.rgen.out
+++ b/Test/baseResults/spv.RayGenShaderMotion.rgen.out
@@ -1,6 +1,6 @@
spv.RayGenShaderMotion.rgen
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 47
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out
index 31dd2dd1..4001462d 100644
--- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out
+++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out
@@ -1,6 +1,6 @@
spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 25
Capability Shader
diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out
index 3447791f..d0906a42 100644
--- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out
+++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out
@@ -1,6 +1,6 @@
spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out
index b578bd3a..2a15286e 100644
--- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out
+++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out
@@ -1,6 +1,6 @@
spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.NonBlock.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.NonBlock.comp.out
index 19bcff6b..9a9e9199 100644
--- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.NonBlock.comp.out
+++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.NonBlock.comp.out
@@ -1,6 +1,6 @@
spv.WorkgroupMemoryExplicitLayout.NonBlock.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 17
Capability Shader
diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out
index 413fd2e8..cb3bd31a 100644
--- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out
+++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out
@@ -1,6 +1,6 @@
spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 19
Capability Shader
diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out
index 6a43e236..3d7ece13 100644
--- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out
+++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out
@@ -1,6 +1,6 @@
spv.WorkgroupMemoryExplicitLayout.scalar.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out
index df4b8aed..5c8f86d2 100644
--- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out
+++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out
@@ -1,6 +1,6 @@
spv.WorkgroupMemoryExplicitLayout.std140.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out
index e782784b..bfc35e98 100644
--- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out
+++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out
@@ -1,6 +1,6 @@
spv.WorkgroupMemoryExplicitLayout.std430.comp
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.accessChain.frag.out b/Test/baseResults/spv.accessChain.frag.out
index 379131b1..2426999b 100644
--- a/Test/baseResults/spv.accessChain.frag.out
+++ b/Test/baseResults/spv.accessChain.frag.out
@@ -1,6 +1,6 @@
spv.accessChain.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 228
Capability Shader
diff --git a/Test/baseResults/spv.aggOps.frag.out b/Test/baseResults/spv.aggOps.frag.out
index 05b14eaa..bc19f23f 100644
--- a/Test/baseResults/spv.aggOps.frag.out
+++ b/Test/baseResults/spv.aggOps.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:4: '' : all default precisions are highp; use precision statements to
"precision mediump int; precision highp float;"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 215
Capability Shader
diff --git a/Test/baseResults/spv.always-discard.frag.out b/Test/baseResults/spv.always-discard.frag.out
index ed21b386..ba3331a6 100644
--- a/Test/baseResults/spv.always-discard.frag.out
+++ b/Test/baseResults/spv.always-discard.frag.out
@@ -1,6 +1,6 @@
spv.always-discard.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 84
Capability Shader
diff --git a/Test/baseResults/spv.always-discard2.frag.out b/Test/baseResults/spv.always-discard2.frag.out
index 5e7ac9fe..60262f70 100644
--- a/Test/baseResults/spv.always-discard2.frag.out
+++ b/Test/baseResults/spv.always-discard2.frag.out
@@ -1,6 +1,6 @@
spv.always-discard2.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 40
Capability Shader
diff --git a/Test/baseResults/spv.arbPostDepthCoverage.frag.out b/Test/baseResults/spv.arbPostDepthCoverage.frag.out
index 9b911cfc..5daa156d 100644
--- a/Test/baseResults/spv.arbPostDepthCoverage.frag.out
+++ b/Test/baseResults/spv.arbPostDepthCoverage.frag.out
@@ -1,6 +1,6 @@
spv.arbPostDepthCoverage.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/spv.atomiAddEXT.task.out b/Test/baseResults/spv.atomiAddEXT.task.out
index 4b58f153..9ff35aa6 100644
--- a/Test/baseResults/spv.atomiAddEXT.task.out
+++ b/Test/baseResults/spv.atomiAddEXT.task.out
@@ -1,6 +1,6 @@
spv.atomiAddEXT.task
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 34
Capability MeshShadingEXT
diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out
index e74066c9..7c001ae1 100644
--- a/Test/baseResults/spv.atomic.comp.out
+++ b/Test/baseResults/spv.atomic.comp.out
@@ -1,6 +1,6 @@
spv.atomic.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 74
Capability Shader
diff --git a/Test/baseResults/spv.atomicAdd.bufferReference.comp.out b/Test/baseResults/spv.atomicAdd.bufferReference.comp.out
index 9ecc7425..a00c45a3 100644
--- a/Test/baseResults/spv.atomicAdd.bufferReference.comp.out
+++ b/Test/baseResults/spv.atomicAdd.bufferReference.comp.out
@@ -1,6 +1,6 @@
spv.atomicAdd.bufferReference.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 188
Capability Shader
diff --git a/Test/baseResults/spv.atomicFloat.comp.out b/Test/baseResults/spv.atomicFloat.comp.out
index 3799557b..acb5d817 100644
--- a/Test/baseResults/spv.atomicFloat.comp.out
+++ b/Test/baseResults/spv.atomicFloat.comp.out
@@ -1,6 +1,6 @@
spv.atomicFloat.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 470
Capability Shader
diff --git a/Test/baseResults/spv.atomicInt64.comp.out b/Test/baseResults/spv.atomicInt64.comp.out
index 5b2e1340..24805ccc 100644
--- a/Test/baseResults/spv.atomicInt64.comp.out
+++ b/Test/baseResults/spv.atomicInt64.comp.out
@@ -1,6 +1,6 @@
spv.atomicInt64.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 149
Capability Shader
diff --git a/Test/baseResults/spv.atomicStoreInt64.comp.out b/Test/baseResults/spv.atomicStoreInt64.comp.out
index 3adadcb2..c2b3f30d 100644
--- a/Test/baseResults/spv.atomicStoreInt64.comp.out
+++ b/Test/baseResults/spv.atomicStoreInt64.comp.out
@@ -1,6 +1,6 @@
spv.atomicStoreInt64.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 25
Capability Shader
diff --git a/Test/baseResults/spv.barrier.vert.out b/Test/baseResults/spv.barrier.vert.out
index 71998825..52084120 100644
--- a/Test/baseResults/spv.barrier.vert.out
+++ b/Test/baseResults/spv.barrier.vert.out
@@ -1,6 +1,6 @@
spv.barrier.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/spv.bitCast.frag.out b/Test/baseResults/spv.bitCast.frag.out
index 88b2a09f..9b3c9ec0 100644
--- a/Test/baseResults/spv.bitCast.frag.out
+++ b/Test/baseResults/spv.bitCast.frag.out
@@ -1,6 +1,6 @@
spv.bitCast.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 198
Capability Shader
diff --git a/Test/baseResults/spv.bool.vert.out b/Test/baseResults/spv.bool.vert.out
index fb7c6860..265d9007 100644
--- a/Test/baseResults/spv.bool.vert.out
+++ b/Test/baseResults/spv.bool.vert.out
@@ -1,6 +1,6 @@
spv.bool.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 46
Capability Shader
diff --git a/Test/baseResults/spv.boolInBlock.frag.out b/Test/baseResults/spv.boolInBlock.frag.out
index 004c2040..c234cb4d 100644
--- a/Test/baseResults/spv.boolInBlock.frag.out
+++ b/Test/baseResults/spv.boolInBlock.frag.out
@@ -1,6 +1,6 @@
spv.boolInBlock.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 102
Capability Shader
diff --git a/Test/baseResults/spv.branch-return.vert.out b/Test/baseResults/spv.branch-return.vert.out
index 30918aba..53ef8765 100644
--- a/Test/baseResults/spv.branch-return.vert.out
+++ b/Test/baseResults/spv.branch-return.vert.out
@@ -1,6 +1,6 @@
spv.branch-return.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 38
Capability Shader
diff --git a/Test/baseResults/spv.buffer.autoassign.frag.out b/Test/baseResults/spv.buffer.autoassign.frag.out
index 34752664..3afe6439 100644
--- a/Test/baseResults/spv.buffer.autoassign.frag.out
+++ b/Test/baseResults/spv.buffer.autoassign.frag.out
@@ -1,6 +1,6 @@
spv.buffer.autoassign.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle1.frag.out b/Test/baseResults/spv.bufferhandle1.frag.out
index b49c1296..c44ad2a6 100644
--- a/Test/baseResults/spv.bufferhandle1.frag.out
+++ b/Test/baseResults/spv.bufferhandle1.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle1.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 52
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle10.frag.out b/Test/baseResults/spv.bufferhandle10.frag.out
index f9ab60d2..93c3f70a 100644
--- a/Test/baseResults/spv.bufferhandle10.frag.out
+++ b/Test/baseResults/spv.bufferhandle10.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle10.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 40
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle11.frag.out b/Test/baseResults/spv.bufferhandle11.frag.out
index 9dd1c7b8..eec3cf34 100644
--- a/Test/baseResults/spv.bufferhandle11.frag.out
+++ b/Test/baseResults/spv.bufferhandle11.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
"precision mediump int; precision highp float;"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 61
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle12.frag.out b/Test/baseResults/spv.bufferhandle12.frag.out
index 7cd5cb5e..319684f8 100644
--- a/Test/baseResults/spv.bufferhandle12.frag.out
+++ b/Test/baseResults/spv.bufferhandle12.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
"precision mediump int; precision highp float;"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 183
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle13.frag.out b/Test/baseResults/spv.bufferhandle13.frag.out
index 5ce24acd..dd430896 100644
--- a/Test/baseResults/spv.bufferhandle13.frag.out
+++ b/Test/baseResults/spv.bufferhandle13.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle13.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 58
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle14.frag.out b/Test/baseResults/spv.bufferhandle14.frag.out
index 34df7538..4f994e19 100644
--- a/Test/baseResults/spv.bufferhandle14.frag.out
+++ b/Test/baseResults/spv.bufferhandle14.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle14.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 46
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle15.frag.out b/Test/baseResults/spv.bufferhandle15.frag.out
index ab1b4dba..34d3d598 100644
--- a/Test/baseResults/spv.bufferhandle15.frag.out
+++ b/Test/baseResults/spv.bufferhandle15.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:16: '' : all default precisions are highp; use precision statements t
"precision mediump int; precision highp float;"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 60
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle16.frag.out b/Test/baseResults/spv.bufferhandle16.frag.out
index a9d9dcf2..ee04d361 100644
--- a/Test/baseResults/spv.bufferhandle16.frag.out
+++ b/Test/baseResults/spv.bufferhandle16.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle16.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 48
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle18.frag.out b/Test/baseResults/spv.bufferhandle18.frag.out
index 59ad6d02..97c961a7 100644
--- a/Test/baseResults/spv.bufferhandle18.frag.out
+++ b/Test/baseResults/spv.bufferhandle18.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle18.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 196
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle2.frag.out b/Test/baseResults/spv.bufferhandle2.frag.out
index e20f3b7f..31a39f26 100644
--- a/Test/baseResults/spv.bufferhandle2.frag.out
+++ b/Test/baseResults/spv.bufferhandle2.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle2.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 45
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle3.frag.out b/Test/baseResults/spv.bufferhandle3.frag.out
index 65ad1ca6..9f66b5cf 100644
--- a/Test/baseResults/spv.bufferhandle3.frag.out
+++ b/Test/baseResults/spv.bufferhandle3.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle3.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle4.frag.out b/Test/baseResults/spv.bufferhandle4.frag.out
index e06bca4e..1ccb6095 100644
--- a/Test/baseResults/spv.bufferhandle4.frag.out
+++ b/Test/baseResults/spv.bufferhandle4.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle4.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 61
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle5.frag.out b/Test/baseResults/spv.bufferhandle5.frag.out
index bf4d3a2a..0bcb34b0 100644
--- a/Test/baseResults/spv.bufferhandle5.frag.out
+++ b/Test/baseResults/spv.bufferhandle5.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle5.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle6.frag.out b/Test/baseResults/spv.bufferhandle6.frag.out
index abc9187c..758a30be 100644
--- a/Test/baseResults/spv.bufferhandle6.frag.out
+++ b/Test/baseResults/spv.bufferhandle6.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle6.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 165
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle7.frag.out b/Test/baseResults/spv.bufferhandle7.frag.out
index 4282a362..070adb71 100644
--- a/Test/baseResults/spv.bufferhandle7.frag.out
+++ b/Test/baseResults/spv.bufferhandle7.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle7.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle8.frag.out b/Test/baseResults/spv.bufferhandle8.frag.out
index 65d46653..49601449 100644
--- a/Test/baseResults/spv.bufferhandle8.frag.out
+++ b/Test/baseResults/spv.bufferhandle8.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle8.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandle9.frag.out b/Test/baseResults/spv.bufferhandle9.frag.out
index 1e5091c2..ff7ede7a 100644
--- a/Test/baseResults/spv.bufferhandle9.frag.out
+++ b/Test/baseResults/spv.bufferhandle9.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandle9.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 56
Capability Shader
diff --git a/Test/baseResults/spv.bufferhandleUvec2.frag.out b/Test/baseResults/spv.bufferhandleUvec2.frag.out
index fbdbb6aa..133190e5 100644
--- a/Test/baseResults/spv.bufferhandleUvec2.frag.out
+++ b/Test/baseResults/spv.bufferhandleUvec2.frag.out
@@ -1,6 +1,6 @@
spv.bufferhandleUvec2.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 71
Capability Shader
diff --git a/Test/baseResults/spv.builtInXFB.vert.out b/Test/baseResults/spv.builtInXFB.vert.out
index 1f612e2a..b3a3e12c 100644
--- a/Test/baseResults/spv.builtInXFB.vert.out
+++ b/Test/baseResults/spv.builtInXFB.vert.out
@@ -1,6 +1,6 @@
spv.builtInXFB.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 21
Capability Shader
diff --git a/Test/baseResults/spv.builtin.PrimitiveShadingRateEXT.vert.out b/Test/baseResults/spv.builtin.PrimitiveShadingRateEXT.vert.out
index 8daa79ee..01911854 100644
--- a/Test/baseResults/spv.builtin.PrimitiveShadingRateEXT.vert.out
+++ b/Test/baseResults/spv.builtin.PrimitiveShadingRateEXT.vert.out
@@ -1,6 +1,6 @@
spv.builtin.PrimitiveShadingRateEXT.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 26
Capability Shader
diff --git a/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out b/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out
index 95b94d25..5707fb93 100644
--- a/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out
+++ b/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:5: '' : all default precisions are highp; use precision statements to
"precision mediump int; precision highp float;"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 12
Capability Shader
diff --git a/Test/baseResults/spv.computeShaderDerivatives.comp.out b/Test/baseResults/spv.computeShaderDerivatives.comp.out
index a7138450..47610785 100644
--- a/Test/baseResults/spv.computeShaderDerivatives.comp.out
+++ b/Test/baseResults/spv.computeShaderDerivatives.comp.out
@@ -1,6 +1,6 @@
spv.computeShaderDerivatives.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 212
Capability Shader
diff --git a/Test/baseResults/spv.computeShaderDerivatives2.comp.out b/Test/baseResults/spv.computeShaderDerivatives2.comp.out
index 3c3d54ee..52b54746 100644
--- a/Test/baseResults/spv.computeShaderDerivatives2.comp.out
+++ b/Test/baseResults/spv.computeShaderDerivatives2.comp.out
@@ -1,6 +1,6 @@
spv.computeShaderDerivatives2.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 212
Capability Shader
diff --git a/Test/baseResults/spv.conditionalDemote.frag.out b/Test/baseResults/spv.conditionalDemote.frag.out
index dfd45962..84c816b2 100644
--- a/Test/baseResults/spv.conditionalDemote.frag.out
+++ b/Test/baseResults/spv.conditionalDemote.frag.out
@@ -1,6 +1,6 @@
spv.conditionalDemote.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 38
Capability Shader
diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out
index 2e53e9b8..f31fa851 100644
--- a/Test/baseResults/spv.conditionalDiscard.frag.out
+++ b/Test/baseResults/spv.conditionalDiscard.frag.out
@@ -1,6 +1,6 @@
spv.conditionalDiscard.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 36
Capability Shader
diff --git a/Test/baseResults/spv.constConstruct.vert.out b/Test/baseResults/spv.constConstruct.vert.out
index a8d50975..3dc42ed9 100644
--- a/Test/baseResults/spv.constConstruct.vert.out
+++ b/Test/baseResults/spv.constConstruct.vert.out
@@ -1,6 +1,6 @@
spv.constConstruct.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 150
Capability Shader
diff --git a/Test/baseResults/spv.constStruct.vert.out b/Test/baseResults/spv.constStruct.vert.out
index 61d0e54f..6abc009e 100644
--- a/Test/baseResults/spv.constStruct.vert.out
+++ b/Test/baseResults/spv.constStruct.vert.out
@@ -1,6 +1,6 @@
spv.constStruct.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Shader
diff --git a/Test/baseResults/spv.constructComposite.comp.out b/Test/baseResults/spv.constructComposite.comp.out
index 73d663b9..491a33f1 100644
--- a/Test/baseResults/spv.constructComposite.comp.out
+++ b/Test/baseResults/spv.constructComposite.comp.out
@@ -1,6 +1,6 @@
spv.constructComposite.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.controlFlowAttributes.frag.out b/Test/baseResults/spv.controlFlowAttributes.frag.out
index cf34ae2f..038711d2 100644
--- a/Test/baseResults/spv.controlFlowAttributes.frag.out
+++ b/Test/baseResults/spv.controlFlowAttributes.frag.out
@@ -9,7 +9,7 @@ WARNING: 0:33: '' : attribute with arguments not recognized, skipping
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 123
Capability Shader
diff --git a/Test/baseResults/spv.conversion.frag.out b/Test/baseResults/spv.conversion.frag.out
index b600b384..5ddf7db6 100644
--- a/Test/baseResults/spv.conversion.frag.out
+++ b/Test/baseResults/spv.conversion.frag.out
@@ -1,6 +1,6 @@
spv.conversion.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 455
Capability Shader
diff --git a/Test/baseResults/spv.coopmat.comp.out b/Test/baseResults/spv.coopmat.comp.out
index 0a609df1..b594af23 100644
--- a/Test/baseResults/spv.coopmat.comp.out
+++ b/Test/baseResults/spv.coopmat.comp.out
@@ -1,6 +1,6 @@
spv.coopmat.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 228
Capability Shader
diff --git a/Test/baseResults/spv.dataOut.frag.out b/Test/baseResults/spv.dataOut.frag.out
index 980d1bd3..b3bc6239 100644
--- a/Test/baseResults/spv.dataOut.frag.out
+++ b/Test/baseResults/spv.dataOut.frag.out
@@ -1,7 +1,7 @@
spv.dataOut.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out
index a75e8d54..d07cfe97 100644
--- a/Test/baseResults/spv.dataOutIndirect.frag.out
+++ b/Test/baseResults/spv.dataOutIndirect.frag.out
@@ -1,6 +1,6 @@
spv.dataOutIndirect.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 26
Capability Shader
diff --git a/Test/baseResults/spv.dataOutIndirect.vert.out b/Test/baseResults/spv.dataOutIndirect.vert.out
index 1c294101..712cd13a 100644
--- a/Test/baseResults/spv.dataOutIndirect.vert.out
+++ b/Test/baseResults/spv.dataOutIndirect.vert.out
@@ -2,7 +2,7 @@ spv.dataOutIndirect.vert
WARNING: 0:3: attribute deprecated in version 130; may be removed in future release
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 38
Capability Shader
diff --git a/Test/baseResults/spv.dead-after-continue.vert.out b/Test/baseResults/spv.dead-after-continue.vert.out
index 6d8d7d90..11024818 100644
--- a/Test/baseResults/spv.dead-after-continue.vert.out
+++ b/Test/baseResults/spv.dead-after-continue.vert.out
@@ -1,6 +1,6 @@
spv.dead-after-continue.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.dead-after-discard.frag.out b/Test/baseResults/spv.dead-after-discard.frag.out
index 987f5a2b..2948e22e 100644
--- a/Test/baseResults/spv.dead-after-discard.frag.out
+++ b/Test/baseResults/spv.dead-after-discard.frag.out
@@ -1,6 +1,6 @@
spv.dead-after-discard.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 15
Capability Shader
diff --git a/Test/baseResults/spv.dead-after-loop-break.vert.out b/Test/baseResults/spv.dead-after-loop-break.vert.out
index 2d9e35ae..490dbcc8 100644
--- a/Test/baseResults/spv.dead-after-loop-break.vert.out
+++ b/Test/baseResults/spv.dead-after-loop-break.vert.out
@@ -1,6 +1,6 @@
spv.dead-after-loop-break.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 36
Capability Shader
diff --git a/Test/baseResults/spv.dead-after-return.vert.out b/Test/baseResults/spv.dead-after-return.vert.out
index d6ba2c72..09693633 100644
--- a/Test/baseResults/spv.dead-after-return.vert.out
+++ b/Test/baseResults/spv.dead-after-return.vert.out
@@ -1,6 +1,6 @@
spv.dead-after-return.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 14
Capability Shader
diff --git a/Test/baseResults/spv.dead-after-switch-break.vert.out b/Test/baseResults/spv.dead-after-switch-break.vert.out
index f8bc4d04..744355dc 100644
--- a/Test/baseResults/spv.dead-after-switch-break.vert.out
+++ b/Test/baseResults/spv.dead-after-switch-break.vert.out
@@ -1,6 +1,6 @@
spv.dead-after-switch-break.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 21
Capability Shader
diff --git a/Test/baseResults/spv.dead-complex-continue-after-return.vert.out b/Test/baseResults/spv.dead-complex-continue-after-return.vert.out
index 3db78ecc..3c41ff8a 100644
--- a/Test/baseResults/spv.dead-complex-continue-after-return.vert.out
+++ b/Test/baseResults/spv.dead-complex-continue-after-return.vert.out
@@ -1,6 +1,6 @@
spv.dead-complex-continue-after-return.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Shader
diff --git a/Test/baseResults/spv.dead-complex-merge-after-return.vert.out b/Test/baseResults/spv.dead-complex-merge-after-return.vert.out
index cc1b25c8..52431a32 100644
--- a/Test/baseResults/spv.dead-complex-merge-after-return.vert.out
+++ b/Test/baseResults/spv.dead-complex-merge-after-return.vert.out
@@ -1,6 +1,6 @@
spv.dead-complex-merge-after-return.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 36
Capability Shader
diff --git a/Test/baseResults/spv.debugInfo.1.1.frag.out b/Test/baseResults/spv.debugInfo.1.1.frag.out
index fbf373b8..67175de9 100644
--- a/Test/baseResults/spv.debugInfo.1.1.frag.out
+++ b/Test/baseResults/spv.debugInfo.1.1.frag.out
@@ -1,6 +1,6 @@
spv.debugInfo.frag
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 124
Capability Shader
diff --git a/Test/baseResults/spv.debugInfo.frag.out b/Test/baseResults/spv.debugInfo.frag.out
index 9a9e0d94..b9eb496a 100644
--- a/Test/baseResults/spv.debugInfo.frag.out
+++ b/Test/baseResults/spv.debugInfo.frag.out
@@ -1,6 +1,6 @@
spv.debugInfo.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 124
Capability Shader
diff --git a/Test/baseResults/spv.debugPrintf.frag.out b/Test/baseResults/spv.debugPrintf.frag.out
index 65174156..428e5982 100644
--- a/Test/baseResults/spv.debugPrintf.frag.out
+++ b/Test/baseResults/spv.debugPrintf.frag.out
@@ -1,6 +1,6 @@
spv.debugPrintf.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 17
Capability Shader
diff --git a/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out b/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out
new file mode 100644
index 00000000..a315f6de
--- /dev/null
+++ b/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out
@@ -0,0 +1,84 @@
+spv.debuginfo.const_params.glsl.comp
+Validation failed
+// Module Version 10000
+// Generated by (magic number): 8000b
+// Id's are bound by 64
+
+ Capability Shader
+ Extension "SPV_KHR_non_semantic_info"
+ 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
+ 2: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 13 "main"
+ ExecutionMode 13 LocalSize 1 1 1
+ 8: String "uint"
+ 14: String "main"
+ 17: String ""
+ 24: String "float"
+ 39: String "function"
+ 45: String "f"
+ 49: String "f2"
+ 52: String "f3"
+ 55: String "f4"
+ Name 13 "main"
+ Name 38 "function(f1;vf2;vf3;vf4;"
+ Name 34 "f"
+ Name 35 "f2"
+ Name 36 "f3"
+ Name 37 "f4"
+ 3: TypeVoid
+ 4: TypeFunction 3
+ 6: TypeInt 32 0
+ 9: 6(int) Constant 32
+ 10: 6(int) Constant 6
+ 11: 6(int) Constant 0
+ 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 9 10 11
+ 12: 6(int) Constant 3
+ 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 3
+ 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 17
+ 19: 6(int) Constant 1
+ 20: 6(int) Constant 4
+ 21: 6(int) Constant 2
+ 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 19 20 16 21
+ 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 14 5 16 11 11 18 14 12 11
+ 23: TypeFloat 32
+ 25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 24 9 12 11
+ 26: TypeVector 23(float) 2
+ 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 21
+ 28: TypeVector 23(float) 3
+ 29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 12
+ 30: TypeVector 23(float) 4
+ 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 20
+ 32: TypeFunction 3 23(float) 26(fvec2) 28(fvec3) 30(fvec4)
+ 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 3 25 27 29 31
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 39 33 16 11 11 18 39 12 11
+ 44: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 45 25 16 11 11 40 20 19
+ 47: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
+ 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 27 16 11 11 40 20 21
+ 51: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 52 29 16 11 11 40 20 12
+ 54: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 55 31 16 11 11 40 20 20
+ 59: 23(float) Constant 0
+ 60: 26(fvec2) ConstantComposite 59 59
+ 61: 28(fvec3) ConstantComposite 59 59 59
+ 62: 30(fvec4) ConstantComposite 59 59 59 59
+ 13(main): 3 Function None 4
+ 22: Label
+ 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 15 13(main)
+ 63: 3 FunctionCall 38(function(f1;vf2;vf3;vf4;) 59 60 61 62
+ Return
+ FunctionEnd
+38(function(f1;vf2;vf3;vf4;): 3 Function None 32
+ 34(f): 23(float) FunctionParameter
+ 35(f2): 26(fvec2) FunctionParameter
+ 36(f3): 28(fvec3) FunctionParameter
+ 37(f4): 30(fvec4) FunctionParameter
+ 41: Label
+ 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40
+ 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 16 11 11 11 11
+ 46: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 44 34(f) 47
+ 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 48 35(f2) 47
+ 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 36(f3) 47
+ 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 54 37(f4) 47
+ 57: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 40 38(function(f1;vf2;vf3;vf4;)
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.debuginfo.glsl.comp.out b/Test/baseResults/spv.debuginfo.glsl.comp.out
index aaef897b..820d12b8 100644
--- a/Test/baseResults/spv.debuginfo.glsl.comp.out
+++ b/Test/baseResults/spv.debuginfo.glsl.comp.out
@@ -1,7 +1,7 @@
spv.debuginfo.glsl.comp
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 817
Capability Shader
@@ -157,168 +157,168 @@ Validation failed
9: 6(int) Constant 32
10: 6(int) Constant 6
11: 6(int) Constant 0
- 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 8 9 10 11
+ 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 9 10 11
12: 6(int) Constant 3
- 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 3
- 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 17
+ 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 3
+ 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 17
19: 6(int) Constant 1
20: 6(int) Constant 4
21: 6(int) Constant 2
- 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 19 20 16 21
- 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 14 5 16 11 11 18 14 12 11
+ 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 19 20 16 21
+ 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 14 5 16 11 11 18 14 12 11
23: TypeFloat 32
- 25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 24 9 12 11
+ 25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 24 9 12 11
26: TypeVector 23(float) 3
- 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 12
+ 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 12
28: TypePointer Function 26(fvec3)
29: TypePointer Function 23(float)
30: TypeFunction 26(fvec3) 28(ptr) 28(ptr) 29(ptr)
- 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 27 27 27 25
- 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 36 31 16 11 11 18 36 12 11
- 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 42 27 16 11 11 37 20 19
- 44: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 46 27 16 11 11 37 20 21
- 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 49 25 16 11 11 37 20 12
+ 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 27 27 27 25
+ 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 36 31 16 11 11 18 36 12 11
+ 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 42 27 16 11 11 37 20 19
+ 44: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 46 27 16 11 11 37 20 21
+ 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 25 16 11 11 37 20 12
55: 6(int) Constant 68
- 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 54 27 16 55 11 37 20
+ 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 54 27 16 55 11 37 20
62: TypeVector 23(float) 4
- 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 20
+ 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 20
64: TypeInt 32 1
- 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 65 9 20 11
+ 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 65 9 20 11
67: TypeVector 64(int) 2
- 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 66 21
+ 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 66 21
69(UBO): TypeStruct 23(float) 23(float) 23(float) 23(float) 23(float) 23(float) 23(float) 23(float) 62(fvec4) 62(fvec4) 67(ivec2)
72: 6(int) Constant 56
73: 6(int) Constant 8
- 70: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 71 25 16 72 73 11 11 12
- 74: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 71 25 16 72 73 11 11 12
- 75: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 71 25 16 72 73 11 11 12
- 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 71 25 16 72 73 11 11 12
- 77: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 71 25 16 72 73 11 11 12
- 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 71 25 16 72 73 11 11 12
- 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 71 25 16 72 73 11 11 12
- 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 71 25 16 72 73 11 11 12
+ 70: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 25 16 72 73 11 11 12
+ 74: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 25 16 72 73 11 11 12
+ 75: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 25 16 72 73 11 11 12
+ 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 25 16 72 73 11 11 12
+ 77: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 25 16 72 73 11 11 12
+ 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 25 16 72 73 11 11 12
+ 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 25 16 72 73 11 11 12
+ 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 25 16 72 73 11 11 12
83: 6(int) Constant 58
84: 6(int) Constant 7
- 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 82 63 16 83 84 11 11 12
- 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 82 63 16 83 84 11 11 12
+ 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 82 63 16 83 84 11 11 12
+ 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 82 63 16 83 84 11 11 12
88: 6(int) Constant 59
- 86: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 87 68 16 88 73 11 11 12
+ 86: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 87 68 16 88 73 11 11 12
91: 6(int) Constant 69
- 89: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 90 19 16 91 11 18 90 11 12 70 74 75 76 77 78 79 80 81 85 86
+ 89: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 90 19 16 91 11 18 90 11 12 70 74 75 76 77 78 79 80 81 85 86
92: TypePointer Uniform 69(UBO)
93(params): 92(ptr) Variable Uniform
- 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 95 89 16 91 11 18 95 93(params) 73
+ 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 95 89 16 91 11 18 95 93(params) 73
96: 64(int) Constant 2
97: TypePointer Uniform 23(float)
109: TypeVector 6(int) 3
- 110: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 7 12
+ 110: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 7 12
111: TypePointer Function 109(ivec3)
115: 6(int) Constant 74
- 113: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 114 110 16 115 11 15 20
+ 113: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 110 16 115 11 15 20
117: TypePointer Input 109(ivec3)
118(gl_GlobalInvocationID): 117(ptr) Variable Input
- 119: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 120 110 16 115 11 18 120 118(gl_GlobalInvocationID) 73
+ 119: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 120 110 16 115 11 18 120 118(gl_GlobalInvocationID) 73
122: TypePointer Function 6(int)
126: 6(int) Constant 76
- 124: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 125 7 16 126 11 15 20
+ 124: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 125 7 16 126 11 15 20
130: 64(int) Constant 10
131: TypePointer Uniform 64(int)
146: TypeBool
- 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
+ 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
153(Particle): TypeStruct 62(fvec4) 62(fvec4) 62(fvec4) 62(fvec4) 23(float)
156: 6(int) Constant 31
- 154: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 155 63 16 156 84 11 11 12
- 157: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 155 63 16 156 84 11 11 12
- 158: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 155 63 16 156 84 11 11 12
- 159: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 155 63 16 156 84 11 11 12
- 160: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 161 25 16 9 73 11 11 12
+ 154: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 63 16 156 84 11 11 12
+ 157: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 63 16 156 84 11 11 12
+ 158: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 63 16 156 84 11 11 12
+ 159: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 63 16 156 84 11 11 12
+ 160: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 161 25 16 9 73 11 11 12
164: 6(int) Constant 81
- 162: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 163 19 16 164 11 18 163 11 12 154 157 158 159 160
+ 162: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 163 19 16 164 11 18 163 11 12 154 157 158 159 160
165: TypeRuntimeArray 153(Particle)
- 166: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 162 11
+ 166: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 162 11
167(ParticleIn): TypeStruct 165
170: 6(int) Constant 36
171: 6(int) Constant 11
- 168: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 169 166 16 170 171 11 11 12
- 172: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 173 19 16 164 11 18 173 11 12 168
+ 168: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 169 166 16 170 171 11 11 12
+ 172: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 19 16 164 11 18 173 11 12 168
174: TypePointer Uniform 167(ParticleIn)
175: 174(ptr) Variable Uniform
- 176: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 17 172 16 164 11 18 17 175 73
+ 176: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 17 172 16 164 11 18 17 175 73
177: 64(int) Constant 0
179: 64(int) Constant 4
182: 23(float) Constant 1065353216
- 183: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
+ 183: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
187: TypeRuntimeArray 153(Particle)
- 188: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 162 11
+ 188: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 162 11
189(ParticleOut): TypeStruct 187
192: 6(int) Constant 40
- 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 191 188 16 192 171 11 11 12
+ 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 191 188 16 192 171 11 11 12
195: 6(int) Constant 82
- 193: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 194 19 16 195 11 18 194 11 12 190
+ 193: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 194 19 16 195 11 18 194 11 12 190
196: TypePointer Uniform 189(ParticleOut)
197: 196(ptr) Variable Uniform
- 198: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 17 193 16 195 11 18 17 197 73
+ 198: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 17 193 16 195 11 18 17 197 73
201: TypePointer Uniform 62(fvec4)
206: 64(int) Constant 1
207: 23(float) Constant 0
208: 62(fvec4) ConstantComposite 207 207 207 207
214: 6(int) Constant 88
- 212: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 213 27 16 214 11 15 20
+ 212: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 27 16 214 11 15 20
216: 64(int) Constant 9
226: 6(int) Constant 90
- 224: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 225 27 16 226 11 15 20
+ 224: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 225 27 16 226 11 15 20
235: 6(int) Constant 91
- 233: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 234 27 16 235 11 15 20
- 243: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 267: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 291: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
+ 233: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 234 27 16 235 11 15 20
+ 243: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 267: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 291: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
300: 64(int) Constant 5
- 315: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 338: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 348: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
+ 315: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 338: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 348: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
359: 64(int) Constant 6
- 374: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 380: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 409: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 419: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 448: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 454: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
+ 374: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 380: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 409: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 419: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 448: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 454: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
477: 64(int) Constant 3
488: 6(int) Constant 130
- 486: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 487 27 16 488 11 15 20
+ 486: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 487 27 16 488 11 15 20
502: 23(float) Constant 1056964608
532: 6(int) Constant 135
- 530: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 531 27 16 532 11 15 20
+ 530: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 531 27 16 532 11 15 20
538: 64(int) Constant 8
545: 64(int) Constant 7
548: 23(float) Constant 1008981770
- 550: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
+ 550: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
573(PushConsts): TypeStruct 6(int)
576: 6(int) Constant 63
- 574: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 575 7 16 576 84 11 11 12
+ 574: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 575 7 16 576 84 11 11 12
579: 6(int) Constant 144
- 577: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 578 19 16 579 11 18 578 11 12 574
+ 577: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 578 19 16 579 11 18 578 11 12 574
580: TypePointer PushConstant 573(PushConsts)
581(pushConsts): 580(ptr) Variable PushConstant
- 582: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 583 577 16 579 11 18 583 581(pushConsts) 73
+ 582: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 583 577 16 579 11 18 583 581(pushConsts) 73
584: TypePointer PushConstant 6(int)
- 587: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
+ 587: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
593: 6(int) Constant 145
- 592: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 155 27 16 593 11 15 20
+ 592: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 27 16 593 11 15 20
595: 26(fvec3) ConstantComposite 207 207 207
- 598: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 604: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
+ 598: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 604: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
611: 6(int) Constant 149
- 609: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 610 27 16 611 11 15 20
+ 609: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 610 27 16 611 11 15 20
623: 6(int) Constant 150
- 621: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 622 27 16 623 11 15 20
+ 621: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 622 27 16 623 11 15 20
639: 6(int) Constant 151
- 637: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 638 27 16 639 11 15 20
- 666: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 713: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 719: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
- 766: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 147 9 21 11
+ 637: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 638 27 16 639 11 15 20
+ 666: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 713: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 719: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
+ 766: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 147 9 21 11
815: 6(int) Constant 10
816: 109(ivec3) ConstantComposite 815 815 19
13(main): 3 Function None 4
@@ -358,11 +358,11 @@ Validation failed
608(a): 28(ptr) Variable Function
620(b): 28(ptr) Variable Function
636(c): 28(ptr) Variable Function
- 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 15 13(main)
- 116: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 113 112(id) 44
+ 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 15 13(main)
+ 116: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 113 112(id) 44
121: 109(ivec3) Load 118(gl_GlobalInvocationID)
Store 112(id) 121
- 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 124 123(index) 44
+ 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 124 123(index) 44
128: 122(ptr) AccessChain 112(id) 19
129: 6(int) Load 128
132: 131(ptr) AccessChain 93(params) 130 11
@@ -404,7 +404,7 @@ Validation failed
Store 209 208
Return
186: Label
- 215: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 212 211(force) 44
+ 215: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 212 211(force) 44
217: 201(ptr) AccessChain 93(params) 216
218: 62(fvec4) Load 217
219: 26(fvec3) VectorShuffle 218 218 0 1 2
@@ -412,13 +412,13 @@ Validation failed
221: 23(float) Load 220
222: 26(fvec3) VectorTimesScalar 219 221
Store 211(force) 222
- 227: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 224 223(pos) 44
+ 227: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 224 223(pos) 44
228: 6(int) Load 123(index)
229: 201(ptr) AccessChain 175 177 228 177
230: 62(fvec4) Load 229
231: 26(fvec3) VectorShuffle 230 230 0 1 2
Store 223(pos) 231
- 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 233 232(vel) 44
+ 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 233 232(vel) 44
237: 6(int) Load 123(index)
238: 201(ptr) AccessChain 175 177 237 206
239: 62(fvec4) Load 238
@@ -698,7 +698,7 @@ Validation failed
483: 26(fvec3) Load 211(force)
484: 26(fvec3) FAdd 483 482
Store 211(force) 484
- 489: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 486 485(f) 44
+ 489: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 486 485(f) 44
490: 26(fvec3) Load 211(force)
491: 97(ptr) AccessChain 93(params) 206
492: 23(float) Load 491
@@ -740,7 +740,7 @@ Validation failed
527: 62(fvec4) CompositeConstruct 524 525 526 207
528: 201(ptr) AccessChain 197 177 517 206
Store 528 527
- 533: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 530 529(sphereDist) 44
+ 533: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 530 529(sphereDist) 44
534: 6(int) Load 123(index)
535: 201(ptr) AccessChain 197 177 534 177
536: 62(fvec4) Load 535
@@ -790,7 +790,7 @@ Validation failed
SelectionMerge 590 None
BranchConditional 588 589 590
589: Label
- 594: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 592 591(normal) 44
+ 594: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 592 591(normal) 44
Store 591(normal) 595
596: 122(ptr) AccessChain 112(id) 19
597: 6(int) Load 596
@@ -804,7 +804,7 @@ Validation failed
SelectionMerge 607 None
BranchConditional 605 606 607
606: Label
- 612: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 609 608(a) 44
+ 612: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 609 608(a) 44
613: 6(int) Load 123(index)
614: 6(int) ISub 613 19
615: 201(ptr) AccessChain 175 177 614 177
@@ -813,7 +813,7 @@ Validation failed
618: 26(fvec3) Load 223(pos)
619: 26(fvec3) FSub 617 618
Store 608(a) 619
- 624: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 621 620(b) 44
+ 624: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 621 620(b) 44
625: 6(int) Load 123(index)
626: 131(ptr) AccessChain 93(params) 130 11
627: 64(int) Load 626
@@ -826,7 +826,7 @@ Validation failed
634: 26(fvec3) Load 223(pos)
635: 26(fvec3) FSub 633 634
Store 620(b) 635
- 640: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 637 636(c) 44
+ 640: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 637 636(c) 44
641: 6(int) Load 123(index)
642: 131(ptr) AccessChain 93(params) 130 11
643: 64(int) Load 642
@@ -1038,13 +1038,13 @@ Validation failed
34(restDist): 29(ptr) FunctionParameter
38: Label
52(dist): 28(ptr) Variable Function
- 39: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 37
- 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 16 11 11 11 11
- 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 41 32(p0) 44
- 47: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 45 33(p1) 44
- 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 48 34(restDist) 44
- 51: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 37 35(springForce(vf3;vf3;f1;)
- 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 53 52(dist) 44
+ 39: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 37
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 16 11 11 11 11
+ 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 41 32(p0) 44
+ 47: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 45 33(p1) 44
+ 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 48 34(restDist) 44
+ 51: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 37 35(springForce(vf3;vf3;f1;)
+ 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 53 52(dist) 44
57: 26(fvec3) Load 32(p0)
58: 26(fvec3) Load 33(p1)
59: 26(fvec3) FSub 57 58
diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out
index 3b9f8cbe..ffe32751 100644
--- a/Test/baseResults/spv.debuginfo.glsl.frag.out
+++ b/Test/baseResults/spv.debuginfo.glsl.frag.out
@@ -1,7 +1,7 @@
spv.debuginfo.glsl.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 704
Capability Shader
@@ -178,208 +178,208 @@ Validation failed
9: 6(int) Constant 32
10: 6(int) Constant 6
11: 6(int) Constant 0
- 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 8 9 10 11
+ 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 9 10 11
12: 6(int) Constant 3
- 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 3
- 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 17
+ 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 3
+ 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 17
19: 6(int) Constant 1
20: 6(int) Constant 4
21: 6(int) Constant 2
- 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 19 20 16 21
- 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 14 5 16 11 11 18 14 12 11
+ 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 19 20 16 21
+ 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 14 5 16 11 11 18 14 12 11
23: TypeFloat 32
- 25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 24 9 12 11
+ 25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 24 9 12 11
26: TypeVector 23(float) 4
- 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 20
+ 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 20
28: TypePointer Function 26(fvec4)
29: TypePointer Function 23(float)
30: TypeVector 23(float) 2
- 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 21
+ 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 21
32: TypePointer Function 30(fvec2)
33: TypeFunction 23(float) 28(ptr) 29(ptr) 32(ptr)
- 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 25 27 25 31
- 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 39 34 16 11 11 18 39 12 11
- 44: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 45 27 16 11 11 40 20 19
- 47: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
- 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 49 25 16 11 11 40 20 21
- 51: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 52 31 16 11 11 40 20 12
+ 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 25 27 25 31
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 39 34 16 11 11 18 39 12 11
+ 44: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 45 27 16 11 11 40 20 19
+ 47: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
+ 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 25 16 11 11 40 20 21
+ 51: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 52 31 16 11 11 40 20 12
54: TypeFunction 23(float) 28(ptr) 29(ptr)
- 55: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 25 27 25
- 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 59 55 16 11 11 18 59 12 11
- 64: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 65 27 16 11 11 60 20 19
- 67: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 49 25 16 11 11 60 20 21
+ 55: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 25 27 25
+ 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 59 55 16 11 11 18 59 12 11
+ 64: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 65 27 16 11 11 60 20 19
+ 67: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 25 16 11 11 60 20 21
69: TypeVector 23(float) 3
- 70: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 12
+ 70: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 12
71: TypePointer Function 69(fvec3)
72: TypeFunction 69(fvec3) 71(ptr) 71(ptr)
- 73: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 70 70 70
- 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 77 73 16 11 11 18 77 12 11
- 82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 83 70 16 11 11 78 20 19
- 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 86 70 16 11 11 78 20 21
+ 73: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 70 70 70
+ 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 77 73 16 11 11 18 77 12 11
+ 82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 70 16 11 11 78 20 19
+ 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 86 70 16 11 11 78 20 21
91: 6(int) Constant 59
- 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 77 25 16 91 11 40 20
+ 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 25 16 91 11 40 20
93: 23(float) Constant 1065353216
97: 6(int) Constant 60
- 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 96 27 16 97 11 40 20
+ 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 96 27 16 97 11 40 20
106: 23(float) Constant 1056964608
114: TypeBool
117: 23(float) Constant 3212836864
- 119: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
- 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
+ 119: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
+ 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
133: 6(int) Constant 65
- 131: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 132 25 16 133 11 40 20
+ 131: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 132 25 16 133 11 40 20
135: TypeImage 23(float) 2D array sampled format:Unknown
- 139: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(Unknown)
- 136: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 137 11 16 133 11 18 138 139 12
+ 139: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
+ 136: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 137 11 16 133 11 18 138 139 12
140: TypeSampledImage 135
- 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 142 11 16 133 11 18 143 139 12
+ 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 142 11 16 133 11 18 143 139 12
144: TypePointer UniformConstant 140
145(samplerShadowMap): 144(ptr) Variable UniformConstant
148: 6(int) Constant 8
- 146: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 147 141 16 133 11 18 147 145(samplerShadowMap) 148
+ 146: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 147 141 16 133 11 18 147 145(samplerShadowMap) 148
162: 23(float) Constant 0
- 163: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
- 170: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
+ 163: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
+ 170: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
175: 23(float) Constant 1048576000
180: TypeInt 32 1
- 182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 181 9 20 11
+ 182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 181 9 20 11
183: TypeVector 180(int) 2
- 184: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 182 21
+ 184: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 182 21
185: TypePointer Function 183(ivec2)
189: 6(int) Constant 76
- 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 188 184 16 189 11 60 20
+ 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 188 184 16 189 11 60 20
192: 180(int) Constant 0
194: TypeVector 180(int) 3
- 195: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 182 12
+ 195: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 182 12
201: 6(int) Constant 77
- 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 200 25 16 201 11 60 20
+ 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 200 25 16 201 11 60 20
203: 23(float) Constant 1069547520
207: 6(int) Constant 78
- 205: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 206 25 16 207 11 60 20
+ 205: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 206 25 16 207 11 60 20
211: TypePointer Function 180(int)
219: 6(int) Constant 79
- 217: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 218 25 16 219 11 60 20
+ 217: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 218 25 16 219 11 60 20
230: 6(int) Constant 81
- 228: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 229 25 16 230 11 60 20
+ 228: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 25 16 230 11 60 20
235: 6(int) Constant 82
- 233: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 234 182 16 235 11 60 20
+ 233: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 234 182 16 235 11 60 20
240: 6(int) Constant 83
- 238: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 239 182 16 240 11 60 20
+ 238: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 239 182 16 240 11 60 20
242: 180(int) Constant 1
246: 6(int) Constant 85
- 244: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 245 182 16 246 11 60 20
- 257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
+ 244: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 245 182 16 246 11 60 20
+ 257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
262: 6(int) Constant 87
- 260: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 261 182 16 262 11 60 20
- 273: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
+ 260: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 261 182 16 262 11 60 20
+ 273: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
308: 6(int) Constant 98
- 306: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 307 182 16 308 11 78 20
+ 306: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 307 182 16 308 11 78 20
316: 180(int) Constant 3
- 317: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
+ 317: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
322: 6(int) Constant 100
- 320: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 321 27 16 322 11 78 20
+ 320: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 321 27 16 322 11 78 20
324: TypeMatrix 26(fvec4) 4
326: 114(bool) ConstantTrue
- 325: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 27 20 326
+ 325: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 27 20 326
327(Light): TypeStruct 26(fvec4) 26(fvec4) 26(fvec4) 324
330: 6(int) Constant 45
331: 6(int) Constant 7
- 328: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 329 27 16 330 331 11 11 12
- 332: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 329 27 16 330 331 11 11 12
- 333: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 329 27 16 330 331 11 11 12
+ 328: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 329 27 16 330 331 11 11 12
+ 332: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 329 27 16 330 331 11 11 12
+ 333: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 329 27 16 330 331 11 11 12
336: 6(int) Constant 46
- 334: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 335 325 16 336 331 11 11 12
- 337: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 338 19 16 322 11 18 338 11 12 328 332 333 334
+ 334: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 335 325 16 336 331 11 11 12
+ 337: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 338 19 16 322 11 18 338 11 12 328 332 333 334
339: TypeArray 327(Light) 12
- 340: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 337 12
+ 340: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 337 12
341(UBO): TypeStruct 26(fvec4) 339 180(int) 180(int)
- 342: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 329 27 16 330 331 11 11 12
+ 342: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 329 27 16 330 331 11 11 12
345: 6(int) Constant 52
- 343: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 344 340 16 345 148 11 11 12
+ 343: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 344 340 16 345 148 11 11 12
348: 6(int) Constant 54
- 346: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 347 182 16 348 10 11 11 12
- 349: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 347 182 16 348 10 11 11 12
- 350: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 351 19 16 322 11 18 351 11 12 342 343 346 349
+ 346: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 347 182 16 348 10 11 11 12
+ 349: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 347 182 16 348 10 11 11 12
+ 350: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 351 19 16 322 11 18 351 11 12 342 343 346 349
352: TypePointer Uniform 341(UBO)
353(ubo): 352(ptr) Variable Uniform
- 354: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 355 350 16 322 11 18 355 353(ubo) 148
+ 354: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 355 350 16 322 11 18 355 353(ubo) 148
357: TypePointer Uniform 324
368: 6(int) Constant 104
- 367: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 229 25 16 368 11 78 20
+ 367: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 25 16 368 11 78 20
388: 6(int) Constant 117
- 386: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 387 70 16 388 11 15 20
+ 386: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 387 70 16 388 11 15 20
390: TypeImage 23(float) 2D sampled format:Unknown
- 391: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 137 11 16 388 11 18 138 139 12
+ 391: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 137 11 16 388 11 18 138 139 12
392: TypeSampledImage 390
- 393: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 142 11 16 388 11 18 143 139 12
+ 393: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 142 11 16 388 11 18 143 139 12
394: TypePointer UniformConstant 392
395(samplerposition): 394(ptr) Variable UniformConstant
- 396: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 397 393 16 388 11 18 397 395(samplerposition) 148
+ 396: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 397 393 16 388 11 18 397 395(samplerposition) 148
399: TypePointer Input 30(fvec2)
400(inUV): 399(ptr) Variable Input
- 401: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 402 31 16 388 11 18 402 400(inUV) 148
+ 401: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 402 31 16 388 11 18 402 400(inUV) 148
409: 6(int) Constant 118
- 407: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 408 70 16 409 11 15 20
+ 407: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 408 70 16 409 11 15 20
411(samplerNormal): 394(ptr) Variable UniformConstant
- 412: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 413 393 16 409 11 18 413 411(samplerNormal) 148
+ 412: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 413 393 16 409 11 18 413 411(samplerNormal) 148
421: 6(int) Constant 119
- 419: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 420 27 16 421 11 15 20
+ 419: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 420 27 16 421 11 15 20
423(samplerAlbedo): 394(ptr) Variable UniformConstant
- 424: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 425 393 16 421 11 18 425 423(samplerAlbedo) 148
+ 424: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 425 393 16 421 11 18 425 423(samplerAlbedo) 148
429: TypePointer Uniform 180(int)
- 432: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
+ 432: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
444: TypePointer Output 26(fvec4)
445(outFragColor): 444(ptr) Variable Output
448: 6(int) Constant 125
- 446: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 447 27 16 448 11 18 447 445(outFragColor) 148
+ 446: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 447 27 16 448 11 18 447 445(outFragColor) 148
449: 69(fvec3) ConstantComposite 93 93 93
454: TypePointer Output 23(float)
501: 6(int) Constant 145
- 500: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 83 70 16 501 11 15 20
+ 500: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 70 16 501 11 15 20
505: 23(float) Constant 1036831949
510: 6(int) Constant 147
- 508: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 509 70 16 510 11 15 20
+ 508: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 509 70 16 510 11 15 20
516: 6(int) Constant 149
- 515: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 307 182 16 516 11 15 20
- 524: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
+ 515: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 307 182 16 516 11 15 20
+ 524: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
529: 6(int) Constant 152
- 527: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 528 70 16 529 11 15 20
+ 527: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 528 70 16 529 11 15 20
532: TypePointer Uniform 26(fvec4)
540: 6(int) Constant 154
- 539: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 132 25 16 540 11 15 20
+ 539: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 132 25 16 540 11 15 20
549: 6(int) Constant 158
- 547: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 548 70 16 549 11 15 20
+ 547: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 548 70 16 549 11 15 20
561: 6(int) Constant 161
- 559: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 560 25 16 561 11 15 20
+ 559: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 560 25 16 561 11 15 20
563: 23(float) Constant 1064781546
567: 6(int) Constant 162
- 565: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 566 25 16 567 11 15 20
+ 565: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 566 25 16 567 11 15 20
569: 23(float) Constant 1063781322
573: 6(int) Constant 163
- 571: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 572 25 16 573 11 15 20
+ 571: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 572 25 16 573 11 15 20
575: 23(float) Constant 1120403456
579: 6(int) Constant 166
- 577: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 578 70 16 579 11 15 20
+ 577: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 578 70 16 579 11 15 20
594: 6(int) Constant 169
- 592: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 593 25 16 594 11 15 20
+ 592: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 593 25 16 594 11 15 20
602: 6(int) Constant 170
- 600: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 601 25 16 602 11 15 20
+ 600: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 601 25 16 602 11 15 20
611: 6(int) Constant 171
- 609: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 610 25 16 611 11 15 20
+ 609: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 610 25 16 611 11 15 20
619: 6(int) Constant 174
- 617: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 618 25 16 619 11 15 20
+ 617: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 618 25 16 619 11 15 20
628: 6(int) Constant 175
- 626: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 627 70 16 628 11 15 20
+ 626: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 627 70 16 628 11 15 20
635: 6(int) Constant 178
- 633: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 634 70 16 635 11 15 20
+ 633: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 634 70 16 635 11 15 20
644: 6(int) Constant 179
- 642: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 643 25 16 644 11 15 20
+ 642: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 643 25 16 644 11 15 20
653: 6(int) Constant 180
- 651: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 652 70 16 653 11 15 20
+ 651: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 652 70 16 653 11 15 20
656: 23(float) Constant 1098907648
661: 23(float) Constant 1075838976
676: 180(int) Constant 2
- 690: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 118 9 21 11
+ 690: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 118 9 21 11
13(main): 3 Function None 4
22: Label
385(fragPos): 71(ptr) Variable Function
@@ -407,20 +407,20 @@ Validation failed
650(spec): 71(ptr) Variable Function
694(param): 71(ptr) Variable Function
696(param): 71(ptr) Variable Function
- 384: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 15 13(main)
- 389: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 386 385(fragPos) 47
+ 384: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 15 13(main)
+ 389: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 386 385(fragPos) 47
398: 392 Load 395(samplerposition)
403: 30(fvec2) Load 400(inUV)
404: 26(fvec4) ImageSampleImplicitLod 398 403
405: 69(fvec3) VectorShuffle 404 404 0 1 2
Store 385(fragPos) 405
- 410: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 407 406(normal) 47
+ 410: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 407 406(normal) 47
414: 392 Load 411(samplerNormal)
415: 30(fvec2) Load 400(inUV)
416: 26(fvec4) ImageSampleImplicitLod 414 415
417: 69(fvec3) VectorShuffle 416 416 0 1 2
Store 406(normal) 417
- 422: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 419 418(albedo) 47
+ 422: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 419 418(albedo) 47
426: 392 Load 423(samplerAlbedo)
427: 30(fvec2) Load 400(inUV)
428: 26(fvec4) ImageSampleImplicitLod 426 427
@@ -510,16 +510,16 @@ Validation failed
Store 497 93
Return
435: Label
- 502: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 500 499(fragcolor) 47
+ 502: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 500 499(fragcolor) 47
503: 26(fvec4) Load 418(albedo)
504: 69(fvec3) VectorShuffle 503 503 0 1 2
506: 69(fvec3) VectorTimesScalar 504 505
Store 499(fragcolor) 506
- 511: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 508 507(N) 47
+ 511: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 508 507(N) 47
512: 69(fvec3) Load 406(normal)
513: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 512
Store 507(N) 513
- 517: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 515 514(i) 47
+ 517: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 515 514(i) 47
Store 514(i) 192
Branch 518
518: Label
@@ -530,7 +530,7 @@ Validation failed
525: 114(bool) SLessThan 523 316
BranchConditional 525 519 520
519: Label
- 530: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 527 526(L) 47
+ 530: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 527 526(L) 47
531: 180(int) Load 514(i)
533: 532(ptr) AccessChain 353(ubo) 242 531 192
534: 26(fvec4) Load 533
@@ -538,14 +538,14 @@ Validation failed
536: 69(fvec3) Load 385(fragPos)
537: 69(fvec3) FSub 535 536
Store 526(L) 537
- 541: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 539 538(dist) 47
+ 541: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 539 538(dist) 47
542: 69(fvec3) Load 526(L)
543: 23(float) ExtInst 2(GLSL.std.450) 66(Length) 542
Store 538(dist) 543
544: 69(fvec3) Load 526(L)
545: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 544
Store 526(L) 545
- 550: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 547 546(V) 47
+ 550: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 547 546(V) 47
551: 532(ptr) AccessChain 353(ubo) 192
552: 26(fvec4) Load 551
553: 69(fvec3) VectorShuffle 552 552 0 1 2
@@ -555,13 +555,13 @@ Validation failed
556: 69(fvec3) Load 546(V)
557: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 556
Store 546(V) 557
- 562: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 559 558(lightCosInnerAngle) 47
+ 562: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 559 558(lightCosInnerAngle) 47
Store 558(lightCosInnerAngle) 563
- 568: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 565 564(lightCosOuterAngle) 47
+ 568: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 565 564(lightCosOuterAngle) 47
Store 564(lightCosOuterAngle) 569
- 574: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 571 570(lightRange) 47
+ 574: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 571 570(lightRange) 47
Store 570(lightRange) 575
- 580: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 577 576(dir) 47
+ 580: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 577 576(dir) 47
581: 180(int) Load 514(i)
582: 532(ptr) AccessChain 353(ubo) 242 581 192
583: 26(fvec4) Load 582
@@ -573,45 +573,45 @@ Validation failed
589: 69(fvec3) FSub 584 588
590: 69(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 589
Store 576(dir) 590
- 595: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 592 591(cosDir) 47
+ 595: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 592 591(cosDir) 47
596: 69(fvec3) Load 526(L)
597: 69(fvec3) Load 576(dir)
598: 23(float) Dot 596 597
Store 591(cosDir) 598
- 603: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 600 599(spotEffect) 47
+ 603: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 600 599(spotEffect) 47
604: 23(float) Load 564(lightCosOuterAngle)
605: 23(float) Load 558(lightCosInnerAngle)
606: 23(float) Load 591(cosDir)
607: 23(float) ExtInst 2(GLSL.std.450) 49(SmoothStep) 604 605 606
Store 599(spotEffect) 607
- 612: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 609 608(heightAttenuation) 47
+ 612: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 609 608(heightAttenuation) 47
613: 23(float) Load 570(lightRange)
614: 23(float) Load 538(dist)
615: 23(float) ExtInst 2(GLSL.std.450) 49(SmoothStep) 613 162 614
Store 608(heightAttenuation) 615
- 620: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 617 616(NdotL) 47
+ 620: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 617 616(NdotL) 47
621: 69(fvec3) Load 507(N)
622: 69(fvec3) Load 526(L)
623: 23(float) Dot 621 622
624: 23(float) ExtInst 2(GLSL.std.450) 40(FMax) 162 623
Store 616(NdotL) 624
- 629: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 626 625(diff) 47
+ 629: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 626 625(diff) 47
630: 23(float) Load 616(NdotL)
631: 69(fvec3) CompositeConstruct 630 630 630
Store 625(diff) 631
- 636: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 633 632(R) 47
+ 636: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 633 632(R) 47
637: 69(fvec3) Load 526(L)
638: 69(fvec3) FNegate 637
639: 69(fvec3) Load 507(N)
640: 69(fvec3) ExtInst 2(GLSL.std.450) 71(Reflect) 638 639
Store 632(R) 640
- 645: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 642 641(NdotR) 47
+ 645: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 642 641(NdotR) 47
646: 69(fvec3) Load 632(R)
647: 69(fvec3) Load 546(V)
648: 23(float) Dot 646 647
649: 23(float) ExtInst 2(GLSL.std.450) 40(FMax) 162 648
Store 641(NdotR) 649
- 654: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 651 650(spec) 47
+ 654: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 651 650(spec) 47
655: 23(float) Load 641(NdotR)
657: 23(float) ExtInst 2(GLSL.std.450) 26(Pow) 655 656
658: 29(ptr) AccessChain 418(albedo) 12
@@ -679,15 +679,15 @@ Validation failed
89(shadow): 29(ptr) Variable Function
94(shadowCoord): 28(ptr) Variable Function
130(dist): 29(ptr) Variable Function
- 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 40
- 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 16 11 11 11 11
- 46: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 44 35(P) 47
- 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 48 36(layer) 47
- 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 51 37(offset) 47
- 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 40 38(textureProj(vf4;f1;vf2;)
- 92: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 90 89(shadow) 47
+ 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40
+ 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 16 11 11 11 11
+ 46: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 44 35(P) 47
+ 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 48 36(layer) 47
+ 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 37(offset) 47
+ 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 40 38(textureProj(vf4;f1;vf2;)
+ 92: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 90 89(shadow) 47
Store 89(shadow) 93
- 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 95 94(shadowCoord) 47
+ 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 95 94(shadowCoord) 47
99: 26(fvec4) Load 35(P)
100: 29(ptr) AccessChain 35(P) 12
101: 23(float) Load 100
@@ -720,7 +720,7 @@ Validation failed
SelectionMerge 129 None
BranchConditional 127 128 129
128: Label
- 134: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 131 130(dist) 47
+ 134: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 131 130(dist) 47
149: 140 Load 145(samplerShadowMap)
150: 26(fvec4) Load 94(shadowCoord)
151: 30(fvec2) VectorShuffle 150 150 0 1
@@ -773,20 +773,20 @@ Validation failed
284(param): 28(ptr) Variable Function
286(param): 29(ptr) Variable Function
288(param): 32(ptr) Variable Function
- 62: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 60
- 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 16 11 11 11 11
- 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 64 56(sc) 47
- 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 67 57(layer) 47
- 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 60 58(filterPCF(vf4;f1;)
- 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 187 186(texDim) 47
+ 62: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 60
+ 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 16 11 11 11 11
+ 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 56(sc) 47
+ 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 57(layer) 47
+ 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 60 58(filterPCF(vf4;f1;)
+ 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 187 186(texDim) 47
191: 140 Load 145(samplerShadowMap)
193: 135 Image 191
196: 194(ivec3) ImageQuerySizeLod 193 192
197: 183(ivec2) VectorShuffle 196 196 0 1
Store 186(texDim) 197
- 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 199 198(scale) 47
+ 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 199 198(scale) 47
Store 198(scale) 203
- 208: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 205 204(dx) 47
+ 208: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 205 204(dx) 47
209: 23(float) Load 198(scale)
210: 23(float) FMul 209 93
212: 211(ptr) AccessChain 186(texDim) 11
@@ -794,7 +794,7 @@ Validation failed
214: 23(float) ConvertSToF 213
215: 23(float) FDiv 210 214
Store 204(dx) 215
- 220: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 217 216(dy) 47
+ 220: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 217 216(dy) 47
221: 23(float) Load 198(scale)
222: 23(float) FMul 221 93
223: 211(ptr) AccessChain 186(texDim) 19
@@ -802,13 +802,13 @@ Validation failed
225: 23(float) ConvertSToF 224
226: 23(float) FDiv 222 225
Store 216(dy) 226
- 231: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 228 227(shadowFactor) 47
+ 231: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 228 227(shadowFactor) 47
Store 227(shadowFactor) 162
- 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 233 232(count) 47
+ 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 233 232(count) 47
Store 232(count) 192
- 241: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 238 237(range) 47
+ 241: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 238 237(range) 47
Store 237(range) 242
- 247: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 244 243(x) 47
+ 247: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 244 243(x) 47
248: 180(int) Load 237(range)
249: 180(int) SNegate 248
Store 243(x) 249
@@ -822,7 +822,7 @@ Validation failed
258: 114(bool) SLessThanEqual 255 256
BranchConditional 258 251 252
251: Label
- 263: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 260 259(y) 47
+ 263: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 260 259(y) 47
264: 180(int) Load 237(range)
265: 180(int) SNegate 264
Store 259(y) 265
@@ -886,12 +886,12 @@ Validation failed
366(shadowFactor): 29(ptr) Variable Function
372(param): 28(ptr) Variable Function
374(param): 29(ptr) Variable Function
- 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 78
- 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 16 11 11 11 11
- 84: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 82 74(fragcolor) 47
- 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 85 75(fragpos) 47
- 304: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 78 76(shadow(vf3;vf3;)
- 309: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 306 305(i) 47
+ 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 78
+ 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 16 11 11 11 11
+ 84: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 74(fragcolor) 47
+ 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 85 75(fragpos) 47
+ 304: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 78 76(shadow(vf3;vf3;)
+ 309: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 306 305(i) 47
Store 305(i) 192
Branch 310
310: Label
@@ -902,7 +902,7 @@ Validation failed
318: 114(bool) SLessThan 315 316
BranchConditional 318 311 312
311: Label
- 323: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 320 319(shadowClip) 47
+ 323: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 320 319(shadowClip) 47
356: 180(int) Load 305(i)
358: 357(ptr) AccessChain 353(ubo) 242 356 316
359: 324 Load 358
@@ -913,7 +913,7 @@ Validation failed
364: 26(fvec4) CompositeConstruct 361 362 363 93
365: 26(fvec4) MatrixTimesVector 359 364
Store 319(shadowClip) 365
- 369: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 367 366(shadowFactor) 47
+ 369: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 367 366(shadowFactor) 47
370: 180(int) Load 305(i)
371: 23(float) ConvertSToF 370
373: 26(fvec4) Load 319(shadowClip)
diff --git a/Test/baseResults/spv.debuginfo.glsl.geom.out b/Test/baseResults/spv.debuginfo.glsl.geom.out
index 8c5733ef..e3ffd38e 100644
--- a/Test/baseResults/spv.debuginfo.glsl.geom.out
+++ b/Test/baseResults/spv.debuginfo.glsl.geom.out
@@ -1,7 +1,7 @@
spv.debuginfo.glsl.geom
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 231
Capability Geometry
@@ -116,136 +116,136 @@ Validation failed
9: 6(int) Constant 32
10: 6(int) Constant 6
11: 6(int) Constant 0
- 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 8 9 10 11
+ 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 9 10 11
12: 6(int) Constant 3
- 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 3
- 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 17
+ 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 3
+ 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 17
19: 6(int) Constant 1
20: 6(int) Constant 4
21: 6(int) Constant 2
- 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 19 20 16 21
- 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 14 5 16 11 11 18 14 12 11
+ 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 19 20 16 21
+ 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 14 5 16 11 11 18 14 12 11
24: TypeInt 32 1
- 26: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 25 9 20 11
+ 26: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 25 9 20 11
27: TypePointer Function 24(int)
31: 6(int) Constant 49
- 29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 30 26 16 31 11 15 20
- 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
+ 29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 30 26 16 31 11 15 20
+ 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
34: 24(int) Constant 0
41: 24(int) Constant 3
42: TypeBool
- 44: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 43 9 21 11
+ 44: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 43 9 21 11
46: TypeFloat 32
- 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 12 11
+ 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 12 11
49: TypeVector 46(float) 3
- 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 48 12
+ 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 48 12
51: TypePointer Output 49(fvec3)
52(outNormal): 51(ptr) Variable Output
55: 6(int) Constant 51
56: 6(int) Constant 8
- 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 54 50 16 55 11 18 54 52(outNormal) 56
+ 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 54 50 16 55 11 18 54 52(outNormal) 56
57: TypeVector 46(float) 4
- 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 48 20
+ 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 48 20
59: TypeMatrix 57(fvec4) 4
61: 42(bool) ConstantTrue
- 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 58 20 61
+ 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 58 20 61
62: TypeArray 59 21
- 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 60 21
+ 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 60 21
64: TypeArray 59 21
- 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 60 21
+ 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 60 21
66(UBO): TypeStruct 62 64 57(fvec4)
69: 6(int) Constant 34
70: 6(int) Constant 7
- 67: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 68 63 16 69 70 11 11 12
+ 67: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 68 63 16 69 70 11 11 12
73: 6(int) Constant 35
- 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 72 65 16 73 70 11 11 12
+ 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 65 16 73 70 11 11 12
76: 6(int) Constant 36
- 74: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 75 58 16 76 70 11 11 12
- 77: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 78 19 16 55 11 18 78 11 12 67 71 74
+ 74: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 75 58 16 76 70 11 11 12
+ 77: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 78 19 16 55 11 18 78 11 12 67 71 74
79: TypePointer Uniform 66(UBO)
80(ubo): 79(ptr) Variable Uniform
- 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 82 77 16 55 11 18 82 80(ubo) 56
+ 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 82 77 16 55 11 18 82 80(ubo) 56
83: 24(int) Constant 1
84: TypePointer Input 24(int)
85(gl_InvocationID): 84(ptr) Variable Input
- 86: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 87 26 16 55 11 18 87 85(gl_InvocationID) 56
+ 86: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 87 26 16 55 11 18 87 85(gl_InvocationID) 56
89: TypePointer Uniform 59
92: TypeMatrix 49(fvec3) 3
- 93: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 50 12 61
+ 93: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 50 12 61
101: TypeArray 49(fvec3) 12
- 102: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 50 12
+ 102: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 50 12
103: TypePointer Input 101
104(inNormal): 103(ptr) Variable Input
- 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 106 102 16 55 11 18 106 104(inNormal) 56
+ 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 106 102 16 55 11 18 106 104(inNormal) 56
108: TypePointer Input 49(fvec3)
112(outColor): 51(ptr) Variable Output
115: 6(int) Constant 52
- 113: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 114 50 16 115 11 18 114 112(outColor) 56
+ 113: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 114 50 16 115 11 18 114 112(outColor) 56
116(inColor): 103(ptr) Variable Input
- 117: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 118 102 16 115 11 18 118 116(inColor) 56
+ 117: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 118 102 16 115 11 18 118 116(inColor) 56
122: TypePointer Function 57(fvec4)
126: 6(int) Constant 54
- 124: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 125 58 16 126 11 15 20
+ 124: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 125 58 16 126 11 15 20
128: TypeArray 46(float) 19
- 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 48 19
+ 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 48 19
130(gl_PerVertex): TypeStruct 57(fvec4) 46(float) 128 128
133: 6(int) Constant 23
- 131: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 132 58 16 21 133 11 11 12
+ 131: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 132 58 16 21 133 11 11 12
136: 6(int) Constant 41
- 134: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 135 48 16 21 136 11 11 12
+ 134: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 135 48 16 21 136 11 11 12
139: 6(int) Constant 84
- 137: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 129 16 21 139 11 11 12
- 140: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 129 16 21 139 11 11 12
- 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 142 19 16 126 11 18 142 11 12 131 134 137 140
+ 137: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 138 129 16 21 139 11 11 12
+ 140: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 138 129 16 21 139 11 11 12
+ 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 142 19 16 126 11 18 142 11 12 131 134 137 140
143: TypeArray 130(gl_PerVertex) 12
- 144: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 141 12
+ 144: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 141 12
145: TypePointer Input 143
146(gl_in): 145(ptr) Variable Input
- 147: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 148 144 16 126 11 18 148 146(gl_in) 56
+ 147: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 148 144 16 126 11 18 148 146(gl_in) 56
150: TypePointer Input 57(fvec4)
156: 6(int) Constant 55
- 154: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 155 58 16 156 11 15 20
+ 154: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 155 58 16 156 11 15 20
163: TypePointer Function 49(fvec3)
167: 6(int) Constant 57
- 165: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 166 50 16 167 11 15 20
+ 165: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 166 50 16 167 11 15 20
172: 24(int) Constant 2
173: TypePointer Uniform 57(fvec4)
181(outLightVec): 51(ptr) Variable Output
184: 6(int) Constant 58
- 182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 183 50 16 184 11 18 183 181(outLightVec) 56
+ 182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 183 50 16 184 11 18 183 181(outLightVec) 56
189(outViewVec): 51(ptr) Variable Output
192: 6(int) Constant 59
- 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 191 50 16 192 11 18 191 189(outViewVec) 56
+ 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 191 50 16 192 11 18 191 189(outViewVec) 56
196(gl_PerVertex): TypeStruct 57(fvec4) 46(float) 128 128
198: 6(int) Constant 215
- 197: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 132 58 16 21 198 11 11 12
+ 197: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 132 58 16 21 198 11 11 12
200: 6(int) Constant 233
- 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 135 48 16 21 200 11 11 12
- 201: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 129 16 12 70 11 11 12
- 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 129 16 12 70 11 11 12
+ 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 135 48 16 21 200 11 11 12
+ 201: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 138 129 16 12 70 11 11 12
+ 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 138 129 16 12 70 11 11 12
204: 6(int) Constant 61
- 203: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 142 19 16 204 11 18 142 11 12 197 199 201 202
+ 203: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 142 19 16 204 11 18 142 11 12 197 199 201 202
205: TypePointer Output 196(gl_PerVertex)
206: 205(ptr) Variable Output
- 207: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 17 203 16 204 11 18 17 206 56
+ 207: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 17 203 16 204 11 18 17 206 56
213: TypePointer Output 57(fvec4)
215: TypePointer Output 24(int)
216(gl_ViewportIndex): 215(ptr) Variable Output
219: 6(int) Constant 64
- 217: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 218 26 16 219 11 18 218 216(gl_ViewportIndex) 56
+ 217: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 218 26 16 219 11 18 218 216(gl_ViewportIndex) 56
221(gl_PrimitiveID): 215(ptr) Variable Output
224: 6(int) Constant 65
- 222: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 223 26 16 224 11 18 223 221(gl_PrimitiveID) 56
+ 222: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 223 26 16 224 11 18 223 221(gl_PrimitiveID) 56
225(gl_PrimitiveIDIn): 84(ptr) Variable Input
- 226: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 227 26 16 224 11 18 227 225(gl_PrimitiveIDIn) 56
+ 226: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 227 26 16 224 11 18 227 225(gl_PrimitiveIDIn) 56
13(main): 3 Function None 4
22: Label
28(i): 27(ptr) Variable Function
123(pos): 122(ptr) Variable Function
153(worldPos): 122(ptr) Variable Function
164(lPos): 163(ptr) Variable Function
- 23: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 15 13(main)
- 32: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 29 28(i) 33
+ 23: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 15 13(main)
+ 32: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 29 28(i) 33
Store 28(i) 34
Branch 35
35: Label
@@ -275,19 +275,19 @@ Validation failed
120: 108(ptr) AccessChain 116(inColor) 119
121: 49(fvec3) Load 120
Store 112(outColor) 121
- 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 124 123(pos) 33
+ 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 124 123(pos) 33
149: 24(int) Load 28(i)
151: 150(ptr) AccessChain 146(gl_in) 149 34
152: 57(fvec4) Load 151
Store 123(pos) 152
- 157: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 154 153(worldPos) 33
+ 157: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 154 153(worldPos) 33
158: 24(int) Load 85(gl_InvocationID)
159: 89(ptr) AccessChain 80(ubo) 83 158
160: 59 Load 159
161: 57(fvec4) Load 123(pos)
162: 57(fvec4) MatrixTimesVector 160 161
Store 153(worldPos) 162
- 168: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 165 164(lPos) 33
+ 168: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 165 164(lPos) 33
169: 24(int) Load 85(gl_InvocationID)
170: 89(ptr) AccessChain 80(ubo) 83 169
171: 59 Load 170
diff --git a/Test/baseResults/spv.debuginfo.glsl.tesc.out b/Test/baseResults/spv.debuginfo.glsl.tesc.out
index d5dca888..c0cddfdc 100644
--- a/Test/baseResults/spv.debuginfo.glsl.tesc.out
+++ b/Test/baseResults/spv.debuginfo.glsl.tesc.out
@@ -1,7 +1,7 @@
spv.debuginfo.glsl.tesc
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 457
Capability Tessellation
@@ -146,79 +146,79 @@ Validation failed
9: 6(int) Constant 32
10: 6(int) Constant 6
11: 6(int) Constant 0
- 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 8 9 10 11
+ 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 9 10 11
12: 6(int) Constant 3
- 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 3
- 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 17
+ 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 3
+ 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 17
19: 6(int) Constant 1
20: 6(int) Constant 4
21: 6(int) Constant 2
- 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 19 20 16 21
- 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 14 5 16 11 11 18 14 12 11
+ 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 19 20 16 21
+ 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 14 5 16 11 11 18 14 12 11
23: TypeFloat 32
- 25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 24 9 12 11
+ 25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 24 9 12 11
26: TypeVector 23(float) 4
- 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 20
+ 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 20
28: TypePointer Function 26(fvec4)
29: TypeFunction 23(float) 28(ptr) 28(ptr)
- 30: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 25 27 27
- 35: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 34 30 16 11 11 18 34 12 11
- 39: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 40 27 16 11 11 35 20 19
- 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
- 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 44 27 16 11 11 35 20 21
+ 30: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 25 27 27
+ 35: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 34 30 16 11 11 18 34 12 11
+ 39: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 40 27 16 11 11 35 20 19
+ 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
+ 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 44 27 16 11 11 35 20 21
46: TypeBool
- 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
+ 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 21 11
49: TypeFunction 46(bool)
- 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 48
- 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 52 50 16 11 11 18 52 12 11
+ 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 48
+ 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 52 50 16 11 11 18 52 12 11
59: 6(int) Constant 54
- 57: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 58 27 16 59 11 35 20
+ 57: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 58 27 16 59 11 35 20
61: 23(float) Constant 1056964608
66: TypePointer Function 23(float)
70: 6(int) Constant 56
- 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 69 25 16 70 11 35 20
+ 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 69 25 16 70 11 35 20
75: 23(float) Constant 1073741824
80: 6(int) Constant 59
- 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 79 27 16 80 11 35 20
+ 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 79 27 16 80 11 35 20
82: TypeMatrix 26(fvec4) 4
84: 46(bool) ConstantTrue
- 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 27 20 84
+ 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 27 20 84
85: TypeArray 26(fvec4) 10
- 86: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 27 10
+ 86: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 27 10
87: TypeVector 23(float) 2
- 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 21
+ 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 21
89(UBO): TypeStruct 82 82 26(fvec4) 85 23(float) 23(float) 87(fvec2) 23(float)
92: 6(int) Constant 30
93: 6(int) Constant 7
- 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 91 83 16 92 93 11 11 12
- 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 91 83 16 92 93 11 11 12
+ 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 91 83 16 92 93 11 11 12
+ 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 91 83 16 92 93 11 11 12
97: 6(int) Constant 31
- 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 96 27 16 97 93 11 11 12
- 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 99 86 16 9 93 11 11 12
+ 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 27 16 97 93 11 11 12
+ 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 99 86 16 9 93 11 11 12
102: 6(int) Constant 36
103: 6(int) Constant 8
- 100: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 101 25 16 102 103 11 11 12
- 104: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 101 25 16 102 103 11 11 12
+ 100: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 25 16 102 103 11 11 12
+ 104: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 25 16 102 103 11 11 12
107: 6(int) Constant 35
- 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 106 88 16 107 93 11 11 12
- 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 101 25 16 102 103 11 11 12
- 109: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 110 19 16 80 11 18 110 11 12 90 94 95 98 100 104 105 108
+ 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 106 88 16 107 93 11 11 12
+ 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 25 16 102 103 11 11 12
+ 109: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 110 19 16 80 11 18 110 11 12 90 94 95 98 100 104 105 108
111: TypePointer Uniform 89(UBO)
112(ubo): 111(ptr) Variable Uniform
- 113: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 114 109 16 80 11 18 114 112(ubo) 103
+ 113: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 114 109 16 80 11 18 114 112(ubo) 103
115: TypeInt 32 1
- 117: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 116 9 20 11
+ 117: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 116 9 20 11
118: 115(int) Constant 1
119: TypePointer Uniform 82
127: 6(int) Constant 62
- 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 126 27 16 127 11 35 20
+ 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 126 27 16 127 11 35 20
129: 115(int) Constant 0
134: TypeVector 23(float) 3
- 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 12
+ 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 25 12
136: 23(float) Constant 0
137: 134(fvec3) ConstantComposite 136 136 136
147: 6(int) Constant 63
- 145: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 146 27 16 147 11 35 20
+ 145: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 146 27 16 147 11 35 20
169: 115(int) Constant 6
170: TypePointer Uniform 87(fvec2)
192: 115(int) Constant 7
@@ -227,107 +227,107 @@ Validation failed
201: 23(float) Constant 1065353216
202: 23(float) Constant 1115684864
210: 6(int) Constant 85
- 208: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 209 27 16 210 11 53 20
+ 208: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 209 27 16 210 11 53 20
212: TypeArray 23(float) 19
- 213: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 25 19
+ 213: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 25 19
214(gl_PerVertex): TypeStruct 26(fvec4) 23(float) 212 212
217: 6(int) Constant 1756
- 215: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 216 27 16 19 217 11 11 12
+ 215: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 216 27 16 19 217 11 11 12
220: 6(int) Constant 1774
- 218: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 219 25 16 19 220 11 11 12
+ 218: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 219 25 16 19 220 11 11 12
223: 6(int) Constant 1817
- 221: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 222 213 16 19 223 11 11 12
- 224: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 222 213 16 19 223 11 11 12
- 225: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 226 19 16 210 11 18 226 11 12 215 218 221 224
+ 221: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 222 213 16 19 223 11 11 12
+ 224: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 222 213 16 19 223 11 11 12
+ 225: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 226 19 16 210 11 18 226 11 12 215 218 221 224
227: TypeArray 214(gl_PerVertex) 9
- 228: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 225 9
+ 228: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 225 9
229: TypePointer Input 227
230(gl_in): 229(ptr) Variable Input
- 231: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 232 228 16 210 11 18 232 230(gl_in) 103
+ 231: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 232 228 16 210 11 18 232 230(gl_in) 103
233: TypePointer Input 115(int)
234(gl_InvocationID): 233(ptr) Variable Input
- 235: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 236 117 16 210 11 18 236 234(gl_InvocationID) 103
+ 235: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 236 117 16 210 11 18 236 234(gl_InvocationID) 103
238: TypePointer Input 26(fvec4)
241: TypeImage 23(float) 2D sampled format:Unknown
244: 6(int) Constant 86
- 246: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(Unknown)
- 242: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 243 11 16 244 11 18 245 246 12
+ 246: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
+ 242: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 243 11 16 244 11 18 245 246 12
247: TypeSampledImage 241
- 248: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 249 11 16 244 11 18 250 246 12
+ 248: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 249 11 16 244 11 18 250 246 12
251: TypePointer UniformConstant 247
252(samplerHeight): 251(ptr) Variable UniformConstant
- 253: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 254 248 16 244 11 18 254 252(samplerHeight) 103
+ 253: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 254 248 16 244 11 18 254 252(samplerHeight) 103
256: TypeArray 87(fvec2) 9
- 257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 88 9
+ 257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 88 9
258: TypePointer Input 256
259(inUV): 258(ptr) Variable Input
- 260: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 261 257 16 244 11 18 261 259(inUV) 103
+ 260: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 261 257 16 244 11 18 261 259(inUV) 103
262: TypePointer Input 87(fvec2)
267: 115(int) Constant 4
275: TypePointer Function 115(int)
279: 6(int) Constant 89
- 277: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 278 117 16 279 11 53 20
- 287: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
+ 277: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 117 16 279 11 53 20
+ 287: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 21 11
290: 115(int) Constant 3
292: TypePointer Uniform 26(fvec4)
296: 23(float) Constant 1090519040
- 298: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
- 302: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
+ 298: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 21 11
+ 302: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 21 11
303: 46(bool) ConstantFalse
- 307: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
- 312: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
- 317: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
- 318: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
+ 307: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 21 11
+ 312: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 21 11
+ 317: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 21 11
+ 318: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 21 11
322: TypeArray 23(float) 21
- 323: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 25 21
+ 323: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 25 21
324: TypePointer Output 322
325(gl_TessLevelInner): 324(ptr) Variable Output
328: 6(int) Constant 104
- 326: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 327 323 16 328 11 18 327 325(gl_TessLevelInner) 103
+ 326: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 327 323 16 328 11 18 327 325(gl_TessLevelInner) 103
329: TypePointer Output 23(float)
332: TypeArray 23(float) 20
- 333: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 25 20
+ 333: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 25 20
334: TypePointer Output 332
335(gl_TessLevelOuter): 334(ptr) Variable Output
338: 6(int) Constant 106
- 336: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 337 333 16 338 11 18 337 335(gl_TessLevelOuter) 103
+ 336: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 337 333 16 338 11 18 337 335(gl_TessLevelOuter) 103
341: 115(int) Constant 2
- 347: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
+ 347: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 47 9 21 11
402(gl_PerVertex): TypeStruct 26(fvec4) 23(float) 212 212
404: 6(int) Constant 110
- 403: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 216 27 16 19 404 11 11 12
+ 403: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 216 27 16 19 404 11 11 12
406: 6(int) Constant 128
- 405: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 219 25 16 19 406 11 11 12
+ 405: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 219 25 16 19 406 11 11 12
408: 6(int) Constant 171
- 407: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 222 213 16 19 408 11 11 12
- 409: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 222 213 16 19 408 11 11 12
+ 407: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 222 213 16 19 408 11 11 12
+ 409: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 222 213 16 19 408 11 11 12
411: 6(int) Constant 137
- 410: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 226 19 16 411 11 18 226 11 12 403 405 407 409
+ 410: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 226 19 16 411 11 18 226 11 12 403 405 407 409
412: TypeArray 402(gl_PerVertex) 20
- 413: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 410 20
+ 413: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 410 20
414: TypePointer Output 412
415(gl_out): 414(ptr) Variable Output
- 416: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 417 413 16 411 11 18 417 415(gl_out) 103
+ 416: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 417 413 16 411 11 18 417 415(gl_out) 103
422: TypePointer Output 26(fvec4)
424: TypeArray 134(fvec3) 20
- 425: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 135 20
+ 425: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 135 20
426: TypePointer Output 424
427(outNormal): 426(ptr) Variable Output
430: 6(int) Constant 138
- 428: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 429 425 16 430 11 18 429 427(outNormal) 103
+ 428: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 429 425 16 430 11 18 429 427(outNormal) 103
432: TypeArray 134(fvec3) 9
- 433: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 135 9
+ 433: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 135 9
434: TypePointer Input 432
435(inNormal): 434(ptr) Variable Input
- 436: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 437 433 16 430 11 18 437 435(inNormal) 103
+ 436: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 437 433 16 430 11 18 437 435(inNormal) 103
439: TypePointer Input 134(fvec3)
442: TypePointer Output 134(fvec3)
444: TypeArray 87(fvec2) 20
- 445: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 88 20
+ 445: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 88 20
446: TypePointer Output 444
447(outUV): 446(ptr) Variable Output
450: 6(int) Constant 139
- 448: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 449 445 16 450 11 18 449 447(outUV) 103
+ 448: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 449 445 16 450 11 18 449 447(outUV) 103
455: TypePointer Output 87(fvec2)
13(main): 3 Function None 4
22: Label
@@ -339,7 +339,7 @@ Validation failed
370(param): 28(ptr) Variable Function
375(param): 28(ptr) Variable Function
378(param): 28(ptr) Variable Function
- 310: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 15 13(main)
+ 310: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 15 13(main)
311: 115(int) Load 234(gl_InvocationID)
313: 46(bool) IEqual 311 129
SelectionMerge 315 None
@@ -469,30 +469,30 @@ Validation failed
77(v0): 28(ptr) Variable Function
124(clip0): 28(ptr) Variable Function
144(clip1): 28(ptr) Variable Function
- 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 35
- 38: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 16 11 11 11 11
- 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 39 31(p0) 42
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 43 32(p1) 42
- 55: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 35 33(screenSpaceTessFactor(vf4;vf4;)
- 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 57 56(midPoint) 42
+ 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 35
+ 38: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 16 11 11 11 11
+ 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 39 31(p0) 42
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 43 32(p1) 42
+ 55: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 35 33(screenSpaceTessFactor(vf4;vf4;)
+ 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 57 56(midPoint) 42
62: 26(fvec4) Load 31(p0)
63: 26(fvec4) Load 32(p1)
64: 26(fvec4) FAdd 62 63
65: 26(fvec4) VectorTimesScalar 64 61
Store 56(midPoint) 65
- 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 68 67(radius) 42
+ 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 68 67(radius) 42
72: 26(fvec4) Load 31(p0)
73: 26(fvec4) Load 32(p1)
74: 23(float) ExtInst 2(GLSL.std.450) 67(Distance) 72 73
76: 23(float) FDiv 74 75
Store 67(radius) 76
- 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 78 77(v0) 42
+ 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 78 77(v0) 42
120: 119(ptr) AccessChain 112(ubo) 118
121: 82 Load 120
122: 26(fvec4) Load 56(midPoint)
123: 26(fvec4) MatrixTimesVector 121 122
Store 77(v0) 123
- 128: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 125 124(clip0) 42
+ 128: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 125 124(clip0) 42
130: 119(ptr) AccessChain 112(ubo) 129
131: 82 Load 130
132: 26(fvec4) Load 77(v0)
@@ -504,7 +504,7 @@ Validation failed
142: 26(fvec4) FSub 132 141
143: 26(fvec4) MatrixTimesVector 131 142
Store 124(clip0) 143
- 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 145 144(clip1) 42
+ 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 145 144(clip1) 42
149: 119(ptr) AccessChain 112(ubo) 129
150: 82 Load 149
151: 26(fvec4) Load 77(v0)
@@ -566,8 +566,8 @@ Validation failed
54: Label
207(pos): 28(ptr) Variable Function
276(i): 275(ptr) Variable Function
- 206: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 53 51(frustumCheck()
- 211: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 208 207(pos) 42
+ 206: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 53 51(frustumCheck()
+ 211: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 208 207(pos) 42
237: 115(int) Load 234(gl_InvocationID)
239: 238(ptr) AccessChain 230(gl_in) 237 129
240: 26(fvec4) Load 239
@@ -585,7 +585,7 @@ Validation failed
273: 23(float) FSub 272 270
274: 66(ptr) AccessChain 207(pos) 19
Store 274 273
- 280: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 277 276(i) 42
+ 280: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 277 276(i) 42
Store 276(i) 129
Branch 281
281: Label
diff --git a/Test/baseResults/spv.debuginfo.glsl.tese.out b/Test/baseResults/spv.debuginfo.glsl.tese.out
index 696d4bf0..3c5d692f 100644
--- a/Test/baseResults/spv.debuginfo.glsl.tese.out
+++ b/Test/baseResults/spv.debuginfo.glsl.tese.out
@@ -1,7 +1,7 @@
spv.debuginfo.glsl.tese
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 315
Capability Tessellation
@@ -134,153 +134,153 @@ Validation failed
9: 6(int) Constant 32
10: 6(int) Constant 6
11: 6(int) Constant 0
- 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 8 9 10 11
+ 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 9 10 11
12: 6(int) Constant 3
- 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 3
- 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 17
+ 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 3
+ 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 17
19: 6(int) Constant 1
20: 6(int) Constant 4
21: 6(int) Constant 2
- 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 19 20 16 21
- 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 14 5 16 11 11 18 14 12 11
+ 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 19 20 16 21
+ 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 14 5 16 11 11 18 14 12 11
24: TypeFloat 32
- 26: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 25 9 12 11
+ 26: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 25 9 12 11
27: TypeVector 24(float) 2
- 28: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 26 21
+ 28: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 21
29: TypePointer Function 27(fvec2)
33: 6(int) Constant 56
- 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 32 28 16 33 11 15 20
- 35: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
+ 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 32 28 16 33 11 15 20
+ 35: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
36: TypeArray 27(fvec2) 9
- 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 28 9
+ 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 28 9
38: TypePointer Input 36
39(inUV): 38(ptr) Variable Input
42: 6(int) Constant 8
- 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 41 37 16 33 11 18 41 39(inUV) 42
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 41 37 16 33 11 18 41 39(inUV) 42
43: TypeInt 32 1
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 44 9 20 11
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 44 9 20 11
46: 43(int) Constant 0
47: TypePointer Input 27(fvec2)
50: 43(int) Constant 1
53: TypeVector 24(float) 3
- 54: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 26 12
+ 54: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 12
55: TypePointer Input 53(fvec3)
56(gl_TessCoord): 55(ptr) Variable Input
- 57: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 58 54 16 33 11 18 58 56(gl_TessCoord) 42
+ 57: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 58 54 16 33 11 18 58 56(gl_TessCoord) 42
59: TypePointer Input 24(float)
67: 6(int) Constant 57
- 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 66 28 16 67 11 15 20
+ 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 66 28 16 67 11 15 20
69: 43(int) Constant 3
72: 43(int) Constant 2
79: TypePointer Output 27(fvec2)
80(outUV): 79(ptr) Variable Output
83: 6(int) Constant 58
- 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 82 28 16 83 11 18 82 80(outUV) 42
+ 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 82 28 16 83 11 18 82 80(outUV) 42
90: TypePointer Function 53(fvec3)
94: 6(int) Constant 60
- 92: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 93 54 16 94 11 15 20
+ 92: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 54 16 94 11 15 20
96: TypeArray 53(fvec3) 9
- 97: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 54 9
+ 97: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 54 9
98: TypePointer Input 96
99(inNormal): 98(ptr) Variable Input
- 100: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 101 97 16 94 11 18 101 99(inNormal) 42
+ 100: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 101 97 16 94 11 18 101 99(inNormal) 42
113: 6(int) Constant 61
- 111: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 112 54 16 113 11 15 20
+ 111: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 112 54 16 113 11 15 20
123: TypePointer Output 53(fvec3)
124(outNormal): 123(ptr) Variable Output
127: 6(int) Constant 62
- 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 126 54 16 127 11 18 126 124(outNormal) 42
+ 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 126 54 16 127 11 18 126 124(outNormal) 42
134: TypeVector 24(float) 4
- 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 26 20
+ 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 20
136: TypePointer Function 134(fvec4)
140: 6(int) Constant 65
- 138: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 139 135 16 140 11 15 20
+ 138: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 139 135 16 140 11 15 20
142: TypeArray 24(float) 19
- 143: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 26 19
+ 143: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 26 19
144(gl_PerVertex): TypeStruct 134(fvec4) 24(float) 142 142
147: 6(int) Constant 1756
- 145: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 146 135 16 19 147 11 11 12
+ 145: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 146 135 16 19 147 11 11 12
150: 6(int) Constant 1774
- 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 149 26 16 19 150 11 11 12
+ 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 149 26 16 19 150 11 11 12
153: 6(int) Constant 1817
- 151: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 152 143 16 19 153 11 11 12
- 154: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 152 143 16 19 153 11 11 12
- 155: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 156 19 16 140 11 18 156 11 12 145 148 151 154
+ 151: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 143 16 19 153 11 11 12
+ 154: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 143 16 19 153 11 11 12
+ 155: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 156 19 16 140 11 18 156 11 12 145 148 151 154
157: TypeArray 144(gl_PerVertex) 9
- 158: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 155 9
+ 158: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 155 9
159: TypePointer Input 157
160(gl_in): 159(ptr) Variable Input
- 161: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 162 158 16 140 11 18 162 160(gl_in) 42
+ 161: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 162 158 16 140 11 18 162 160(gl_in) 42
163: TypePointer Input 134(fvec4)
175: 6(int) Constant 66
- 173: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 174 135 16 175 11 15 20
+ 173: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 174 135 16 175 11 15 20
188: 6(int) Constant 67
- 186: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 187 135 16 188 11 15 20
+ 186: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 187 135 16 188 11 15 20
196: TypeImage 24(float) 2D sampled format:Unknown
199: 6(int) Constant 69
- 201: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(Unknown)
- 197: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 198 11 16 199 11 18 200 201 12
+ 201: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
+ 197: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 198 11 16 199 11 18 200 201 12
202: TypeSampledImage 196
- 203: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 204 11 16 199 11 18 205 201 12
+ 203: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 204 11 16 199 11 18 205 201 12
206: TypePointer UniformConstant 202
207(displacementMap): 206(ptr) Variable UniformConstant
- 208: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 209 203 16 199 11 18 209 207(displacementMap) 42
+ 208: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 209 203 16 199 11 18 209 207(displacementMap) 42
212: 24(float) Constant 0
215: TypeMatrix 134(fvec4) 4
217: TypeBool
218: 217(bool) ConstantTrue
- 216: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 135 20 218
+ 216: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 135 20 218
219: TypeArray 134(fvec4) 10
- 220: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 135 10
+ 220: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 135 10
221(UBO): TypeStruct 215 215 134(fvec4) 219 24(float) 24(float) 27(fvec2) 24(float)
224: 6(int) Constant 30
225: 6(int) Constant 7
- 222: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 223 216 16 224 225 11 11 12
- 226: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 223 216 16 224 225 11 11 12
+ 222: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 223 216 16 224 225 11 11 12
+ 226: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 223 216 16 224 225 11 11 12
229: 6(int) Constant 31
- 227: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 228 135 16 229 225 11 11 12
- 230: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 231 220 16 9 225 11 11 12
+ 227: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 228 135 16 229 225 11 11 12
+ 230: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 231 220 16 9 225 11 11 12
234: 6(int) Constant 36
- 232: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 233 26 16 234 42 11 11 12
- 235: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 233 26 16 234 42 11 11 12
+ 232: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 233 26 16 234 42 11 11 12
+ 235: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 233 26 16 234 42 11 11 12
238: 6(int) Constant 35
- 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 237 28 16 238 225 11 11 12
- 239: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 233 26 16 234 42 11 11 12
- 240: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 241 19 16 199 11 18 241 11 12 222 226 227 230 232 235 236 239
+ 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 237 28 16 238 225 11 11 12
+ 239: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 233 26 16 234 42 11 11 12
+ 240: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 241 19 16 199 11 18 241 11 12 222 226 227 230 232 235 236 239
242: TypePointer Uniform 221(UBO)
243(ubo): 242(ptr) Variable Uniform
- 244: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 245 240 16 199 11 18 245 243(ubo) 42
+ 244: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 245 240 16 199 11 18 245 243(ubo) 42
246: 43(int) Constant 4
247: TypePointer Uniform 24(float)
251: TypePointer Function 24(float)
256(gl_PerVertex): TypeStruct 134(fvec4) 24(float) 142 142
258: 6(int) Constant 165
- 257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 146 135 16 19 258 11 11 12
+ 257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 146 135 16 19 258 11 11 12
260: 6(int) Constant 183
- 259: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 149 26 16 19 260 11 11 12
+ 259: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 149 26 16 19 260 11 11 12
262: 6(int) Constant 226
- 261: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 152 143 16 19 262 11 11 12
- 263: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 152 143 16 19 262 11 11 12
+ 261: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 143 16 19 262 11 11 12
+ 263: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 143 16 19 262 11 11 12
265: 6(int) Constant 71
- 264: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 156 19 16 265 11 18 156 11 12 257 259 261 263
+ 264: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 156 19 16 265 11 18 156 11 12 257 259 261 263
266: TypePointer Output 256(gl_PerVertex)
267: 266(ptr) Variable Output
- 268: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 17 264 16 265 11 18 17 267 42
+ 268: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 17 264 16 265 11 18 17 267 42
269: TypePointer Uniform 215
277: TypePointer Output 134(fvec4)
279(outViewVec): 123(ptr) Variable Output
282: 6(int) Constant 74
- 280: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 281 54 16 282 11 18 281 279(outViewVec) 42
+ 280: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 281 54 16 282 11 18 281 279(outViewVec) 42
286(outLightVec): 123(ptr) Variable Output
289: 6(int) Constant 75
- 287: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 288 54 16 289 11 18 288 286(outLightVec) 42
+ 287: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 288 54 16 289 11 18 288 286(outLightVec) 42
290: TypePointer Uniform 134(fvec4)
297(outWorldPos): 123(ptr) Variable Output
300: 6(int) Constant 76
- 298: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 299 54 16 300 11 18 299 297(outWorldPos) 42
+ 298: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 299 54 16 300 11 18 299 297(outWorldPos) 42
303(outEyePos): 123(ptr) Variable Output
306: 6(int) Constant 77
- 304: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 305 54 16 306 11 18 305 303(outEyePos) 42
+ 304: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 305 54 16 306 11 18 305 303(outEyePos) 42
13(main): 3 Function None 4
22: Label
30(uv1): 29(ptr) Variable Function
@@ -290,8 +290,8 @@ Validation failed
137(pos1): 136(ptr) Variable Function
172(pos2): 136(ptr) Variable Function
185(pos): 136(ptr) Variable Function
- 23: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 15 13(main)
- 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 31 30(uv1) 35
+ 23: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 15 13(main)
+ 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 31 30(uv1) 35
48: 47(ptr) AccessChain 39(inUV) 46
49: 27(fvec2) Load 48
51: 47(ptr) AccessChain 39(inUV) 50
@@ -301,7 +301,7 @@ Validation failed
62: 27(fvec2) CompositeConstruct 61 61
63: 27(fvec2) ExtInst 2(GLSL.std.450) 46(FMix) 49 52 62
Store 30(uv1) 63
- 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 65 64(uv2) 35
+ 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 65 64(uv2) 35
70: 47(ptr) AccessChain 39(inUV) 69
71: 27(fvec2) Load 70
73: 47(ptr) AccessChain 39(inUV) 72
@@ -318,7 +318,7 @@ Validation failed
88: 27(fvec2) CompositeConstruct 87 87
89: 27(fvec2) ExtInst 2(GLSL.std.450) 46(FMix) 84 85 88
Store 80(outUV) 89
- 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 92 91(n1) 35
+ 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 91(n1) 35
102: 55(ptr) AccessChain 99(inNormal) 46
103: 53(fvec3) Load 102
104: 55(ptr) AccessChain 99(inNormal) 50
@@ -328,7 +328,7 @@ Validation failed
108: 53(fvec3) CompositeConstruct 107 107 107
109: 53(fvec3) ExtInst 2(GLSL.std.450) 46(FMix) 103 105 108
Store 91(n1) 109
- 114: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 111 110(n2) 35
+ 114: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 111 110(n2) 35
115: 55(ptr) AccessChain 99(inNormal) 69
116: 53(fvec3) Load 115
117: 55(ptr) AccessChain 99(inNormal) 72
@@ -345,7 +345,7 @@ Validation failed
132: 53(fvec3) CompositeConstruct 131 131 131
133: 53(fvec3) ExtInst 2(GLSL.std.450) 46(FMix) 128 129 132
Store 124(outNormal) 133
- 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 138 137(pos1) 35
+ 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 138 137(pos1) 35
164: 163(ptr) AccessChain 160(gl_in) 46 46
165: 134(fvec4) Load 164
166: 163(ptr) AccessChain 160(gl_in) 50 46
@@ -355,7 +355,7 @@ Validation failed
170: 134(fvec4) CompositeConstruct 169 169 169 169
171: 134(fvec4) ExtInst 2(GLSL.std.450) 46(FMix) 165 167 170
Store 137(pos1) 171
- 176: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 173 172(pos2) 35
+ 176: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 173 172(pos2) 35
177: 163(ptr) AccessChain 160(gl_in) 69 46
178: 134(fvec4) Load 177
179: 163(ptr) AccessChain 160(gl_in) 72 46
@@ -365,7 +365,7 @@ Validation failed
183: 134(fvec4) CompositeConstruct 182 182 182 182
184: 134(fvec4) ExtInst 2(GLSL.std.450) 46(FMix) 178 180 183
Store 172(pos2) 184
- 189: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 186 185(pos) 35
+ 189: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 186 185(pos) 35
190: 134(fvec4) Load 137(pos1)
191: 134(fvec4) Load 172(pos2)
192: 59(ptr) AccessChain 56(gl_TessCoord) 19
diff --git a/Test/baseResults/spv.debuginfo.glsl.vert.out b/Test/baseResults/spv.debuginfo.glsl.vert.out
index 9a7bdd62..24025de9 100644
--- a/Test/baseResults/spv.debuginfo.glsl.vert.out
+++ b/Test/baseResults/spv.debuginfo.glsl.vert.out
@@ -1,7 +1,7 @@
spv.debuginfo.glsl.vert
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 374
Capability Shader
@@ -120,76 +120,76 @@ Validation failed
9: 6(int) Constant 32
10: 6(int) Constant 6
11: 6(int) Constant 0
- 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 8 9 10 11
+ 7: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 9 10 11
12: 6(int) Constant 3
- 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 3
- 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 17
+ 5: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 12 3
+ 16: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 17
19: 6(int) Constant 1
20: 6(int) Constant 4
21: 6(int) Constant 2
- 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 19 20 16 21
- 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 14 5 16 11 11 18 14 12 11
+ 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 19 20 16 21
+ 15: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 14 5 16 11 11 18 14 12 11
24: TypeFloat 32
- 26: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 25 9 12 11
+ 26: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 25 9 12 11
27: TypeVector 24(float) 3
- 28: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 26 12
+ 28: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 12
29: TypePointer Output 27(fvec3)
30(outColor): 29(ptr) Variable Output
33: 6(int) Constant 56
34: 6(int) Constant 8
- 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 32 28 16 33 11 18 32 30(outColor) 34
+ 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 32 28 16 33 11 18 32 30(outColor) 34
35: TypePointer Input 27(fvec3)
36(inColor): 35(ptr) Variable Input
- 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 38 28 16 33 11 18 38 36(inColor) 34
+ 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 38 28 16 33 11 18 38 36(inColor) 34
40(outUV): 29(ptr) Variable Output
43: 6(int) Constant 57
- 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 42 28 16 43 11 18 42 40(outUV) 34
+ 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 42 28 16 43 11 18 42 40(outUV) 34
44: TypeVector 24(float) 2
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 26 21
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 21
46: TypePointer Input 44(fvec2)
47(inUV): 46(ptr) Variable Input
- 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 49 45 16 43 11 18 49 47(inUV) 34
+ 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 49 45 16 43 11 18 49 47(inUV) 34
51: TypeInt 32 1
- 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 52 9 20 11
+ 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 52 9 20 11
54: TypePointer Input 51(int)
55(instanceTexIndex): 54(ptr) Variable Input
- 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 57 53 16 43 11 18 57 55(instanceTexIndex) 34
+ 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 57 53 16 43 11 18 57 55(instanceTexIndex) 34
63: TypePointer Function 24(float)
67: 6(int) Constant 62
- 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 66 26 16 67 11 15 20
- 69: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
+ 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 66 26 16 67 11 15 20
+ 69: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
70(instanceRot): 35(ptr) Variable Input
- 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 72 28 16 67 11 18 72 70(instanceRot) 34
+ 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 72 28 16 67 11 18 72 70(instanceRot) 34
73: TypePointer Input 24(float)
76: TypeVector 24(float) 4
- 77: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 26 20
+ 77: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 20
78: TypeMatrix 76(fvec4) 4
80: TypeBool
81: 80(bool) ConstantTrue
- 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 77 20 81
+ 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 77 20 81
82(UBO): TypeStruct 78 78 76(fvec4) 24(float) 24(float)
85: 6(int) Constant 42
86: 6(int) Constant 7
- 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 79 16 85 86 11 11 12
- 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 79 16 85 86 11 11 12
+ 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 79 16 85 86 11 11 12
+ 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 79 16 85 86 11 11 12
90: 6(int) Constant 43
- 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 89 77 16 90 86 11 11 12
+ 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 89 77 16 90 86 11 11 12
93: 6(int) Constant 45
- 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 92 26 16 93 34 11 11 12
- 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 92 26 16 93 34 11 11 12
- 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 96 19 16 67 11 18 96 11 12 83 87 88 91 94
+ 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 92 26 16 93 34 11 11 12
+ 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 92 26 16 93 34 11 11 12
+ 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 96 19 16 67 11 18 96 11 12 83 87 88 91 94
97: TypePointer Uniform 82(UBO)
98(ubo): 97(ptr) Variable Uniform
- 99: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 100 95 16 67 11 18 100 98(ubo) 34
+ 99: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 100 95 16 67 11 18 100 98(ubo) 34
101: 51(int) Constant 3
102: TypePointer Uniform 24(float)
110: 6(int) Constant 63
- 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 109 26 16 110 11 15 20
+ 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 109 26 16 110 11 15 20
118: TypeMatrix 27(fvec3) 3
- 119: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 28 12 81
+ 119: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 28 12 81
120: TypePointer Function 118
124: 6(int) Constant 65
- 122: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 123 119 16 124 11 15 20
+ 122: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 123 119 16 124 11 15 20
126: 51(int) Constant 0
129: 24(float) Constant 0
131: TypePointer Function 27(fvec3)
@@ -198,59 +198,59 @@ Validation failed
140: 24(float) Constant 1065353216
141: 27(fvec3) ConstantComposite 129 129 140
158: 6(int) Constant 73
- 156: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 157 119 16 158 11 15 20
+ 156: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 157 119 16 158 11 15 20
164: 27(fvec3) ConstantComposite 129 140 129
186: 6(int) Constant 81
- 184: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 185 119 16 186 11 15 20
+ 184: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 185 119 16 186 11 15 20
188: 27(fvec3) ConstantComposite 140 129 129
202: 6(int) Constant 85
- 200: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 201 119 16 202 11 15 20
+ 200: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 201 119 16 202 11 15 20
211: 51(int) Constant 4
222: TypePointer Function 78
226: 6(int) Constant 90
- 224: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 225 79 16 226 11 15 20
+ 224: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 225 79 16 226 11 15 20
231: TypePointer Function 76(fvec4)
233: 76(fvec4) ConstantComposite 129 140 129 129
240: 76(fvec4) ConstantComposite 129 129 129 140
245: 6(int) Constant 95
- 243: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 244 77 16 245 11 15 20
+ 243: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 244 77 16 245 11 15 20
247(inPos): 35(ptr) Variable Input
- 248: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 249 28 16 245 11 18 249 247(inPos) 34
+ 248: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 249 28 16 245 11 18 249 247(inPos) 34
260: 6(int) Constant 96
- 258: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 259 77 16 260 11 15 20
+ 258: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 259 77 16 260 11 15 20
264(instanceScale): 73(ptr) Variable Input
- 265: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 266 26 16 260 11 18 266 264(instanceScale) 34
+ 265: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 266 26 16 260 11 18 266 264(instanceScale) 34
269(instancePos): 35(ptr) Variable Input
- 270: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 271 28 16 260 11 18 271 269(instancePos) 34
+ 270: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 271 28 16 260 11 18 271 269(instancePos) 34
278: TypeArray 24(float) 19
- 279: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 26 19
+ 279: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 26 19
280(gl_PerVertex): TypeStruct 76(fvec4) 24(float) 278 278
283: 6(int) Constant 24
- 281: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 282 77 16 19 283 11 11 12
- 284: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 285 26 16 19 85 11 11 12
- 286: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 287 279 16 19 202 11 11 12
- 288: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 287 279 16 19 202 11 11 12
+ 281: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 282 77 16 19 283 11 11 12
+ 284: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 285 26 16 19 85 11 11 12
+ 286: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 287 279 16 19 202 11 11 12
+ 288: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 287 279 16 19 202 11 11 12
291: 6(int) Constant 98
- 289: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 290 19 16 291 11 18 290 11 12 281 284 286 288
+ 289: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 290 19 16 291 11 18 290 11 12 281 284 286 288
292: TypePointer Output 280(gl_PerVertex)
293: 292(ptr) Variable Output
- 294: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 17 289 16 291 11 18 17 293 34
+ 294: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 17 289 16 291 11 18 17 293 34
295: TypePointer Uniform 78
305: TypePointer Output 76(fvec4)
307(outNormal): 29(ptr) Variable Output
310: 6(int) Constant 99
- 308: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 309 28 16 310 11 18 309 307(outNormal) 34
+ 308: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 309 28 16 310 11 18 309 307(outNormal) 34
325(inNormal): 35(ptr) Variable Input
- 326: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 327 28 16 310 11 18 327 325(inNormal) 34
+ 326: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 327 28 16 310 11 18 327 325(inNormal) 34
343: 6(int) Constant 102
- 341: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 342 28 16 343 11 15 20
+ 341: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 342 28 16 343 11 15 20
354: TypePointer Uniform 76(fvec4)
359(outLightVec): 29(ptr) Variable Output
362: 6(int) Constant 103
- 360: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 361 28 16 362 11 18 361 359(outLightVec) 34
+ 360: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 361 28 16 362 11 18 361 359(outLightVec) 34
367(outViewVec): 29(ptr) Variable Output
370: 6(int) Constant 104
- 368: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 369 28 16 370 11 18 369 367(outViewVec) 34
+ 368: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 369 28 16 370 11 18 369 367(outViewVec) 34
13(main): 3 Function None 4
22: Label
64(s): 63(ptr) Variable Function
@@ -263,7 +263,7 @@ Validation failed
242(locPos): 231(ptr) Variable Function
257(pos): 231(ptr) Variable Function
340(lPos): 131(ptr) Variable Function
- 23: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 15 13(main)
+ 23: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 15 13(main)
39: 27(fvec3) Load 36(inColor)
Store 30(outColor) 39
50: 44(fvec2) Load 47(inUV)
@@ -273,7 +273,7 @@ Validation failed
61: 24(float) CompositeExtract 50 1
62: 27(fvec3) CompositeConstruct 60 61 59
Store 40(outUV) 62
- 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 65 64(s) 69
+ 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 65 64(s) 69
74: 73(ptr) AccessChain 70(instanceRot) 11
75: 24(float) Load 74
103: 102(ptr) AccessChain 98(ubo) 101
@@ -281,7 +281,7 @@ Validation failed
105: 24(float) FAdd 75 104
106: 24(float) ExtInst 2(GLSL.std.450) 13(Sin) 105
Store 64(s) 106
- 111: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 108 107(c) 69
+ 111: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 108 107(c) 69
112: 73(ptr) AccessChain 70(instanceRot) 11
113: 24(float) Load 112
114: 102(ptr) AccessChain 98(ubo) 101
@@ -289,7 +289,7 @@ Validation failed
116: 24(float) FAdd 113 115
117: 24(float) ExtInst 2(GLSL.std.450) 14(Cos) 116
Store 107(c) 117
- 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 122 121(mx) 69
+ 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 122 121(mx) 69
127: 24(float) Load 107(c)
128: 24(float) Load 64(s)
130: 27(fvec3) CompositeConstruct 127 128 129
@@ -317,7 +317,7 @@ Validation failed
153: 24(float) FAdd 150 152
154: 24(float) ExtInst 2(GLSL.std.450) 14(Cos) 153
Store 107(c) 154
- 159: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 156 155(my) 69
+ 159: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 156 155(my) 69
160: 24(float) Load 107(c)
161: 24(float) Load 64(s)
162: 27(fvec3) CompositeConstruct 160 129 161
@@ -345,7 +345,7 @@ Validation failed
181: 24(float) FAdd 178 180
182: 24(float) ExtInst 2(GLSL.std.450) 14(Cos) 181
Store 107(c) 182
- 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 184 183(mz) 69
+ 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 184 183(mz) 69
189: 131(ptr) AccessChain 183(mz) 126
Store 189 188
190: 24(float) Load 107(c)
@@ -359,7 +359,7 @@ Validation failed
197: 27(fvec3) CompositeConstruct 129 195 196
198: 131(ptr) AccessChain 183(mz) 139
Store 198 197
- 203: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 200 199(rotMat) 69
+ 203: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 200 199(rotMat) 69
204: 118 Load 183(mz)
205: 118 Load 155(my)
206: 118 MatrixTimesMatrix 204 205
@@ -380,7 +380,7 @@ Validation failed
220: 24(float) FAdd 217 219
221: 24(float) ExtInst 2(GLSL.std.450) 14(Cos) 220
Store 107(c) 221
- 227: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 224 223(gRotMat) 69
+ 227: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 224 223(gRotMat) 69
228: 24(float) Load 107(c)
229: 24(float) Load 64(s)
230: 76(fvec4) CompositeConstruct 228 129 229 129
@@ -396,7 +396,7 @@ Validation failed
Store 239 238
241: 231(ptr) AccessChain 223(gRotMat) 101
Store 241 240
- 246: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 243 242(locPos) 69
+ 246: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 243 242(locPos) 69
250: 27(fvec3) Load 247(inPos)
251: 118 Load 199(rotMat)
252: 27(fvec3) VectorTimesMatrix 250 251
@@ -405,7 +405,7 @@ Validation failed
255: 24(float) CompositeExtract 252 2
256: 76(fvec4) CompositeConstruct 253 254 255 140
Store 242(locPos) 256
- 261: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 258 257(pos) 69
+ 261: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 258 257(pos) 69
262: 76(fvec4) Load 242(locPos)
263: 27(fvec3) VectorShuffle 262 262 0 1 2
267: 24(float) Load 264(instanceScale)
@@ -456,7 +456,7 @@ Validation failed
338: 76(fvec4) CompositeConstruct 335 336 337 140
339: 76(fvec4) MatrixTimesVector 331 338
Store 257(pos) 339
- 344: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 341 340(lPos) 69
+ 344: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 341 340(lPos) 69
345: 295(ptr) AccessChain 98(ubo) 133
346: 78 Load 345
347: 76(fvec4) CompositeExtract 346 0
diff --git a/Test/baseResults/spv.debuginfo.hlsl.comp.out b/Test/baseResults/spv.debuginfo.hlsl.comp.out
index abad608c..593dca9e 100644
--- a/Test/baseResults/spv.debuginfo.hlsl.comp.out
+++ b/Test/baseResults/spv.debuginfo.hlsl.comp.out
@@ -1,7 +1,7 @@
spv.debuginfo.hlsl.comp
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 833
Capability Shader
@@ -169,183 +169,183 @@ Validation failed
13: 10(int) Constant 32
14: 10(int) Constant 6
15: 10(int) Constant 0
- 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 12 13 14 15
+ 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 13 14 15
16: 10(int) Constant 3
- 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 9 13 16 15
+ 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 13 16 15
17: TypeVector 7(float) 3
- 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 16
+ 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 16
19: TypePointer Function 17(fvec3)
20: TypePointer Function 7(float)
21: TypeFunction 17(fvec3) 19(ptr) 19(ptr) 20(ptr)
- 22: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 18 18 18 8
- 29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 30
+ 22: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 18 18 18 8
+ 29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 30
32: 10(int) Constant 1
33: 10(int) Constant 4
34: 10(int) Constant 5
- 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 32 33 29 34
- 28: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 27 22 29 15 15 31 27 16 15
- 38: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 39 18 29 15 15 28 33 32
- 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
+ 31: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 32 33 29 34
+ 28: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 27 22 29 15 15 31 27 16 15
+ 38: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 39 18 29 15 15 28 33 32
+ 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
44: 10(int) Constant 2
- 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 43 18 29 15 15 28 33 44
- 46: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 47 8 29 15 15 28 33 16
+ 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 43 18 29 15 15 28 33 44
+ 46: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 47 8 29 15 15 28 33 16
49: TypeVector 10(int) 3
- 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 11 16
+ 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 11 16
51: TypePointer Function 49(ivec3)
52: TypeFunction 3 51(ptr)
- 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 3 50
- 57: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 56 53 29 15 15 31 56 16 15
- 61: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 62 50 29 15 15 57 33 32
+ 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 3 50
+ 57: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 56 53 29 15 15 31 56 16 15
+ 61: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 62 50 29 15 15 57 33 32
68: 10(int) Constant 76
- 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 67 18 29 68 15 28 33
+ 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 67 18 29 68 15 28 33
75: TypeVector 7(float) 4
- 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 33
+ 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 33
77: TypeInt 32 1
- 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 78 13 33 15
+ 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 78 13 33 15
80: TypeVector 77(int) 2
- 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 79 44
+ 81: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 79 44
82(UBO): TypeStruct 7(float) 7(float) 7(float) 7(float) 7(float) 7(float) 7(float) 7(float) 75(fvec4) 75(fvec4) 80(ivec2)
85: 10(int) Constant 48
86: 10(int) Constant 20
- 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 8 29 85 86 15 15 16
- 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 8 29 85 86 15 15 16
- 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 8 29 85 86 15 15 16
- 89: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 8 29 85 86 15 15 16
- 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 8 29 85 86 15 15 16
- 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 8 29 85 86 15 15 16
- 92: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 8 29 85 86 15 15 16
- 93: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 84 8 29 85 86 15 15 16
+ 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 8 29 85 86 15 15 16
+ 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 8 29 85 86 15 15 16
+ 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 8 29 85 86 15 15 16
+ 89: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 8 29 85 86 15 15 16
+ 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 8 29 85 86 15 15 16
+ 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 8 29 85 86 15 15 16
+ 92: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 8 29 85 86 15 15 16
+ 93: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 8 29 85 86 15 15 16
96: 10(int) Constant 50
97: 10(int) Constant 16
- 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 95 76 29 96 97 15 15 16
- 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 95 76 29 96 97 15 15 16
+ 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 95 76 29 96 97 15 15 16
+ 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 95 76 29 96 97 15 15 16
101: 10(int) Constant 51
- 99: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 100 81 29 101 86 15 15 16
+ 99: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 100 81 29 101 86 15 15 16
104: 10(int) Constant 77
- 102: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 103 32 29 104 15 31 103 15 16 83 87 88 89 90 91 92 93 94 98 99
+ 102: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 103 32 29 104 15 31 103 15 16 83 87 88 89 90 91 92 93 94 98 99
105(ubo): TypeStruct 82(UBO)
108: 10(int) Constant 56
109: 10(int) Constant 12
- 106: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 107 102 29 108 109 15 15 16
- 110: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 111 32 29 104 15 31 111 15 16 106
+ 106: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 107 102 29 108 109 15 15 16
+ 110: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 111 32 29 104 15 31 111 15 16 106
112: TypePointer Uniform 105(ubo)
113: 112(ptr) Variable Uniform
115: 10(int) Constant 8
- 114: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 30 110 29 104 15 31 30 113 115
+ 114: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 30 110 29 104 15 31 30 113 115
116: 77(int) Constant 0
117: 77(int) Constant 2
118: TypePointer Uniform 7(float)
130: TypePointer Function 10(int)
134: 10(int) Constant 83
- 132: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 133 11 29 134 15 57 33
+ 132: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 133 11 29 134 15 57 33
138: 77(int) Constant 10
139: TypePointer Uniform 77(int)
154: TypeBool
- 156: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
+ 156: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
161(Particle): TypeStruct 75(fvec4) 75(fvec4) 75(fvec4) 75(fvec4) 7(float)
164: 10(int) Constant 30
165: 10(int) Constant 15
- 162: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 163 76 29 164 165 15 15 16
- 166: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 163 76 29 164 165 15 15 16
- 167: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 163 76 29 164 165 15 15 16
- 168: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 163 76 29 164 165 15 15 16
+ 162: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 163 76 29 164 165 15 15 16
+ 166: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 163 76 29 164 165 15 15 16
+ 167: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 163 76 29 164 165 15 15 16
+ 168: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 163 76 29 164 165 15 15 16
171: 10(int) Constant 31
172: 10(int) Constant 14
- 169: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 170 8 29 171 172 15 15 16
+ 169: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 170 8 29 171 172 15 15 16
175: 10(int) Constant 88
- 173: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 174 32 29 175 15 31 174 15 16 162 166 167 168 169
+ 173: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 32 29 175 15 31 174 15 16 162 166 167 168 169
176: TypeRuntimeArray 161(Particle)
- 177: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 173 15
+ 177: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 173 15
178(particleIn): TypeStruct 176
181: 10(int) Constant 35
182: 10(int) Constant 28
- 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 180 177 29 181 182 15 15 16
- 183: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 184 32 29 175 15 31 184 15 16 179
+ 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 177 29 181 182 15 15 16
+ 183: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 184 32 29 175 15 31 184 15 16 179
185: TypePointer Uniform 178(particleIn)
186(particleIn): 185(ptr) Variable Uniform
- 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 184 183 29 175 15 31 184 186(particleIn) 115
+ 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 184 183 29 175 15 31 184 186(particleIn) 115
189: 77(int) Constant 4
192: 7(float) Constant 1065353216
- 193: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
+ 193: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
197: TypeRuntimeArray 161(Particle)
- 198: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 173 15
+ 198: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 173 15
199(particleOut): TypeStruct 197
201: 10(int) Constant 37
- 200: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 180 198 29 201 164 15 15 16
+ 200: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 198 29 201 164 15 15 16
204: 10(int) Constant 89
- 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 203 32 29 204 15 31 203 15 16 200
+ 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 203 32 29 204 15 31 203 15 16 200
205: TypePointer Uniform 199(particleOut)
206(particleOut): 205(ptr) Variable Uniform
- 207: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 203 202 29 204 15 31 203 206(particleOut) 115
+ 207: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 203 202 29 204 15 31 203 206(particleOut) 115
210: TypePointer Uniform 75(fvec4)
215: 77(int) Constant 1
216: 7(float) Constant 0
217: 75(fvec4) ConstantComposite 216 216 216 216
223: 10(int) Constant 95
- 221: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 222 18 29 223 15 57 33
+ 221: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 222 18 29 223 15 57 33
225: 77(int) Constant 9
235: 10(int) Constant 97
- 233: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 234 18 29 235 15 57 33
+ 233: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 234 18 29 235 15 57 33
244: 10(int) Constant 98
- 242: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 243 18 29 244 15 57 33
- 252: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 276: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 300: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
+ 242: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 243 18 29 244 15 57 33
+ 252: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 276: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 300: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
309: 77(int) Constant 5
- 324: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 347: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 355: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 357: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
+ 324: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 347: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 355: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 357: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
367: 77(int) Constant 6
- 382: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 386: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 388: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 416: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 424: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 426: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 454: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 458: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 460: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
+ 382: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 386: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 388: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 416: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 424: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 426: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 454: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 458: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 460: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
482: 77(int) Constant 3
493: 10(int) Constant 137
- 491: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 492 18 29 493 15 57 33
+ 491: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 492 18 29 493 15 57 33
507: 7(float) Constant 1056964608
537: 10(int) Constant 142
- 535: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 536 18 29 537 15 57 33
+ 535: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 536 18 29 537 15 57 33
543: 77(int) Constant 8
550: 77(int) Constant 7
553: 7(float) Constant 1008981770
- 555: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
+ 555: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
578(PushConstants): TypeStruct 10(int)
581: 10(int) Constant 67
582: 10(int) Constant 23
- 579: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 580 11 29 581 582 15 15 16
+ 579: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 580 11 29 581 582 15 15 16
585: 10(int) Constant 151
- 583: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 584 32 29 585 15 31 584 15 16 579
+ 583: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 584 32 29 585 15 31 584 15 16 579
586($Global): TypeStruct 578(PushConstants)
589: 10(int) Constant 71
- 587: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 588 583 29 589 165 15 15 16
- 590: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 591 32 29 585 15 31 591 15 16 587
+ 587: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 588 583 29 589 165 15 15 16
+ 590: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 591 32 29 585 15 31 591 15 16 587
592: TypePointer Uniform 586($Global)
593: 592(ptr) Variable Uniform
- 594: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 30 590 29 585 15 31 30 593 115
+ 594: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 30 590 29 585 15 31 30 593 115
595: TypePointer Uniform 10(int)
- 598: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
+ 598: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
604: 10(int) Constant 152
- 603: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 163 18 29 604 15 57 33
+ 603: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 163 18 29 604 15 57 33
606: 17(fvec3) ConstantComposite 216 216 216
- 609: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 615: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
+ 609: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 615: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
622: 10(int) Constant 156
- 620: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 621 18 29 622 15 57 33
+ 620: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 621 18 29 622 15 57 33
634: 10(int) Constant 157
- 632: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 633 18 29 634 15 57 33
+ 632: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 633 18 29 634 15 57 33
650: 10(int) Constant 158
- 648: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 649 18 29 650 15 57 33
- 677: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 724: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 730: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
- 777: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 155 13 44 15
+ 648: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 649 18 29 650 15 57 33
+ 677: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 724: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 730: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
+ 777: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 155 13 44 15
827: TypePointer Input 49(ivec3)
828(id): 827(ptr) Variable Input
5(main): 3 Function None 4
@@ -365,13 +365,13 @@ Validation failed
25(restDist): 20(ptr) FunctionParameter
35: Label
65(dist): 19(ptr) Variable Function
- 36: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 28
- 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 29 15 15 15 15
- 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 38 23(p0) 41
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 42 24(p1) 41
- 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 46 25(restDist) 41
- 64: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 28 26(springForce(vf3;vf3;f1;)
- 69: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 66 65(dist) 41
+ 36: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 28
+ 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 29 15 15 15 15
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 38 23(p0) 41
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 42 24(p1) 41
+ 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 25(restDist) 41
+ 64: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 28 26(springForce(vf3;vf3;f1;)
+ 69: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 66 65(dist) 41
70: 17(fvec3) Load 23(p0)
71: 17(fvec3) Load 24(p1)
72: 17(fvec3) FSub 70 71
@@ -425,11 +425,11 @@ Validation failed
619(a): 19(ptr) Variable Function
631(b): 19(ptr) Variable Function
647(c): 19(ptr) Variable Function
- 59: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 57
- 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 29 15 15 15 15
- 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 61 54(id) 41
- 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 57 55(@main(vu3;)
- 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 132 131(index) 41
+ 59: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 57
+ 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 29 15 15 15 15
+ 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 61 54(id) 41
+ 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 57 55(@main(vu3;)
+ 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 132 131(index) 41
136: 130(ptr) AccessChain 54(id) 32
137: 10(int) Load 136
140: 139(ptr) AccessChain 113 116 138 15
@@ -471,7 +471,7 @@ Validation failed
Store 218 217
Return
196: Label
- 224: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 221 220(force) 41
+ 224: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 221 220(force) 41
226: 210(ptr) AccessChain 113 116 225
227: 75(fvec4) Load 226
228: 17(fvec3) VectorShuffle 227 227 0 1 2
@@ -479,13 +479,13 @@ Validation failed
230: 7(float) Load 229
231: 17(fvec3) VectorTimesScalar 228 230
Store 220(force) 231
- 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 233 232(pos) 41
+ 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 233 232(pos) 41
237: 10(int) Load 131(index)
238: 210(ptr) AccessChain 186(particleIn) 116 237 116
239: 75(fvec4) Load 238
240: 17(fvec3) VectorShuffle 239 239 0 1 2
Store 232(pos) 240
- 245: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 242 241(vel) 41
+ 245: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 242 241(vel) 41
246: 10(int) Load 131(index)
247: 210(ptr) AccessChain 186(particleIn) 116 246 215
248: 75(fvec4) Load 247
@@ -745,7 +745,7 @@ Validation failed
488: 17(fvec3) Load 220(force)
489: 17(fvec3) FAdd 488 487
Store 220(force) 489
- 494: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 491 490(f) 41
+ 494: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 491 490(f) 41
495: 17(fvec3) Load 220(force)
496: 118(ptr) AccessChain 113 116 215
497: 7(float) Load 496
@@ -787,7 +787,7 @@ Validation failed
532: 75(fvec4) CompositeConstruct 529 530 531 216
533: 210(ptr) AccessChain 206(particleOut) 116 522 215
Store 533 532
- 538: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 535 534(sphereDist) 41
+ 538: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 535 534(sphereDist) 41
539: 10(int) Load 131(index)
540: 210(ptr) AccessChain 206(particleOut) 116 539 116
541: 75(fvec4) Load 540
@@ -837,7 +837,7 @@ Validation failed
SelectionMerge 601 None
BranchConditional 599 600 601
600: Label
- 605: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 603 602(normal) 41
+ 605: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 603 602(normal) 41
Store 602(normal) 606
607: 130(ptr) AccessChain 54(id) 32
608: 10(int) Load 607
@@ -851,7 +851,7 @@ Validation failed
SelectionMerge 618 None
BranchConditional 616 617 618
617: Label
- 623: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 620 619(a) 41
+ 623: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 620 619(a) 41
624: 10(int) Load 131(index)
625: 10(int) ISub 624 32
626: 210(ptr) AccessChain 186(particleIn) 116 625 116
@@ -860,7 +860,7 @@ Validation failed
629: 17(fvec3) Load 232(pos)
630: 17(fvec3) FSub 628 629
Store 619(a) 630
- 635: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 632 631(b) 41
+ 635: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 632 631(b) 41
636: 10(int) Load 131(index)
637: 139(ptr) AccessChain 113 116 138 15
638: 77(int) Load 637
@@ -873,7 +873,7 @@ Validation failed
645: 17(fvec3) Load 232(pos)
646: 17(fvec3) FSub 644 645
Store 631(b) 646
- 651: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 648 647(c) 41
+ 651: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 648 647(c) 41
652: 10(int) Load 131(index)
653: 139(ptr) AccessChain 113 116 138 15
654: 77(int) Load 653
diff --git a/Test/baseResults/spv.debuginfo.hlsl.frag.out b/Test/baseResults/spv.debuginfo.hlsl.frag.out
index a008da8d..2d8cc162 100644
--- a/Test/baseResults/spv.debuginfo.hlsl.frag.out
+++ b/Test/baseResults/spv.debuginfo.hlsl.frag.out
@@ -1,7 +1,7 @@
spv.debuginfo.hlsl.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 743
Capability Shader
@@ -208,230 +208,230 @@ Validation failed
13: 10(int) Constant 32
14: 10(int) Constant 6
15: 10(int) Constant 0
- 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 12 13 14 15
+ 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 13 14 15
16: 10(int) Constant 3
- 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 9 13 16 15
+ 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 13 16 15
17: TypeVector 7(float) 4
18: 10(int) Constant 4
- 19: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 18
+ 19: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 18
20: TypePointer Function 17(fvec4)
21: TypePointer Function 7(float)
22: TypeVector 7(float) 2
23: 10(int) Constant 2
- 24: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 23
+ 24: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 23
25: TypePointer Function 22(fvec2)
26: TypeFunction 7(float) 20(ptr) 21(ptr) 25(ptr)
- 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 8 19 8 24
- 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 35
+ 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 8 19 8 24
+ 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 35
37: 10(int) Constant 1
38: 10(int) Constant 5
- 36: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 37 18 34 38
- 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 32 27 34 15 15 36 32 16 15
- 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 43 19 34 15 15 33 18 37
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
- 46: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 47 8 34 15 15 33 18 23
- 49: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 50 24 34 15 15 33 18 16
+ 36: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 18 34 38
+ 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 32 27 34 15 15 36 32 16 15
+ 42: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 43 19 34 15 15 33 18 37
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
+ 46: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 47 8 34 15 15 33 18 23
+ 49: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 50 24 34 15 15 33 18 16
52: TypeFunction 7(float) 20(ptr) 21(ptr)
- 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 8 19 8
- 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 57 53 34 15 15 36 57 16 15
- 62: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 63 19 34 15 15 58 18 37
- 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 47 8 34 15 15 58 18 23
+ 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 8 19 8
+ 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 57 53 34 15 15 36 57 16 15
+ 62: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 63 19 34 15 15 58 18 37
+ 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 47 8 34 15 15 58 18 23
67: TypeVector 7(float) 3
- 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 16
+ 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 16
69: TypePointer Function 67(fvec3)
70: TypeFunction 67(fvec3) 69(ptr) 69(ptr)
- 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 68 68 68
- 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 75 71 34 15 15 36 75 16 15
- 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 81 68 34 15 15 76 18 37
- 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 84 68 34 15 15 76 18 23
+ 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 68 68 68
+ 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 75 71 34 15 15 36 75 16 15
+ 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 81 68 34 15 15 76 18 37
+ 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 68 34 15 15 76 18 23
86: TypeFunction 17(fvec4) 25(ptr)
- 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 19 24
- 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 90 87 34 15 15 36 90 16 15
- 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 96 24 34 15 15 91 18 37
+ 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 19 24
+ 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 90 87 34 15 15 36 90 16 15
+ 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 96 24 34 15 15 91 18 37
101: 10(int) Constant 62
- 100: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 75 8 34 101 15 33 18
+ 100: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 75 8 34 101 15 33 18
103: 7(float) Constant 1065353216
107: 10(int) Constant 63
- 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 106 19 34 107 15 33 18
+ 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 106 19 34 107 15 33 18
116: 7(float) Constant 1056964608
126: 7(float) Constant 3212836864
127: TypeBool
- 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
- 133: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
- 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
+ 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
+ 133: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
+ 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
142: 10(int) Constant 68
- 140: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 141 8 34 142 15 33 18
+ 140: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 8 34 142 15 33 18
144: TypeImage 7(float) 2D array sampled format:Unknown
- 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(Unknown)
- 145: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 146 15 34 142 15 36 147 148 16
+ 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
+ 145: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 146 15 34 142 15 36 147 148 16
149: TypePointer UniformConstant 144
150(textureShadowMap): 149(ptr) Variable UniformConstant
153: 10(int) Constant 8
- 151: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 152 145 34 142 15 36 152 150(textureShadowMap) 153
+ 151: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 152 145 34 142 15 36 152 150(textureShadowMap) 153
155: TypeSampler
- 156: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 157 37 34 142 15 36 158 148 16
+ 156: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 157 37 34 142 15 36 158 148 16
159: TypePointer UniformConstant 155
160(samplerShadowMap): 159(ptr) Variable UniformConstant
- 161: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 162 156 34 142 15 36 162 160(samplerShadowMap) 153
+ 161: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 162 156 34 142 15 36 162 160(samplerShadowMap) 153
164: TypeSampledImage 144
- 165: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 166 15 34 142 15 36 167 148 16
+ 165: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 166 15 34 142 15 36 167 148 16
181: 7(float) Constant 0
- 182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
- 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
- 189: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
+ 182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
+ 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
+ 189: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
193: 7(float) Constant 1048576000
198: TypeVector 10(int) 3
- 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 11 16
+ 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 11 16
200: TypePointer Function 198(ivec3)
204: 10(int) Constant 80
- 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 203 199 34 204 15 58 18
+ 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 203 199 34 204 15 58 18
208: TypeInt 32 1
- 210: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 209 13 18 15
+ 210: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 209 13 18 15
211: TypeVector 208(int) 2
- 212: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 210 23
+ 212: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 210 23
213: TypePointer Function 211(ivec2)
- 215: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 216 212 34 204 15 58 18
+ 215: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 216 212 34 204 15 58 18
218: TypePointer Function 10(int)
222: TypePointer Function 208(int)
- 229: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 230 210 34 204 15 58 18
- 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 237 210 34 204 15 58 18
+ 229: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 230 210 34 204 15 58 18
+ 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 210 34 204 15 58 18
245: 10(int) Constant 81
- 243: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 244 8 34 245 15 58 18
+ 243: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 244 8 34 245 15 58 18
247: 7(float) Constant 1069547520
251: 10(int) Constant 82
- 249: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 250 8 34 251 15 58 18
+ 249: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 250 8 34 251 15 58 18
262: 10(int) Constant 83
- 260: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 261 8 34 262 15 58 18
+ 260: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 261 8 34 262 15 58 18
273: 10(int) Constant 85
- 271: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 272 8 34 273 15 58 18
+ 271: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 272 8 34 273 15 58 18
278: 10(int) Constant 86
- 276: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 277 210 34 278 15 58 18
+ 276: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 277 210 34 278 15 58 18
280: 208(int) Constant 0
284: 10(int) Constant 87
- 282: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 283 210 34 284 15 58 18
+ 282: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 283 210 34 284 15 58 18
286: 208(int) Constant 1
290: 10(int) Constant 89
- 288: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 289 210 34 290 15 58 18
- 301: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
+ 288: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 289 210 34 290 15 58 18
+ 301: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
306: 10(int) Constant 91
- 304: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 305 210 34 306 15 58 18
- 317: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
+ 304: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 305 210 34 306 15 58 18
+ 317: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
352: 10(int) Constant 102
- 350: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 351 210 34 352 15 76 18
+ 350: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 351 210 34 352 15 76 18
360: 208(int) Constant 3
- 361: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
+ 361: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
366: 10(int) Constant 104
- 364: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 365 19 34 366 15 76 18
+ 364: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 365 19 34 366 15 76 18
373: TypeMatrix 17(fvec4) 4
375: 127(bool) ConstantTrue
- 374: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 19 18 375
+ 374: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 19 18 375
376(Light): TypeStruct 17(fvec4) 17(fvec4) 17(fvec4) 373
379: 10(int) Constant 46
380: 10(int) Constant 14
- 377: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 378 19 34 379 380 15 15 16
- 381: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 378 19 34 379 380 15 15 16
- 382: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 378 19 34 379 380 15 15 16
+ 377: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 378 19 34 379 380 15 15 16
+ 381: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 378 19 34 379 380 15 15 16
+ 382: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 378 19 34 379 380 15 15 16
385: 10(int) Constant 47
386: 10(int) Constant 21
- 383: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 384 374 34 385 386 15 15 16
- 387: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 388 37 34 366 15 36 388 15 16 377 381 382 383
+ 383: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 384 374 34 385 386 15 15 16
+ 387: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 388 37 34 366 15 36 388 15 16 377 381 382 383
389: TypeArray 376(Light) 16
- 390: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 387 16
+ 390: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 387 16
391(UBO): TypeStruct 17(fvec4) 389 208(int) 208(int)
- 392: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 378 19 34 379 380 15 15 16
+ 392: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 378 19 34 379 380 15 15 16
395: 10(int) Constant 53
- 393: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 394 390 34 395 380 15 15 16
+ 393: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 394 390 34 395 380 15 15 16
398: 10(int) Constant 55
399: 10(int) Constant 24
- 396: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 397 210 34 398 399 15 15 16
- 400: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 397 210 34 398 399 15 15 16
- 401: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 402 37 34 366 15 36 402 15 16 392 393 396 400
+ 396: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 397 210 34 398 399 15 15 16
+ 400: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 397 210 34 398 399 15 15 16
+ 401: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 402 37 34 366 15 36 402 15 16 392 393 396 400
403(ubo): TypeStruct 391(UBO)
406: 10(int) Constant 58
407: 10(int) Constant 37
- 404: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 405 401 34 406 407 15 15 16
- 408: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 405 37 34 366 15 36 405 15 16 404
+ 404: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 405 401 34 406 407 15 15 16
+ 408: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 405 37 34 366 15 36 405 15 16 404
409: TypePointer Uniform 403(ubo)
410: 409(ptr) Variable Uniform
- 411: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 35 408 34 366 15 36 35 410 153
+ 411: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 35 408 34 366 15 36 35 410 153
413: TypePointer Uniform 373
419: 10(int) Constant 108
- 418: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 272 8 34 419 15 76 18
+ 418: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 272 8 34 419 15 76 18
438: 10(int) Constant 121
- 437: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 84 68 34 438 15 91 18
+ 437: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 68 34 438 15 91 18
440: TypeImage 7(float) 2D sampled format:Unknown
- 441: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 146 15 34 438 15 36 147 148 16
+ 441: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 146 15 34 438 15 36 147 148 16
442: TypePointer UniformConstant 440
443(textureposition): 442(ptr) Variable UniformConstant
- 444: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 445 441 34 438 15 36 445 443(textureposition) 153
- 447: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 157 37 34 438 15 36 158 148 16
+ 444: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 445 441 34 438 15 36 445 443(textureposition) 153
+ 447: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 157 37 34 438 15 36 158 148 16
448(samplerposition): 159(ptr) Variable UniformConstant
- 449: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 450 447 34 438 15 36 450 448(samplerposition) 153
+ 449: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 450 447 34 438 15 36 450 448(samplerposition) 153
452: TypeSampledImage 440
- 453: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 166 15 34 438 15 36 167 148 16
+ 453: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 166 15 34 438 15 36 167 148 16
461: 10(int) Constant 122
- 459: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 460 68 34 461 15 91 18
+ 459: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 460 68 34 461 15 91 18
463(textureNormal): 442(ptr) Variable UniformConstant
- 464: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 465 441 34 461 15 36 465 463(textureNormal) 153
- 467: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 157 37 34 461 15 36 158 148 16
+ 464: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 465 441 34 461 15 36 465 463(textureNormal) 153
+ 467: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 157 37 34 461 15 36 158 148 16
468(samplerNormal): 159(ptr) Variable UniformConstant
- 469: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 470 467 34 461 15 36 470 468(samplerNormal) 153
+ 469: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 470 467 34 461 15 36 470 468(samplerNormal) 153
479: 10(int) Constant 123
- 477: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 478 19 34 479 15 91 18
+ 477: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 478 19 34 479 15 91 18
481(textureAlbedo): 442(ptr) Variable UniformConstant
- 482: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 483 441 34 479 15 36 483 481(textureAlbedo) 153
- 485: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 157 37 34 479 15 36 158 148 16
+ 482: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 483 441 34 479 15 36 483 481(textureAlbedo) 153
+ 485: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 157 37 34 479 15 36 158 148 16
486(samplerAlbedo): 159(ptr) Variable UniformConstant
- 487: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 488 485 34 479 15 36 488 486(samplerAlbedo) 153
+ 487: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 488 485 34 479 15 36 488 486(samplerAlbedo) 153
493: TypePointer Uniform 208(int)
- 496: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
+ 496: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
510: 10(int) Constant 131
- 509: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 81 68 34 510 15 91 18
+ 509: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 81 68 34 510 15 91 18
512: 67(fvec3) ConstantComposite 103 103 103
537: 7(float) Constant 1036831949
542: 10(int) Constant 152
- 540: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 541 68 34 542 15 91 18
+ 540: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 541 68 34 542 15 91 18
548: 10(int) Constant 154
- 547: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 351 210 34 548 15 91 18
- 556: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
+ 547: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 351 210 34 548 15 91 18
+ 556: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
561: 10(int) Constant 157
- 559: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 560 68 34 561 15 91 18
+ 559: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 560 68 34 561 15 91 18
564: TypePointer Uniform 17(fvec4)
572: 10(int) Constant 159
- 571: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 141 8 34 572 15 91 18
+ 571: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 8 34 572 15 91 18
581: 10(int) Constant 163
- 579: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 580 68 34 581 15 91 18
+ 579: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 580 68 34 581 15 91 18
593: 10(int) Constant 166
- 591: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 592 8 34 593 15 91 18
+ 591: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 592 8 34 593 15 91 18
595: 7(float) Constant 1064781546
599: 10(int) Constant 167
- 597: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 598 8 34 599 15 91 18
+ 597: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 598 8 34 599 15 91 18
601: 7(float) Constant 1063781322
605: 10(int) Constant 168
- 603: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 604 8 34 605 15 91 18
+ 603: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 604 8 34 605 15 91 18
607: 7(float) Constant 1120403456
611: 10(int) Constant 171
- 609: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 610 68 34 611 15 91 18
+ 609: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 610 68 34 611 15 91 18
626: 10(int) Constant 174
- 624: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 625 8 34 626 15 91 18
+ 624: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 625 8 34 626 15 91 18
634: 10(int) Constant 175
- 632: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 633 8 34 634 15 91 18
+ 632: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 633 8 34 634 15 91 18
643: 10(int) Constant 176
- 641: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 642 8 34 643 15 91 18
+ 641: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 642 8 34 643 15 91 18
651: 10(int) Constant 179
- 649: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 650 8 34 651 15 91 18
+ 649: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 650 8 34 651 15 91 18
660: 10(int) Constant 180
- 658: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 659 68 34 660 15 91 18
+ 658: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 659 68 34 660 15 91 18
667: 10(int) Constant 183
- 665: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 666 68 34 667 15 91 18
+ 665: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 666 68 34 667 15 91 18
676: 10(int) Constant 184
- 674: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 675 8 34 676 15 91 18
+ 674: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 675 8 34 676 15 91 18
685: 10(int) Constant 185
- 683: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 684 68 34 685 15 91 18
+ 683: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 684 68 34 685 15 91 18
688: 7(float) Constant 1098907648
693: 7(float) Constant 1075838976
704: 208(int) Constant 2
- 718: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 128 13 23 15
+ 718: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 128 13 23 15
735: TypePointer Input 22(fvec2)
736(inUV): 735(ptr) Variable Input
738: TypePointer Output 17(fvec4)
@@ -456,15 +456,15 @@ Validation failed
99(shadow): 21(ptr) Variable Function
104(shadowCoord): 20(ptr) Variable Function
139(dist): 21(ptr) Variable Function
- 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 33
- 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 34 15 15 15 15
- 44: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 42 28(P) 45
- 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 46 29(layer) 45
- 51: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 49 30(offset) 45
- 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 33 31(textureProj(vf4;f1;vf2;)
- 102: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 100 99(shadow) 45
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 33
+ 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 15 15 15 15
+ 44: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 42 28(P) 45
+ 48: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 29(layer) 45
+ 51: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 49 30(offset) 45
+ 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 33 31(textureProj(vf4;f1;vf2;)
+ 102: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 100 99(shadow) 45
Store 99(shadow) 103
- 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 105 104(shadowCoord) 45
+ 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 105 104(shadowCoord) 45
109: 17(fvec4) Load 28(P)
110: 21(ptr) AccessChain 28(P) 16
111: 7(float) Load 110
@@ -492,7 +492,7 @@ Validation failed
SelectionMerge 138 None
BranchConditional 136 137 138
137: Label
- 143: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 140 139(dist) 45
+ 143: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 140 139(dist) 45
154: 144 Load 150(textureShadowMap)
163: 155 Load 160(samplerShadowMap)
168: 164 SampledImage 154 163
@@ -545,16 +545,16 @@ Validation failed
328(param): 20(ptr) Variable Function
330(param): 21(ptr) Variable Function
332(param): 25(ptr) Variable Function
- 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 58
- 61: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 34 15 15 15 15
- 64: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 62 54(sc) 45
- 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 65 55(layer) 45
- 197: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 58 56(filterPCF(vf4;f1;)
- 205: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 202 201(sizeQueryTemp) 45
+ 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58
+ 61: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 15 15 15 15
+ 64: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 62 54(sc) 45
+ 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 65 55(layer) 45
+ 197: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 56(filterPCF(vf4;f1;)
+ 205: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 202 201(sizeQueryTemp) 45
206: 144 Load 150(textureShadowMap)
207: 198(ivec3) ImageQuerySizeLod 206 15
Store 201(sizeQueryTemp) 207
- 217: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 215 214(texDim) 45
+ 217: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 215 214(texDim) 45
219: 218(ptr) AccessChain 201(sizeQueryTemp) 15
220: 10(int) Load 219
221: 208(int) Bitcast 220
@@ -565,19 +565,19 @@ Validation failed
226: 208(int) Bitcast 225
227: 222(ptr) AccessChain 214(texDim) 37
Store 227 226
- 231: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 229 228(elements) 45
+ 231: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 229 228(elements) 45
232: 218(ptr) AccessChain 201(sizeQueryTemp) 23
233: 10(int) Load 232
234: 208(int) Bitcast 233
Store 228(elements) 234
- 238: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 236 235(levels) 45
+ 238: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(levels) 45
239: 144 Load 150(textureShadowMap)
240: 10(int) ImageQueryLevels 239
241: 208(int) Bitcast 240
Store 235(levels) 241
- 246: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 243 242(scale) 45
+ 246: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 243 242(scale) 45
Store 242(scale) 247
- 252: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 249 248(dx) 45
+ 252: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 249 248(dx) 45
253: 7(float) Load 242(scale)
254: 7(float) FMul 253 103
255: 222(ptr) AccessChain 214(texDim) 15
@@ -585,7 +585,7 @@ Validation failed
257: 7(float) ConvertSToF 256
258: 7(float) FDiv 254 257
Store 248(dx) 258
- 263: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 260 259(dy) 45
+ 263: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 260 259(dy) 45
264: 7(float) Load 242(scale)
265: 7(float) FMul 264 103
266: 222(ptr) AccessChain 214(texDim) 37
@@ -593,13 +593,13 @@ Validation failed
268: 7(float) ConvertSToF 267
269: 7(float) FDiv 265 268
Store 259(dy) 269
- 274: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 271 270(shadowFactor) 45
+ 274: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 271 270(shadowFactor) 45
Store 270(shadowFactor) 181
- 279: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 276 275(count) 45
+ 279: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 276 275(count) 45
Store 275(count) 280
- 285: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 282 281(range) 45
+ 285: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 282 281(range) 45
Store 281(range) 286
- 291: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 288 287(x) 45
+ 291: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 288 287(x) 45
292: 208(int) Load 281(range)
293: 208(int) SNegate 292
Store 287(x) 293
@@ -613,7 +613,7 @@ Validation failed
302: 127(bool) SLessThanEqual 299 300
BranchConditional 302 295 296
295: Label
- 307: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 304 303(y) 45
+ 307: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 304 303(y) 45
308: 208(int) Load 281(range)
309: 208(int) SNegate 308
Store 303(y) 309
@@ -677,12 +677,12 @@ Validation failed
417(shadowFactor): 21(ptr) Variable Function
423(param): 20(ptr) Variable Function
425(param): 21(ptr) Variable Function
- 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 76
- 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 34 15 15 15 15
- 82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 80 72(fragcolor) 45
- 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 83 73(fragPos) 45
- 348: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 76 74(shadow(vf3;vf3;)
- 353: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 350 349(i) 45
+ 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 76
+ 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 15 15 15 15
+ 82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 80 72(fragcolor) 45
+ 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 83 73(fragPos) 45
+ 348: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 76 74(shadow(vf3;vf3;)
+ 353: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 350 349(i) 45
Store 349(i) 280
Branch 354
354: Label
@@ -693,7 +693,7 @@ Validation failed
362: 127(bool) SLessThan 359 360
BranchConditional 362 355 356
355: Label
- 367: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 364 363(shadowClip) 45
+ 367: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 364 363(shadowClip) 45
368: 67(fvec3) Load 73(fragPos)
369: 7(float) CompositeExtract 368 0
370: 7(float) CompositeExtract 368 1
@@ -704,7 +704,7 @@ Validation failed
415: 373 Load 414
416: 17(fvec4) VectorTimesMatrix 372 415
Store 363(shadowClip) 416
- 420: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 418 417(shadowFactor) 45
+ 420: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 418 417(shadowFactor) 45
421: 208(int) Load 349(i)
422: 7(float) ConvertSToF 421
424: 17(fvec4) Load 363(shadowClip)
@@ -754,11 +754,11 @@ Validation failed
682(spec): 69(ptr) Variable Function
722(param): 69(ptr) Variable Function
724(param): 69(ptr) Variable Function
- 93: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 91
- 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 34 15 15 15 15
- 97: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 95 88(inUV) 45
- 435: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 91 89(@main(vf2;)
- 439: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 437 436(fragPos) 45
+ 93: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 91
+ 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 15 15 15 15
+ 97: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 95 88(inUV) 45
+ 435: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 91 89(@main(vf2;)
+ 439: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 437 436(fragPos) 45
446: 440 Load 443(textureposition)
451: 155 Load 448(samplerposition)
454: 452 SampledImage 446 451
@@ -766,7 +766,7 @@ Validation failed
456: 17(fvec4) ImageSampleImplicitLod 454 455
457: 67(fvec3) VectorShuffle 456 456 0 1 2
Store 436(fragPos) 457
- 462: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 459 458(normal) 45
+ 462: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 459 458(normal) 45
466: 440 Load 463(textureNormal)
471: 155 Load 468(samplerNormal)
472: 452 SampledImage 466 471
@@ -774,7 +774,7 @@ Validation failed
474: 17(fvec4) ImageSampleImplicitLod 472 473
475: 67(fvec3) VectorShuffle 474 474 0 1 2
Store 458(normal) 475
- 480: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 477 476(albedo) 45
+ 480: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 477 476(albedo) 45
484: 440 Load 481(textureAlbedo)
489: 155 Load 486(samplerAlbedo)
490: 452 SampledImage 484 489
@@ -797,7 +797,7 @@ Validation failed
case 4: 505
case 5: 506
502: Label
- 511: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 509 508(fragcolor) 45
+ 511: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 509 508(fragcolor) 45
Store 513(param) 512
515: 67(fvec3) Load 436(fragPos)
Store 514(param) 515
@@ -834,11 +834,11 @@ Validation failed
536: 67(fvec3) VectorShuffle 535 535 0 1 2
538: 67(fvec3) VectorTimesScalar 536 537
Store 508(fragcolor) 538
- 543: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 540 539(N) 45
+ 543: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 540 539(N) 45
544: 67(fvec3) Load 458(normal)
545: 67(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 544
Store 539(N) 545
- 549: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 547 546(i) 45
+ 549: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 547 546(i) 45
Store 546(i) 280
Branch 550
550: Label
@@ -849,7 +849,7 @@ Validation failed
557: 127(bool) SLessThan 555 360
BranchConditional 557 551 552
551: Label
- 562: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 559 558(L) 45
+ 562: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 559 558(L) 45
563: 208(int) Load 546(i)
565: 564(ptr) AccessChain 410 280 286 563 280
566: 17(fvec4) Load 565
@@ -857,14 +857,14 @@ Validation failed
568: 67(fvec3) Load 436(fragPos)
569: 67(fvec3) FSub 567 568
Store 558(L) 569
- 573: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 571 570(dist) 45
+ 573: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 571 570(dist) 45
574: 67(fvec3) Load 558(L)
575: 7(float) ExtInst 2(GLSL.std.450) 66(Length) 574
Store 570(dist) 575
576: 67(fvec3) Load 558(L)
577: 67(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 576
Store 558(L) 577
- 582: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 579 578(V) 45
+ 582: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 579 578(V) 45
583: 564(ptr) AccessChain 410 280 280
584: 17(fvec4) Load 583
585: 67(fvec3) VectorShuffle 584 584 0 1 2
@@ -874,13 +874,13 @@ Validation failed
588: 67(fvec3) Load 578(V)
589: 67(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 588
Store 578(V) 589
- 594: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 591 590(lightCosInnerAngle) 45
+ 594: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 591 590(lightCosInnerAngle) 45
Store 590(lightCosInnerAngle) 595
- 600: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 597 596(lightCosOuterAngle) 45
+ 600: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 597 596(lightCosOuterAngle) 45
Store 596(lightCosOuterAngle) 601
- 606: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 603 602(lightRange) 45
+ 606: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 603 602(lightRange) 45
Store 602(lightRange) 607
- 612: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 609 608(dir) 45
+ 612: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 609 608(dir) 45
613: 208(int) Load 546(i)
614: 564(ptr) AccessChain 410 280 286 613 280
615: 17(fvec4) Load 614
@@ -892,45 +892,45 @@ Validation failed
621: 67(fvec3) FSub 616 620
622: 67(fvec3) ExtInst 2(GLSL.std.450) 69(Normalize) 621
Store 608(dir) 622
- 627: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 624 623(cosDir) 45
+ 627: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 624 623(cosDir) 45
628: 67(fvec3) Load 558(L)
629: 67(fvec3) Load 608(dir)
630: 7(float) Dot 628 629
Store 623(cosDir) 630
- 635: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 632 631(spotEffect) 45
+ 635: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 632 631(spotEffect) 45
636: 7(float) Load 596(lightCosOuterAngle)
637: 7(float) Load 590(lightCosInnerAngle)
638: 7(float) Load 623(cosDir)
639: 7(float) ExtInst 2(GLSL.std.450) 49(SmoothStep) 636 637 638
Store 631(spotEffect) 639
- 644: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 641 640(heightAttenuation) 45
+ 644: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 641 640(heightAttenuation) 45
645: 7(float) Load 602(lightRange)
646: 7(float) Load 570(dist)
647: 7(float) ExtInst 2(GLSL.std.450) 49(SmoothStep) 645 181 646
Store 640(heightAttenuation) 647
- 652: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 649 648(NdotL) 45
+ 652: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 649 648(NdotL) 45
653: 67(fvec3) Load 539(N)
654: 67(fvec3) Load 558(L)
655: 7(float) Dot 653 654
656: 7(float) ExtInst 2(GLSL.std.450) 40(FMax) 181 655
Store 648(NdotL) 656
- 661: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 658 657(diff) 45
+ 661: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 658 657(diff) 45
662: 7(float) Load 648(NdotL)
663: 67(fvec3) CompositeConstruct 662 662 662
Store 657(diff) 663
- 668: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 665 664(R) 45
+ 668: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 665 664(R) 45
669: 67(fvec3) Load 558(L)
670: 67(fvec3) FNegate 669
671: 67(fvec3) Load 539(N)
672: 67(fvec3) ExtInst 2(GLSL.std.450) 71(Reflect) 670 671
Store 664(R) 672
- 677: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 674 673(NdotR) 45
+ 677: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 674 673(NdotR) 45
678: 67(fvec3) Load 664(R)
679: 67(fvec3) Load 578(V)
680: 7(float) Dot 678 679
681: 7(float) ExtInst 2(GLSL.std.450) 40(FMax) 181 680
Store 673(NdotR) 681
- 686: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 683 682(spec) 45
+ 686: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 683 682(spec) 45
687: 7(float) Load 673(NdotR)
689: 7(float) ExtInst 2(GLSL.std.450) 26(Pow) 687 688
690: 21(ptr) AccessChain 476(albedo) 16
diff --git a/Test/baseResults/spv.debuginfo.hlsl.geom.out b/Test/baseResults/spv.debuginfo.hlsl.geom.out
index 1eb9f83b..52db5892 100644
--- a/Test/baseResults/spv.debuginfo.hlsl.geom.out
+++ b/Test/baseResults/spv.debuginfo.hlsl.geom.out
@@ -1,7 +1,7 @@
spv.debuginfo.hlsl.geom
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 322
Capability Geometry
@@ -129,65 +129,65 @@ Validation failed
13: 10(int) Constant 32
14: 10(int) Constant 6
15: 10(int) Constant 0
- 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 12 13 14 15
+ 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 13 14 15
16: 10(int) Constant 3
- 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 9 13 16 15
+ 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 13 16 15
17: TypeVector 7(float) 4
18: 10(int) Constant 4
- 19: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 18
+ 19: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 18
20: TypeVector 7(float) 3
- 21: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 16
+ 21: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 16
22(VSOutput): TypeStruct 17(fvec4) 20(fvec3) 20(fvec3)
- 25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 26
+ 25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 26
27: 10(int) Constant 37
28: 10(int) Constant 13
- 23: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 24 19 25 27 28 15 15 16
+ 23: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 24 19 25 27 28 15 15 16
31: 10(int) Constant 39
32: 10(int) Constant 34
- 29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 30 21 25 31 32 15 15 16
- 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 30 21 25 31 32 15 15 16
+ 29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 30 21 25 31 32 15 15 16
+ 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 30 21 25 31 32 15 15 16
36: 10(int) Constant 1
38: 10(int) Constant 5
- 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 36 18 25 38
- 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 35 36 25 15 15 37 35 15 16 23 29 33
+ 37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 18 25 38
+ 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 35 36 25 15 15 37 35 15 16 23 29 33
39: TypeArray 22(VSOutput) 16
- 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 34 16
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 34 16
41: TypePointer Function 39
42(GSOutput): TypeStruct 17(fvec4) 10(int) 10(int) 20(fvec3) 20(fvec3) 20(fvec3) 20(fvec3)
44: 10(int) Constant 44
- 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 24 19 25 44 28 15 15 16
+ 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 24 19 25 44 28 15 15 16
47: 10(int) Constant 46
48: 10(int) Constant 19
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 46 11 25 47 48 15 15 16
- 49: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 46 11 25 47 48 15 15 16
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 46 11 25 47 48 15 15 16
+ 49: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 46 11 25 47 48 15 15 16
52: 10(int) Constant 50
- 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 51 21 25 52 27 15 15 16
- 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 51 21 25 52 27 15 15 16
- 54: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 51 21 25 52 27 15 15 16
- 55: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 51 21 25 52 27 15 15 16
- 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 57 36 25 15 15 37 57 15 16 43 45 49 50 53 54 55
+ 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 51 21 25 52 27 15 15 16
+ 53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 51 21 25 52 27 15 15 16
+ 54: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 51 21 25 52 27 15 15 16
+ 55: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 51 21 25 52 27 15 15 16
+ 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 57 36 25 15 15 37 57 15 16 43 45 49 50 53 54 55
58: TypePointer Function 42(GSOutput)
59: TypePointer Function 10(int)
60: TypeFunction 3 41(ptr) 58(ptr) 59(ptr) 59(ptr)
- 61: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 3 40 56 11 11
- 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 67 61 25 15 15 37 67 16 15
- 72: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 73 40 25 15 15 68 18 36
- 75: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
+ 61: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 3 40 56 11 11
+ 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 67 61 25 15 15 37 67 16 15
+ 72: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 73 40 25 15 15 68 18 36
+ 75: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
78: 10(int) Constant 2
- 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 77 56 25 15 15 68 18 78
- 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 81 11 25 15 15 68 18 16
- 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 46 11 25 15 15 68 18 18
+ 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 56 25 15 15 68 18 78
+ 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 81 11 25 15 15 68 18 16
+ 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 46 11 25 15 15 68 18 18
86: TypeInt 32 1
- 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 87 13 18 15
+ 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 87 13 18 15
89: TypePointer Function 86(int)
93: 10(int) Constant 57
- 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 92 88 25 93 15 68 18
+ 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 92 88 25 93 15 68 18
95: 86(int) Constant 0
102: 86(int) Constant 3
103: TypeBool
- 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 104 13 78 15
+ 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 104 13 78 15
110: 10(int) Constant 59
- 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 109 56 25 110 15 68 18
+ 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 109 56 25 110 15 68 18
112: 7(float) Constant 0
113: 17(fvec4) ConstantComposite 112 112 112 112
114: 20(fvec3) ConstantComposite 112 112 112
@@ -196,64 +196,64 @@ Validation failed
118: TypePointer Function 20(fvec3)
121: TypeMatrix 17(fvec4) 4
123: 103(bool) ConstantTrue
- 122: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 19 18 123
+ 122: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 19 18 123
124: TypeArray 121 78
- 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 122 78
+ 125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 122 78
126: TypeArray 121 78
- 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 122 78
+ 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 122 78
128(UBO): TypeStruct 124 126 17(fvec4)
131: 10(int) Constant 28
132: 10(int) Constant 21
- 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 130 125 25 131 132 15 15 16
+ 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 130 125 25 131 132 15 15 16
135: 10(int) Constant 29
136: 10(int) Constant 20
- 133: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 134 127 25 135 136 15 15 16
+ 133: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 134 127 25 135 136 15 15 16
139: 10(int) Constant 30
140: 10(int) Constant 17
- 137: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 19 25 139 140 15 15 16
+ 137: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 138 19 25 139 140 15 15 16
143: 10(int) Constant 60
- 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 142 36 25 143 15 37 142 15 16 129 133 137
+ 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 142 36 25 143 15 37 142 15 16 129 133 137
144(ubo): TypeStruct 128(UBO)
147: 10(int) Constant 33
- 145: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 146 141 25 147 27 15 15 16
- 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 146 36 25 143 15 37 146 15 16 145
+ 145: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 146 141 25 147 27 15 15 16
+ 148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 146 36 25 143 15 37 146 15 16 145
149: TypePointer Uniform 144(ubo)
150: 149(ptr) Variable Uniform
152: 10(int) Constant 8
- 151: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 26 148 25 143 15 37 26 150 152
+ 151: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 26 148 25 143 15 37 26 150 152
154: TypePointer Uniform 121
157: TypeMatrix 20(fvec3) 3
- 158: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 21 16 123
+ 158: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 16 123
168: 86(int) Constant 4
170: 86(int) Constant 2
174: TypePointer Function 17(fvec4)
178: 10(int) Constant 63
- 176: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 177 19 25 178 15 68 18
+ 176: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 177 19 25 178 15 68 18
186: 10(int) Constant 64
- 184: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 185 19 25 186 15 68 18
+ 184: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 185 19 25 186 15 68 18
196: 10(int) Constant 66
- 194: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 195 21 25 196 15 68 18
+ 194: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 195 21 25 196 15 68 18
198: TypePointer Uniform 17(fvec4)
206: 86(int) Constant 6
212: 86(int) Constant 5
227: TypePointer Output 17(fvec4)
228(outStream.Pos): 227(ptr) Variable Output
231: 10(int) Constant 75
- 229: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 230 19 25 231 15 37 230 228(outStream.Pos) 152
+ 229: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 230 19 25 231 15 37 230 228(outStream.Pos) 152
234: TypePointer Output 10(int)
235(outStream.ViewportIndex): 234(ptr) Variable Output
- 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 237 11 25 231 15 37 237 235(outStream.ViewportIndex) 152
+ 236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 237 11 25 231 15 37 237 235(outStream.ViewportIndex) 152
240(outStream.PrimitiveID): 234(ptr) Variable Output
- 241: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 242 11 25 231 15 37 242 240(outStream.PrimitiveID) 152
+ 241: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 242 11 25 231 15 37 242 240(outStream.PrimitiveID) 152
245: TypePointer Output 20(fvec3)
246(outStream.Normal): 245(ptr) Variable Output
- 247: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 248 21 25 231 15 37 248 246(outStream.Normal) 152
+ 247: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 248 21 25 231 15 37 248 246(outStream.Normal) 152
251(outStream.Color): 245(ptr) Variable Output
- 252: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 253 21 25 231 15 37 253 251(outStream.Color) 152
+ 252: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 253 21 25 231 15 37 253 251(outStream.Color) 152
256(outStream.ViewVec): 245(ptr) Variable Output
- 257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 258 21 25 231 15 37 258 256(outStream.ViewVec) 152
+ 257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 258 21 25 231 15 37 258 256(outStream.ViewVec) 152
261(outStream.LightVec): 245(ptr) Variable Output
- 262: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 263 21 25 231 15 37 263 261(outStream.LightVec) 152
+ 262: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 263 21 25 231 15 37 263 261(outStream.LightVec) 152
269: TypeArray 17(fvec4) 16
270: TypePointer Input 269
271(input.Pos): 270(ptr) Variable Input
@@ -338,14 +338,14 @@ Validation failed
175(pos): 174(ptr) Variable Function
183(worldPos): 174(ptr) Variable Function
193(lPos): 118(ptr) Variable Function
- 70: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 68
- 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 25 15 15 15 15
- 74: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 72 62(input) 75
- 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 76 63(outStream) 75
- 82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 80 64(InvocationID) 75
- 84: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 83 65(PrimitiveID) 75
- 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 68 66(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;)
- 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 91 90(i) 75
+ 70: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 68
+ 71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 25 15 15 15 15
+ 74: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 62(input) 75
+ 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 63(outStream) 75
+ 82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 80 64(InvocationID) 75
+ 84: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 83 65(PrimitiveID) 75
+ 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 68 66(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;)
+ 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 91 90(i) 75
Store 90(i) 95
Branch 96
96: Label
@@ -356,7 +356,7 @@ Validation failed
106: 103(bool) SLessThan 101 102
BranchConditional 106 97 98
97: Label
- 111: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 108 107(output) 75
+ 111: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 108 107(output) 75
Store 107(output) 115
116: 86(int) Load 90(i)
119: 118(ptr) AccessChain 62(input) 116 117
@@ -379,19 +379,19 @@ Validation failed
172: 20(fvec3) Load 171
173: 118(ptr) AccessChain 107(output) 168
Store 173 172
- 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 176 175(pos) 75
+ 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 176 175(pos) 75
180: 86(int) Load 90(i)
181: 174(ptr) AccessChain 62(input) 180 95
182: 17(fvec4) Load 181
Store 175(pos) 182
- 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 184 183(worldPos) 75
+ 187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 184 183(worldPos) 75
188: 17(fvec4) Load 175(pos)
189: 10(int) Load 64(InvocationID)
190: 154(ptr) AccessChain 150 95 117 189
191: 121 Load 190
192: 17(fvec4) VectorTimesMatrix 188 191
Store 183(worldPos) 192
- 197: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 194 193(lPos) 75
+ 197: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 194 193(lPos) 75
199: 198(ptr) AccessChain 150 95 170
200: 17(fvec4) Load 199
201: 10(int) Load 64(InvocationID)
diff --git a/Test/baseResults/spv.debuginfo.hlsl.tesc.out b/Test/baseResults/spv.debuginfo.hlsl.tesc.out
index 5d0ccc67..c3736818 100644
--- a/Test/baseResults/spv.debuginfo.hlsl.tesc.out
+++ b/Test/baseResults/spv.debuginfo.hlsl.tesc.out
@@ -3,7 +3,7 @@ WARNING: 0:158: '' : attribute does not apply to entry point
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 593
Capability Tessellation
@@ -172,129 +172,129 @@ Validation failed
13: 10(int) Constant 32
14: 10(int) Constant 6
15: 10(int) Constant 0
- 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 12 13 14 15
+ 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 13 14 15
16: 10(int) Constant 3
- 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 9 13 16 15
+ 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 13 16 15
17: TypeVector 7(float) 4
18: 10(int) Constant 4
- 19: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 18
+ 19: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 18
20: TypePointer Function 17(fvec4)
21: TypeFunction 7(float) 20(ptr) 20(ptr)
- 22: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 8 19 19
- 28: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 29
+ 22: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 8 19 19
+ 28: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 29
31: 10(int) Constant 1
32: 10(int) Constant 5
- 30: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 31 18 28 32
- 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 26 22 28 15 15 30 26 16 15
- 36: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 37 19 28 15 15 27 18 31
- 39: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
+ 30: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 31 18 28 32
+ 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 26 22 28 15 15 30 26 16 15
+ 36: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 37 19 28 15 15 27 18 31
+ 39: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
42: 10(int) Constant 2
- 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 41 19 28 15 15 27 18 42
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 41 19 28 15 15 27 18 42
44: TypeVector 7(float) 2
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 42
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 42
46: TypePointer Function 44(fvec2)
47: TypeBool
- 49: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 48 13 42 15
+ 49: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 48 13 42 15
50: TypeFunction 47(bool) 20(ptr) 46(ptr)
- 51: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 49 19 45
- 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 55 51 28 15 15 30 55 16 15
- 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 61 19 28 15 15 56 18 31
- 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 64 45 28 15 15 56 18 42
+ 51: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 49 19 45
+ 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 55 51 28 15 15 30 55 16 15
+ 60: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 61 19 28 15 15 56 18 31
+ 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 64 45 28 15 15 56 18 42
66: TypeVector 7(float) 3
- 67: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 16
+ 67: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 16
68(VSOutput): TypeStruct 17(fvec4) 66(fvec3) 44(fvec2)
70: 10(int) Constant 44
71: 10(int) Constant 13
- 69: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 61 19 28 70 71 15 15 16
+ 69: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 61 19 28 70 71 15 15 16
74: 10(int) Constant 45
75: 10(int) Constant 35
- 72: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 73 67 28 74 75 15 15 16
+ 72: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 73 67 28 74 75 15 15 16
78: 10(int) Constant 46
79: 10(int) Constant 31
- 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 77 45 28 78 79 15 15 16
- 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 81 31 28 15 15 30 81 15 16 69 72 76
+ 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 77 45 28 78 79 15 15 16
+ 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 81 31 28 15 15 30 81 15 16 69 72 76
82: TypeArray 68(VSOutput) 18
- 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 80 18
+ 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 80 18
84: TypePointer Function 82
85: TypeArray 7(float) 18
- 86: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 8 18
+ 86: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 8 18
87: TypeArray 7(float) 42
- 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 8 42
+ 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 8 42
89(ConstantsHSOutput): TypeStruct 85 87
92: 10(int) Constant 58
93: 10(int) Constant 25
- 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 91 86 28 92 93 15 15 16
+ 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 91 86 28 92 93 15 15 16
96: 10(int) Constant 59
- 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 95 88 28 96 93 15 15 16
- 97: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 98 31 28 15 15 30 98 15 16 90 94
+ 94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 95 88 28 96 93 15 15 16
+ 97: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 98 31 28 15 15 30 98 15 16 90 94
99: TypeFunction 89(ConstantsHSOutput) 84(ptr)
- 100: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 97 83
- 104: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 103 100 28 15 15 30 103 16 15
- 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 109 83 28 15 15 104 18 31
+ 100: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 97 83
+ 104: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 103 100 28 15 15 30 103 16 15
+ 108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 109 83 28 15 15 104 18 31
111: TypePointer Function 10(int)
112(HSOutput): TypeStruct 17(fvec4) 66(fvec3) 44(fvec2)
114: 10(int) Constant 51
- 113: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 61 19 28 114 13 15 15 16
+ 113: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 61 19 28 114 13 15 15 16
116: 10(int) Constant 52
- 115: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 73 67 28 116 75 15 15 16
+ 115: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 73 67 28 116 75 15 15 16
118: 10(int) Constant 53
- 117: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 77 45 28 118 79 15 15 16
- 119: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 120 31 28 15 15 30 120 15 16 113 115 117
+ 117: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 77 45 28 118 79 15 15 16
+ 119: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 120 31 28 15 15 30 120 15 16 113 115 117
121: TypeFunction 112(HSOutput) 84(ptr) 111(ptr)
- 122: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 119 83 11
- 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 126 122 28 15 15 30 126 16 15
- 131: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 109 83 28 15 15 127 18 31
- 133: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 134 11 28 15 15 127 18 42
+ 122: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 119 83 11
+ 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 126 122 28 15 15 30 126 16 15
+ 131: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 109 83 28 15 15 127 18 31
+ 133: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 134 11 28 15 15 127 18 42
140: 10(int) Constant 67
- 138: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 139 19 28 140 15 27 18
+ 138: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 139 19 28 140 15 27 18
142: 7(float) Constant 1056964608
147: TypePointer Function 7(float)
151: 10(int) Constant 69
- 149: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 150 8 28 151 15 27 18
+ 149: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 150 8 28 151 15 27 18
156: 7(float) Constant 1073741824
161: 10(int) Constant 72
- 159: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 160 19 28 161 15 27 18
+ 159: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 160 19 28 161 15 27 18
164: TypeMatrix 17(fvec4) 4
166: 47(bool) ConstantTrue
- 165: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 19 18 166
+ 165: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 19 18 166
167: TypeArray 17(fvec4) 14
- 168: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 19 14
+ 168: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 19 14
169(UBO): TypeStruct 164 164 17(fvec4) 167 7(float) 7(float) 44(fvec2) 7(float)
172: 10(int) Constant 29
173: 10(int) Constant 20
- 170: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 171 165 28 172 173 15 15 16
- 174: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 171 165 28 172 173 15 15 16
+ 170: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 171 165 28 172 173 15 15 16
+ 174: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 171 165 28 172 173 15 15 16
177: 10(int) Constant 30
178: 10(int) Constant 17
- 175: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 176 19 28 177 178 15 15 16
+ 175: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 176 19 28 177 178 15 15 16
181: 10(int) Constant 22
- 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 180 168 28 79 181 15 15 16
+ 179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 168 28 79 181 15 15 16
184: 10(int) Constant 27
- 182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 183 8 28 75 184 15 15 16
- 185: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 183 8 28 75 184 15 15 16
+ 182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 183 8 28 75 184 15 15 16
+ 185: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 183 8 28 75 184 15 15 16
188: 10(int) Constant 34
- 186: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 187 45 28 188 173 15 15 16
- 189: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 183 8 28 75 184 15 15 16
- 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 191 31 28 161 15 30 191 15 16 170 174 175 179 182 185 186 189
+ 186: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 45 28 188 173 15 15 16
+ 189: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 183 8 28 75 184 15 15 16
+ 190: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 191 31 28 161 15 30 191 15 16 170 174 175 179 182 185 186 189
192(ubo): TypeStruct 169(UBO)
195: 10(int) Constant 37
- 193: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 194 190 28 195 195 15 15 16
- 196: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 194 31 28 161 15 30 194 15 16 193
+ 193: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 190 28 195 195 15 15 16
+ 196: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 194 31 28 161 15 30 194 15 16 193
197: TypePointer Uniform 192(ubo)
198: 197(ptr) Variable Uniform
200: 10(int) Constant 8
- 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 29 196 28 161 15 30 29 198 200
+ 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 29 196 28 161 15 30 29 198 200
201: TypeInt 32 1
- 203: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 202 13 18 15
+ 203: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 202 13 18 15
204: 201(int) Constant 0
205: 201(int) Constant 1
206: TypePointer Uniform 164
213: 10(int) Constant 75
- 211: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 212 19 28 213 15 27 18
+ 211: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 212 19 28 213 15 27 18
217: 7(float) Constant 0
218: 66(fvec3) ConstantComposite 217 217 217
230: 10(int) Constant 76
- 228: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 229 19 28 230 15 27 18
+ 228: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 19 28 230 15 27 18
252: 201(int) Constant 6
253: TypePointer Uniform 44(fvec2)
275: 201(int) Constant 7
@@ -303,46 +303,46 @@ Validation failed
284: 7(float) Constant 1065353216
285: 7(float) Constant 1115684864
293: 10(int) Constant 98
- 291: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 292 19 28 293 15 56 18
+ 291: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 292 19 28 293 15 56 18
296: TypeImage 7(float) 2D sampled format:Unknown
299: 10(int) Constant 99
- 301: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(Unknown)
- 297: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 298 15 28 299 15 30 300 301 16
+ 301: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
+ 297: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 298 15 28 299 15 30 300 301 16
302: TypePointer UniformConstant 296
303(textureHeight): 302(ptr) Variable UniformConstant
- 304: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 305 297 28 299 15 30 305 303(textureHeight) 200
+ 304: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 305 297 28 299 15 30 305 303(textureHeight) 200
307: TypeSampler
- 308: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 309 31 28 299 15 30 310 301 16
+ 308: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 309 31 28 299 15 30 310 301 16
311: TypePointer UniformConstant 307
312(samplerHeight): 311(ptr) Variable UniformConstant
- 313: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 314 308 28 299 15 30 314 312(samplerHeight) 200
+ 313: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 314 308 28 299 15 30 314 312(samplerHeight) 200
316: TypeSampledImage 296
- 317: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 318 15 28 299 15 30 319 301 16
+ 317: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 318 15 28 299 15 30 319 301 16
324: 201(int) Constant 4
332: TypePointer Function 201(int)
336: 10(int) Constant 102
- 334: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 335 203 28 336 15 56 18
- 344: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 48 13 42 15
+ 334: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 335 203 28 336 15 56 18
+ 344: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 48 13 42 15
347: 201(int) Constant 3
349: TypePointer Uniform 17(fvec4)
353: 7(float) Constant 1090519040
- 355: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 48 13 42 15
- 359: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 48 13 42 15
+ 355: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 48 13 42 15
+ 359: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 48 13 42 15
360: 47(bool) ConstantFalse
- 364: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 48 13 42 15
+ 364: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 48 13 42 15
368: TypePointer Function 89(ConstantsHSOutput)
372: 10(int) Constant 113
- 370: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 371 97 28 372 15 104 18
+ 370: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 371 97 28 372 15 104 18
374: 85 ConstantComposite 217 217 217 217
375: 87 ConstantComposite 217 217
376:89(ConstantsHSOutput) ConstantComposite 374 375
377: 201(int) Constant 2
- 385: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 48 13 42 15
- 386: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 48 13 42 15
- 399: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 48 13 42 15
+ 385: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 48 13 42 15
+ 386: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 48 13 42 15
+ 399: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 48 13 42 15
458: TypePointer Function 112(HSOutput)
461: 10(int) Constant 159
- 460: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 371 119 28 461 15 127 18
+ 460: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 371 119 28 461 15 127 18
463: 17(fvec4) ConstantComposite 217 217 217 217
464: 44(fvec2) ConstantComposite 217 217
465:112(HSOutput) ConstantComposite 463 218 464
@@ -502,30 +502,30 @@ Validation failed
158(v0): 20(ptr) Variable Function
210(clip0): 20(ptr) Variable Function
227(clip1): 20(ptr) Variable Function
- 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 27
- 35: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 28 15 15 15 15
- 38: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 36 23(p0) 39
- 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 40 24(p1) 39
- 136: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 27 25(screenSpaceTessFactor(vf4;vf4;)
- 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 138 137(midPoint) 39
+ 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 27
+ 35: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 28 15 15 15 15
+ 38: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 36 23(p0) 39
+ 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 40 24(p1) 39
+ 136: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 27 25(screenSpaceTessFactor(vf4;vf4;)
+ 141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 138 137(midPoint) 39
143: 17(fvec4) Load 23(p0)
144: 17(fvec4) Load 24(p1)
145: 17(fvec4) FAdd 143 144
146: 17(fvec4) VectorTimesScalar 145 142
Store 137(midPoint) 146
- 152: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 149 148(radius) 39
+ 152: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 149 148(radius) 39
153: 17(fvec4) Load 23(p0)
154: 17(fvec4) Load 24(p1)
155: 7(float) ExtInst 2(GLSL.std.450) 67(Distance) 153 154
157: 7(float) FDiv 155 156
Store 148(radius) 157
- 162: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 159 158(v0) 39
+ 162: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 159 158(v0) 39
163: 17(fvec4) Load 137(midPoint)
207: 206(ptr) AccessChain 198 204 205
208: 164 Load 207
209: 17(fvec4) VectorTimesMatrix 163 208
Store 158(v0) 209
- 214: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 211 210(clip0) 39
+ 214: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 211 210(clip0) 39
215: 17(fvec4) Load 158(v0)
216: 7(float) Load 148(radius)
219: 7(float) CompositeExtract 218 0
@@ -537,7 +537,7 @@ Validation failed
225: 164 Load 224
226: 17(fvec4) VectorTimesMatrix 223 225
Store 210(clip0) 226
- 231: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 228 227(clip1) 39
+ 231: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 228 227(clip1) 39
232: 17(fvec4) Load 158(v0)
233: 7(float) Load 148(radius)
234: 7(float) CompositeExtract 218 0
@@ -601,12 +601,12 @@ Validation failed
57: Label
290(pos): 20(ptr) Variable Function
333(i): 332(ptr) Variable Function
- 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 56
- 59: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 28 15 15 15 15
- 62: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 60 52(Pos) 39
- 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 63 53(inUV) 39
- 289: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 56 54(frustumCheck(vf4;vf2;)
- 294: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 291 290(pos) 39
+ 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
+ 59: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 28 15 15 15 15
+ 62: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 60 52(Pos) 39
+ 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 63 53(inUV) 39
+ 289: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 54(frustumCheck(vf4;vf2;)
+ 294: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 291 290(pos) 39
295: 17(fvec4) Load 52(Pos)
Store 290(pos) 295
306: 296 Load 303(textureHeight)
@@ -623,7 +623,7 @@ Validation failed
330: 7(float) FSub 329 327
331: 147(ptr) AccessChain 290(pos) 31
Store 331 330
- 337: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 334 333(i) 39
+ 337: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 334 333(i) 39
Store 333(i) 204
Branch 338
338: Label
@@ -669,11 +669,11 @@ Validation failed
422(param): 20(ptr) Variable Function
427(param): 20(ptr) Variable Function
430(param): 20(ptr) Variable Function
- 106: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 104
- 107: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 28 15 15 15 15
- 110: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 108 101(patch) 39
- 367: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 104 102(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];)
- 373: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 370 369(output) 39
+ 106: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 104
+ 107: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 28 15 15 15 15
+ 110: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 108 101(patch) 39
+ 367: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 104 102(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];)
+ 373: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 370 369(output) 39
Store 369(output) 376
379: 20(ptr) AccessChain 101(patch) 204 204
380: 17(fvec4) Load 379
@@ -782,12 +782,12 @@ Validation failed
124(InvocationID): 111(ptr) FunctionParameter
128: Label
459(output): 458(ptr) Variable Function
- 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 127
- 130: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 28 15 15 15 15
- 132: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 131 123(patch) 39
- 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 133 124(InvocationID) 39
- 457: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 127 125(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;)
- 462: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 460 459(output) 39
+ 129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 127
+ 130: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 28 15 15 15 15
+ 132: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 131 123(patch) 39
+ 135: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 133 124(InvocationID) 39
+ 457: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 127 125(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;)
+ 462: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 460 459(output) 39
Store 459(output) 465
466: 10(int) Load 124(InvocationID)
467: 20(ptr) AccessChain 123(patch) 466 204
diff --git a/Test/baseResults/spv.debuginfo.hlsl.tese.out b/Test/baseResults/spv.debuginfo.hlsl.tese.out
index 56e10865..42c0f718 100644
--- a/Test/baseResults/spv.debuginfo.hlsl.tese.out
+++ b/Test/baseResults/spv.debuginfo.hlsl.tese.out
@@ -1,7 +1,7 @@
spv.debuginfo.hlsl.tese
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 434
Capability Tessellation
@@ -156,142 +156,142 @@ Validation failed
13: 10(int) Constant 32
14: 10(int) Constant 6
15: 10(int) Constant 0
- 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 12 13 14 15
+ 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 13 14 15
16: 10(int) Constant 3
- 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 9 13 16 15
+ 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 13 16 15
17: 10(int) Constant 4
18: TypeArray 7(float) 17
- 19: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 8 17
+ 19: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 8 17
20: 10(int) Constant 2
21: TypeArray 7(float) 20
- 22: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 8 20
+ 22: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 8 20
23(ConstantsHSOutput): TypeStruct 18 21
- 26: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 27
+ 26: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 27
28: 10(int) Constant 51
29: 10(int) Constant 25
- 24: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 25 19 26 28 29 15 15 16
+ 24: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 19 26 28 29 15 15 16
32: 10(int) Constant 52
- 30: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 31 22 26 32 29 15 15 16
+ 30: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 29 15 15 16
35: 10(int) Constant 1
37: 10(int) Constant 5
- 36: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 35 17 26 37
- 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 34 35 26 15 15 36 34 15 16 24 30
+ 36: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 35 17 26 37
+ 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 34 35 26 15 15 36 34 15 16 24 30
38: TypePointer Function 23(ConstantsHSOutput)
39: TypeVector 7(float) 2
- 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 20
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 20
41: TypePointer Function 39(fvec2)
42: TypeVector 7(float) 4
- 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 17
+ 43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 17
44: TypeVector 7(float) 3
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 16
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 16
46(HSOutput): TypeStruct 42(fvec4) 44(fvec3) 39(fvec2)
49: 10(int) Constant 44
- 47: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 48 43 26 49 13 15 15 16
+ 47: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 48 43 26 49 13 15 15 16
52: 10(int) Constant 45
53: 10(int) Constant 35
- 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 51 45 26 52 53 15 15 16
+ 50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 51 45 26 52 53 15 15 16
56: 10(int) Constant 46
57: 10(int) Constant 31
- 54: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 55 40 26 56 57 15 15 16
- 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 59 35 26 15 15 36 59 15 16 47 50 54
+ 54: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 40 26 56 57 15 15 16
+ 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 59 35 26 15 15 36 59 15 16 47 50 54
60: TypeArray 46(HSOutput) 17
- 61: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 58 17
+ 61: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 58 17
62(DSOutput): TypeStruct 42(fvec4) 44(fvec3) 39(fvec2) 44(fvec3) 44(fvec3) 44(fvec3) 44(fvec3)
64: 10(int) Constant 57
65: 10(int) Constant 13
- 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 48 43 26 64 65 15 15 16
+ 63: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 48 43 26 64 65 15 15 16
68: 10(int) Constant 63
69: 10(int) Constant 37
- 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 67 45 26 68 69 15 15 16
+ 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 45 26 68 69 15 15 16
71: 10(int) Constant 59
- 70: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 55 40 26 71 57 15 15 16
- 72: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 67 45 26 68 69 15 15 16
- 73: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 67 45 26 68 69 15 15 16
- 74: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 67 45 26 68 69 15 15 16
- 75: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 67 45 26 68 69 15 15 16
- 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 77 35 26 15 15 36 77 15 16 63 66 70 72 73 74 75
+ 70: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 40 26 71 57 15 15 16
+ 72: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 45 26 68 69 15 15 16
+ 73: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 45 26 68 69 15 15 16
+ 74: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 45 26 68 69 15 15 16
+ 75: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 45 26 68 69 15 15 16
+ 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 77 35 26 15 15 36 77 15 16 63 66 70 72 73 74 75
78: TypeFunction 62(DSOutput) 38(ptr) 41(ptr) 60
- 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 76 33 40 58
- 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 84 79 26 15 15 36 84 16 15
- 89: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 90 33 26 15 15 85 17 35
- 92: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
- 93: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 94 40 26 15 15 85 17 20
- 96: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 97 58 26 15 15 85 17 16
+ 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 76 33 40 58
+ 85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 84 79 26 15 15 36 84 16 15
+ 89: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 90 33 26 15 15 85 17 35
+ 92: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
+ 93: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 94 40 26 15 15 85 17 20
+ 96: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 97 58 26 15 15 85 17 16
100: TypePointer Function 62(DSOutput)
104: 10(int) Constant 70
- 102: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 103 76 26 104 15 85 17
+ 102: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 103 76 26 104 15 85 17
106: 7(float) Constant 0
107: 42(fvec4) ConstantComposite 106 106 106 106
108: 44(fvec3) ConstantComposite 106 106 106
109: 39(fvec2) ConstantComposite 106 106
110:62(DSOutput) ConstantComposite 107 108 109 108 108 108 108
114: 10(int) Constant 71
- 112: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 113 40 26 114 15 85 17
+ 112: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 113 40 26 114 15 85 17
116: TypeInt 32 1
- 118: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 117 13 17 15
+ 118: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 117 13 17 15
119: 116(int) Constant 0
120: 116(int) Constant 2
122: 116(int) Constant 1
124: TypePointer Function 7(float)
132: 10(int) Constant 72
- 130: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 131 40 26 132 15 85 17
+ 130: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 131 40 26 132 15 85 17
134: 116(int) Constant 3
148: TypePointer Function 44(fvec3)
152: 10(int) Constant 75
- 150: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 151 45 26 152 15 85 17
+ 150: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 151 45 26 152 15 85 17
163: 10(int) Constant 76
- 161: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 162 45 26 163 15 85 17
+ 161: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 162 45 26 163 15 85 17
178: TypePointer Function 42(fvec4)
182: 10(int) Constant 80
- 180: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 181 43 26 182 15 85 17
+ 180: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 181 43 26 182 15 85 17
193: 10(int) Constant 81
- 191: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 192 43 26 193 15 85 17
+ 191: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 192 43 26 193 15 85 17
204: 10(int) Constant 82
- 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 203 43 26 204 15 85 17
+ 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 203 43 26 204 15 85 17
212: TypeImage 7(float) 2D sampled format:Unknown
215: 10(int) Constant 84
- 217: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(Unknown)
- 213: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 214 15 26 215 15 36 216 217 16
+ 217: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
+ 213: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 214 15 26 215 15 36 216 217 16
218: TypePointer UniformConstant 212
219(displacementMapTexture): 218(ptr) Variable UniformConstant
222: 10(int) Constant 8
- 220: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 221 213 26 215 15 36 221 219(displacementMapTexture) 222
+ 220: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 221 213 26 215 15 36 221 219(displacementMapTexture) 222
224: TypeSampler
- 225: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 226 35 26 215 15 36 227 217 16
+ 225: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 226 35 26 215 15 36 227 217 16
228: TypePointer UniformConstant 224
229(displacementMapSampler): 228(ptr) Variable UniformConstant
- 230: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 231 225 26 215 15 36 231 229(displacementMapSampler) 222
+ 230: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 231 225 26 215 15 36 231 229(displacementMapSampler) 222
233: TypeSampledImage 212
- 234: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 235 15 26 215 15 36 236 217 16
+ 234: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 235 15 26 215 15 36 236 217 16
242: TypeMatrix 42(fvec4) 4
244: TypeBool
245: 244(bool) ConstantTrue
- 243: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 43 17 245
+ 243: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 43 17 245
246: TypeArray 42(fvec4) 14
- 247: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 43 14
+ 247: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 43 14
248(UBO): TypeStruct 242 242 42(fvec4) 246 7(float) 7(float) 39(fvec2) 7(float)
251: 10(int) Constant 29
252: 10(int) Constant 20
- 249: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 250 243 26 251 252 15 15 16
- 253: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 250 243 26 251 252 15 15 16
+ 249: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 243 26 251 252 15 15 16
+ 253: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 243 26 251 252 15 15 16
256: 10(int) Constant 30
257: 10(int) Constant 17
- 254: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 255 43 26 256 257 15 15 16
+ 254: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 255 43 26 256 257 15 15 16
260: 10(int) Constant 22
- 258: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 259 247 26 57 260 15 15 16
+ 258: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 259 247 26 57 260 15 15 16
263: 10(int) Constant 27
- 261: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 262 8 26 53 263 15 15 16
- 264: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 262 8 26 53 263 15 15 16
+ 261: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 262 8 26 53 263 15 15 16
+ 264: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 262 8 26 53 263 15 15 16
267: 10(int) Constant 34
- 265: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 266 40 26 267 252 15 15 16
- 268: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 262 8 26 53 263 15 15 16
- 269: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 270 35 26 215 15 36 270 15 16 249 253 254 258 261 264 265 268
+ 265: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 266 40 26 267 252 15 15 16
+ 268: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 262 8 26 53 263 15 15 16
+ 269: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 270 35 26 215 15 36 270 15 16 249 253 254 258 261 264 265 268
271(ubo): TypeStruct 248(UBO)
- 272: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 273 269 26 69 69 15 15 16
- 274: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 273 35 26 215 15 36 273 15 16 272
+ 272: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 273 269 26 69 69 15 15 16
+ 274: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 273 35 26 215 15 36 273 15 16 272
275: TypePointer Uniform 271(ubo)
276: 275(ptr) Variable Uniform
- 277: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 27 274 26 215 15 36 27 276 222
+ 277: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 27 274 26 215 15 36 27 276 222
278: 116(int) Constant 4
279: TypePointer Uniform 7(float)
288: TypePointer Uniform 242
@@ -455,15 +455,15 @@ Validation failed
179(pos1): 178(ptr) Variable Function
190(pos2): 178(ptr) Variable Function
201(pos): 178(ptr) Variable Function
- 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 85
- 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 26 15 15 15 15
- 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 89 80(input) 92
- 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 93 81(TessCoord) 92
- 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 96 82(patch) 92
- 99: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 85 83(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];)
- 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 102 101(output) 92
+ 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85
+ 88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 15 15 15 15
+ 91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 80(input) 92
+ 95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 93 81(TessCoord) 92
+ 98: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 96 82(patch) 92
+ 99: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 83(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];)
+ 105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 102 101(output) 92
Store 101(output) 110
- 115: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 112 111(uv1) 92
+ 115: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 112 111(uv1) 92
121: 39(fvec2) CompositeExtract 82(patch) 0 2
123: 39(fvec2) CompositeExtract 82(patch) 1 2
125: 124(ptr) AccessChain 81(TessCoord) 15
@@ -471,7 +471,7 @@ Validation failed
127: 39(fvec2) CompositeConstruct 126 126
128: 39(fvec2) ExtInst 2(GLSL.std.450) 46(FMix) 121 123 127
Store 111(uv1) 128
- 133: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 130 129(uv2) 92
+ 133: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 130 129(uv2) 92
135: 39(fvec2) CompositeExtract 82(patch) 3 2
136: 39(fvec2) CompositeExtract 82(patch) 2 2
137: 124(ptr) AccessChain 81(TessCoord) 15
@@ -487,7 +487,7 @@ Validation failed
146: 39(fvec2) ExtInst 2(GLSL.std.450) 46(FMix) 141 142 145
147: 41(ptr) AccessChain 101(output) 120
Store 147 146
- 153: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 150 149(n1) 92
+ 153: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 150 149(n1) 92
154: 44(fvec3) CompositeExtract 82(patch) 0 1
155: 44(fvec3) CompositeExtract 82(patch) 1 1
156: 124(ptr) AccessChain 81(TessCoord) 15
@@ -495,7 +495,7 @@ Validation failed
158: 44(fvec3) CompositeConstruct 157 157 157
159: 44(fvec3) ExtInst 2(GLSL.std.450) 46(FMix) 154 155 158
Store 149(n1) 159
- 164: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 161 160(n2) 92
+ 164: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 161 160(n2) 92
165: 44(fvec3) CompositeExtract 82(patch) 3 1
166: 44(fvec3) CompositeExtract 82(patch) 2 1
167: 124(ptr) AccessChain 81(TessCoord) 15
@@ -511,7 +511,7 @@ Validation failed
176: 44(fvec3) ExtInst 2(GLSL.std.450) 46(FMix) 171 172 175
177: 148(ptr) AccessChain 101(output) 122
Store 177 176
- 183: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 180 179(pos1) 92
+ 183: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 180 179(pos1) 92
184: 42(fvec4) CompositeExtract 82(patch) 0 0
185: 42(fvec4) CompositeExtract 82(patch) 1 0
186: 124(ptr) AccessChain 81(TessCoord) 15
@@ -519,7 +519,7 @@ Validation failed
188: 42(fvec4) CompositeConstruct 187 187 187 187
189: 42(fvec4) ExtInst 2(GLSL.std.450) 46(FMix) 184 185 188
Store 179(pos1) 189
- 194: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 191 190(pos2) 92
+ 194: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 191 190(pos2) 92
195: 42(fvec4) CompositeExtract 82(patch) 3 0
196: 42(fvec4) CompositeExtract 82(patch) 2 0
197: 124(ptr) AccessChain 81(TessCoord) 15
@@ -527,7 +527,7 @@ Validation failed
199: 42(fvec4) CompositeConstruct 198 198 198 198
200: 42(fvec4) ExtInst 2(GLSL.std.450) 46(FMix) 195 196 199
Store 190(pos2) 200
- 205: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 202 201(pos) 92
+ 205: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 202 201(pos) 92
206: 42(fvec4) Load 179(pos1)
207: 42(fvec4) Load 190(pos2)
208: 124(ptr) AccessChain 81(TessCoord) 35
diff --git a/Test/baseResults/spv.debuginfo.hlsl.vert.out b/Test/baseResults/spv.debuginfo.hlsl.vert.out
index 742cc047..77c3fb20 100644
--- a/Test/baseResults/spv.debuginfo.hlsl.vert.out
+++ b/Test/baseResults/spv.debuginfo.hlsl.vert.out
@@ -1,7 +1,7 @@
spv.debuginfo.hlsl.vert
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 437
Capability Shader
@@ -130,61 +130,61 @@ Validation failed
13: 10(int) Constant 32
14: 10(int) Constant 6
15: 10(int) Constant 0
- 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 12 13 14 15
+ 11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 13 14 15
16: 10(int) Constant 3
- 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 9 13 16 15
+ 8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 13 16 15
17: TypeVector 7(float) 3
- 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 16
+ 18: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 16
19: TypeVector 7(float) 2
20: 10(int) Constant 2
- 21: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 20
+ 21: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 20
22: TypeInt 32 1
25: 10(int) Constant 4
- 24: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 23 13 25 15
+ 24: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 23 13 25 15
26(VSInput): TypeStruct 17(fvec3) 17(fvec3) 19(fvec2) 17(fvec3) 17(fvec3) 17(fvec3) 7(float) 22(int)
- 29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 30
+ 29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 0 30
31: 10(int) Constant 35
32: 10(int) Constant 40
- 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 28 18 29 31 32 15 15 16
- 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 28 18 29 31 32 15 15 16
+ 27: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 28 18 29 31 32 15 15 16
+ 33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 28 18 29 31 32 15 15 16
36: 10(int) Constant 30
37: 10(int) Constant 31
- 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 35 21 29 36 37 15 15 16
- 38: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 28 18 29 31 32 15 15 16
- 39: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 28 18 29 31 32 15 15 16
- 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 28 18 29 31 32 15 15 16
+ 34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 35 21 29 36 37 15 15 16
+ 38: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 28 18 29 31 32 15 15 16
+ 39: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 28 18 29 31 32 15 15 16
+ 40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 28 18 29 31 32 15 15 16
43: 10(int) Constant 36
44: 10(int) Constant 41
- 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 42 8 29 43 44 15 15 16
+ 41: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 42 8 29 43 44 15 15 16
47: 10(int) Constant 37
48: 10(int) Constant 42
- 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 46 24 29 47 48 15 15 16
+ 45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 46 24 29 47 48 15 15 16
51: 10(int) Constant 1
53: 10(int) Constant 5
- 52: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 51 25 29 53
- 49: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 50 51 29 15 15 52 50 15 16 27 33 34 38 39 40 41 45
+ 52: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 51 25 29 53
+ 49: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 50 51 29 15 15 52 50 15 16 27 33 34 38 39 40 41 45
54: TypePointer Function 26(VSInput)
55: TypeVector 7(float) 4
- 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 25
+ 56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 8 25
57(VSOutput): TypeStruct 55(fvec4) 17(fvec3) 17(fvec3) 17(fvec3) 17(fvec3) 17(fvec3)
60: 10(int) Constant 53
61: 10(int) Constant 13
- 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 59 56 29 60 61 15 15 16
+ 58: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 59 56 29 60 61 15 15 16
64: 10(int) Constant 58
- 62: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 63 18 29 64 47 15 15 16
- 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 63 18 29 64 47 15 15 16
- 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 63 18 29 64 47 15 15 16
- 67: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 63 18 29 64 47 15 15 16
- 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 63 18 29 64 47 15 15 16
- 69: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 70 51 29 15 15 52 70 15 16 58 62 65 66 67 68
+ 62: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 63 18 29 64 47 15 15 16
+ 65: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 63 18 29 64 47 15 15 16
+ 66: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 63 18 29 64 47 15 15 16
+ 67: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 63 18 29 64 47 15 15 16
+ 68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 63 18 29 64 47 15 15 16
+ 69: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 70 51 29 15 15 52 70 15 16 58 62 65 66 67 68
71: TypeFunction 57(VSOutput) 54(ptr)
- 72: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 69 49
- 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 75 72 29 15 15 52 75 16 15
- 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 81 49 29 15 15 76 25 51
- 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
+ 72: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 16 69 49
+ 76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 75 72 29 15 15 52 75 16 15
+ 80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 81 49 29 15 15 76 25 51
+ 83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
85: TypePointer Function 57(VSOutput)
89: 10(int) Constant 63
- 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 88 69 29 89 15 76 25
+ 87: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 69 29 89 15 76 25
91: 7(float) Constant 0
92: 55(fvec4) ConstantComposite 91 91 91 91
93: 17(fvec3) ConstantComposite 91 91 91
@@ -197,64 +197,64 @@ Validation failed
105: TypePointer Function 22(int)
113: TypePointer Function 7(float)
117: 10(int) Constant 68
- 115: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 116 8 29 117 15 76 25
+ 115: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 116 8 29 117 15 76 25
119: 22(int) Constant 5
122: TypeMatrix 55(fvec4) 4
124: TypeBool
125: 124(bool) ConstantTrue
- 123: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 56 25 125
+ 123: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 56 25 125
126(UBO): TypeStruct 122 122 55(fvec4) 7(float) 7(float)
129: 10(int) Constant 43
130: 10(int) Constant 20
- 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 128 123 29 129 130 15 15 16
- 131: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 128 123 29 129 130 15 15 16
+ 127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 128 123 29 129 130 15 15 16
+ 131: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 128 123 29 129 130 15 15 16
134: 10(int) Constant 44
135: 10(int) Constant 17
- 132: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 133 56 29 134 135 15 15 16
+ 132: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 133 56 29 134 135 15 15 16
138: 10(int) Constant 46
- 136: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 137 8 29 138 135 15 15 16
- 139: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 137 8 29 138 135 15 15 16
- 140: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 141 51 29 117 15 52 141 15 16 127 131 132 136 139
+ 136: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 137 8 29 138 135 15 15 16
+ 139: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 137 8 29 138 135 15 15 16
+ 140: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 141 51 29 117 15 52 141 15 16 127 131 132 136 139
142(ubo): TypeStruct 126(UBO)
145: 10(int) Constant 49
- 143: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 144 140 29 145 47 15 15 16
- 146: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 144 51 29 117 15 52 144 15 16 143
+ 143: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 144 140 29 145 47 15 15 16
+ 146: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 144 51 29 117 15 52 144 15 16 143
147: TypePointer Uniform 142(ubo)
148: 147(ptr) Variable Uniform
150: 10(int) Constant 8
- 149: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 30 146 29 117 15 52 30 148 150
+ 149: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 30 146 29 117 15 52 30 148 150
151: 22(int) Constant 0
152: TypePointer Uniform 7(float)
160: 10(int) Constant 69
- 158: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 159 8 29 160 15 76 25
+ 158: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 159 8 29 160 15 76 25
168: TypeMatrix 17(fvec3) 3
- 169: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 18 16 125
+ 169: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 18 16 125
170: TypePointer Function 168
174: 10(int) Constant 71
- 172: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 173 169 29 174 15 76 25
+ 172: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 173 169 29 174 15 76 25
181: 7(float) Constant 1065353216
201: 10(int) Constant 79
- 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 200 169 29 201 15 76 25
+ 199: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 200 169 29 201 15 76 25
227: 10(int) Constant 87
- 225: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 226 169 29 227 15 76 25
+ 225: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 226 169 29 227 15 76 25
241: 10(int) Constant 91
- 239: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 240 169 29 241 15 76 25
+ 239: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 240 169 29 241 15 76 25
250: 22(int) Constant 4
261: TypePointer Function 122
265: 10(int) Constant 96
- 263: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 264 123 29 265 15 76 25
+ 263: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 264 123 29 265 15 76 25
271: TypePointer Function 55(fvec4)
273: 22(int) Constant 1
274: 55(fvec4) ConstantComposite 91 181 91 91
280: 55(fvec4) ConstantComposite 91 91 91 181
285: 10(int) Constant 101
- 283: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 284 56 29 285 15 76 25
+ 283: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 284 56 29 285 15 76 25
298: 10(int) Constant 102
- 296: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 297 56 29 298 15 76 25
+ 296: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 297 56 29 298 15 76 25
302: 22(int) Constant 6
316: TypePointer Uniform 122
356: 10(int) Constant 108
- 354: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 355 18 29 356 15 76 25
+ 354: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 355 18 29 356 15 76 25
358: TypePointer Uniform 55(fvec4)
385: TypePointer Input 17(fvec3)
386(input.Pos): 385(ptr) Variable Input
@@ -343,11 +343,11 @@ Validation failed
282(locPos): 271(ptr) Variable Function
295(pos): 271(ptr) Variable Function
353(lPos): 97(ptr) Variable Function
- 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 76
- 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 29 15 15 15 15
- 82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 80 73(input) 83
- 84: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 76 74(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;)
- 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 87 86(output) 83
+ 78: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 76
+ 79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 29 15 15 15 15
+ 82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 80 73(input) 83
+ 84: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 76 74(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;)
+ 90: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 86(output) 83
Store 86(output) 94
98: 97(ptr) AccessChain 73(input) 96
99: 17(fvec3) Load 98
@@ -363,7 +363,7 @@ Validation failed
111: 17(fvec3) CompositeConstruct 109 110 108
112: 97(ptr) AccessChain 86(output) 96
Store 112 111
- 118: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 115 114(s) 83
+ 118: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 115 114(s) 83
120: 113(ptr) AccessChain 73(input) 119 15
121: 7(float) Load 120
153: 152(ptr) AccessChain 148 151 96
@@ -371,7 +371,7 @@ Validation failed
155: 7(float) FAdd 121 154
156: 7(float) ExtInst 2(GLSL.std.450) 13(Sin) 155
Store 114(s) 156
- 161: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 158 157(c) 83
+ 161: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 158 157(c) 83
162: 113(ptr) AccessChain 73(input) 119 15
163: 7(float) Load 162
164: 152(ptr) AccessChain 148 151 96
@@ -379,7 +379,7 @@ Validation failed
166: 7(float) FAdd 163 165
167: 7(float) ExtInst 2(GLSL.std.450) 14(Cos) 166
Store 157(c) 167
- 175: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 172 171(mx) 83
+ 175: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 172 171(mx) 83
176: 7(float) Load 157(c)
177: 7(float) Load 114(s)
178: 7(float) FNegate 177
@@ -404,7 +404,7 @@ Validation failed
196: 7(float) FAdd 193 195
197: 7(float) ExtInst 2(GLSL.std.450) 14(Cos) 196
Store 157(c) 197
- 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 199 198(my) 83
+ 202: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 199 198(my) 83
203: 7(float) Load 157(c)
204: 7(float) Load 114(s)
205: 7(float) FNegate 204
@@ -429,7 +429,7 @@ Validation failed
222: 7(float) FAdd 219 221
223: 7(float) ExtInst 2(GLSL.std.450) 14(Cos) 222
Store 157(c) 223
- 228: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 225 224(mz) 83
+ 228: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 225 224(mz) 83
229: 7(float) Load 157(c)
230: 7(float) Load 114(s)
231: 7(float) FNegate 230
@@ -440,7 +440,7 @@ Validation failed
236: 17(fvec3) CompositeConstruct 91 232 233
237: 168 CompositeConstruct 234 235 236
Store 224(mz) 237
- 242: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 239 238(rotMat) 83
+ 242: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 239 238(rotMat) 83
243: 168 Load 171(mx)
244: 168 Load 198(my)
245: 168 MatrixTimesMatrix 243 244
@@ -461,7 +461,7 @@ Validation failed
259: 7(float) FAdd 256 258
260: 7(float) ExtInst 2(GLSL.std.450) 14(Cos) 259
Store 157(c) 260
- 266: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 263 262(gRotMat) 83
+ 266: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 263 262(gRotMat) 83
267: 7(float) Load 157(c)
268: 7(float) Load 114(s)
269: 7(float) FNegate 268
@@ -477,7 +477,7 @@ Validation failed
Store 279 278
281: 271(ptr) AccessChain 262(gRotMat) 96
Store 281 280
- 286: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 283 282(locPos) 83
+ 286: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 283 282(locPos) 83
287: 97(ptr) AccessChain 73(input) 151
288: 17(fvec3) Load 287
289: 168 Load 238(rotMat)
@@ -487,7 +487,7 @@ Validation failed
293: 7(float) CompositeExtract 290 2
294: 55(fvec4) CompositeConstruct 291 292 293 181
Store 282(locPos) 294
- 299: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 296 295(pos) 83
+ 299: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 296 295(pos) 83
300: 55(fvec4) Load 282(locPos)
301: 17(fvec3) VectorShuffle 300 300 0 1 2
303: 113(ptr) AccessChain 73(input) 302
@@ -543,7 +543,7 @@ Validation failed
351: 122 Load 350
352: 55(fvec4) VectorTimesMatrix 349 351
Store 295(pos) 352
- 357: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 354 353(lPos) 83
+ 357: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 354 353(lPos) 83
359: 358(ptr) AccessChain 148 151 95
360: 55(fvec4) Load 359
361: 17(fvec3) VectorShuffle 360 360 0 1 2
diff --git a/Test/baseResults/spv.deepRvalue.frag.out b/Test/baseResults/spv.deepRvalue.frag.out
index d46159d7..efb9d2ec 100644
--- a/Test/baseResults/spv.deepRvalue.frag.out
+++ b/Test/baseResults/spv.deepRvalue.frag.out
@@ -1,6 +1,6 @@
spv.deepRvalue.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 152
Capability Shader
diff --git a/Test/baseResults/spv.depthOut.frag.out b/Test/baseResults/spv.depthOut.frag.out
index 50c47702..4d69949f 100644
--- a/Test/baseResults/spv.depthOut.frag.out
+++ b/Test/baseResults/spv.depthOut.frag.out
@@ -1,6 +1,6 @@
spv.depthOut.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 15
Capability Shader
diff --git a/Test/baseResults/spv.depthUnchanged.frag.out b/Test/baseResults/spv.depthUnchanged.frag.out
index 00740078..34785c08 100644
--- a/Test/baseResults/spv.depthUnchanged.frag.out
+++ b/Test/baseResults/spv.depthUnchanged.frag.out
@@ -1,6 +1,6 @@
spv.depthUnchanged.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/spv.deviceGroup.frag.out b/Test/baseResults/spv.deviceGroup.frag.out
index 57c443c0..68285a1b 100644
--- a/Test/baseResults/spv.deviceGroup.frag.out
+++ b/Test/baseResults/spv.deviceGroup.frag.out
@@ -1,6 +1,6 @@
spv.deviceGroup.frag
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 17
Capability Shader
diff --git a/Test/baseResults/spv.discard-dce.frag.out b/Test/baseResults/spv.discard-dce.frag.out
index 93c2de8f..bddf6f9e 100644
--- a/Test/baseResults/spv.discard-dce.frag.out
+++ b/Test/baseResults/spv.discard-dce.frag.out
@@ -1,6 +1,6 @@
spv.discard-dce.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 84
Capability Shader
diff --git a/Test/baseResults/spv.do-simple.vert.out b/Test/baseResults/spv.do-simple.vert.out
index c240c449..c0196c2b 100644
--- a/Test/baseResults/spv.do-simple.vert.out
+++ b/Test/baseResults/spv.do-simple.vert.out
@@ -1,6 +1,6 @@
spv.do-simple.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 21
Capability Shader
diff --git a/Test/baseResults/spv.do-while-continue-break.vert.out b/Test/baseResults/spv.do-while-continue-break.vert.out
index 081dc620..26e67fcb 100644
--- a/Test/baseResults/spv.do-while-continue-break.vert.out
+++ b/Test/baseResults/spv.do-while-continue-break.vert.out
@@ -1,6 +1,6 @@
spv.do-while-continue-break.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 43
Capability Shader
diff --git a/Test/baseResults/spv.doWhileLoop.frag.out b/Test/baseResults/spv.doWhileLoop.frag.out
index a57b9b2e..145776c9 100644
--- a/Test/baseResults/spv.doWhileLoop.frag.out
+++ b/Test/baseResults/spv.doWhileLoop.frag.out
@@ -1,6 +1,6 @@
spv.doWhileLoop.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 34
Capability Shader
diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out
index 800464cc..3a5eef8a 100644
--- a/Test/baseResults/spv.double.comp.out
+++ b/Test/baseResults/spv.double.comp.out
@@ -1,6 +1,6 @@
spv.double.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 60
Capability Shader
diff --git a/Test/baseResults/spv.drawParams.vert.out b/Test/baseResults/spv.drawParams.vert.out
index a8dab45c..23ba8a73 100644
--- a/Test/baseResults/spv.drawParams.vert.out
+++ b/Test/baseResults/spv.drawParams.vert.out
@@ -1,6 +1,6 @@
spv.drawParams.vert
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.earlyReturnDiscard.frag.out b/Test/baseResults/spv.earlyReturnDiscard.frag.out
index 8f983cb5..273b7753 100644
--- a/Test/baseResults/spv.earlyReturnDiscard.frag.out
+++ b/Test/baseResults/spv.earlyReturnDiscard.frag.out
@@ -1,6 +1,6 @@
spv.earlyReturnDiscard.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 110
Capability Shader
diff --git a/Test/baseResults/spv.explicittypes.frag.out b/Test/baseResults/spv.explicittypes.frag.out
index 33828720..65d3b1ff 100644
--- a/Test/baseResults/spv.explicittypes.frag.out
+++ b/Test/baseResults/spv.explicittypes.frag.out
@@ -1,6 +1,6 @@
spv.explicittypes.frag
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 576
Capability Shader
diff --git a/Test/baseResults/spv.ext.AccelDecl.frag.out b/Test/baseResults/spv.ext.AccelDecl.frag.out
index 11d45606..e329ee92 100644
--- a/Test/baseResults/spv.ext.AccelDecl.frag.out
+++ b/Test/baseResults/spv.ext.AccelDecl.frag.out
@@ -1,6 +1,6 @@
spv.ext.AccelDecl.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 15
Capability Shader
diff --git a/Test/baseResults/spv.ext.AnyHitShader.rahit.out b/Test/baseResults/spv.ext.AnyHitShader.rahit.out
index 0a6db643..1d1d14a7 100644
--- a/Test/baseResults/spv.ext.AnyHitShader.rahit.out
+++ b/Test/baseResults/spv.ext.AnyHitShader.rahit.out
@@ -1,6 +1,6 @@
spv.ext.AnyHitShader.rahit
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 108
Capability GroupNonUniform
diff --git a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
index 4a7178e9..73a23811 100644
--- a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
+++ b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
@@ -1,6 +1,6 @@
spv.ext.ClosestHitShader.rchit
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 102
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
index 24ab4f46..e5b62d7c 100644
--- a/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
+++ b/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
@@ -1,6 +1,6 @@
spv.ext.ClosestHitShader_Subgroup.rchit
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 67
Capability Int64
diff --git a/Test/baseResults/spv.ext.IntersectShader.rint.out b/Test/baseResults/spv.ext.IntersectShader.rint.out
index dcceea48..fad466bb 100644
--- a/Test/baseResults/spv.ext.IntersectShader.rint.out
+++ b/Test/baseResults/spv.ext.IntersectShader.rint.out
@@ -1,6 +1,6 @@
spv.ext.IntersectShader.rint
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 84
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.ext.MissShader.rmiss.out b/Test/baseResults/spv.ext.MissShader.rmiss.out
index e4a5b88b..246eefa6 100644
--- a/Test/baseResults/spv.ext.MissShader.rmiss.out
+++ b/Test/baseResults/spv.ext.MissShader.rmiss.out
@@ -1,6 +1,6 @@
spv.ext.MissShader.rmiss
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 94
Capability MinLod
diff --git a/Test/baseResults/spv.ext.RayCallable.rcall.out b/Test/baseResults/spv.ext.RayCallable.rcall.out
index 50e7fd8f..9e6cef13 100644
--- a/Test/baseResults/spv.ext.RayCallable.rcall.out
+++ b/Test/baseResults/spv.ext.RayCallable.rcall.out
@@ -1,6 +1,6 @@
spv.ext.RayCallable.rcall
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.ext.RayConstants.rgen.out b/Test/baseResults/spv.ext.RayConstants.rgen.out
index 6ef9dd4d..9cd294a9 100644
--- a/Test/baseResults/spv.ext.RayConstants.rgen.out
+++ b/Test/baseResults/spv.ext.RayConstants.rgen.out
@@ -1,6 +1,6 @@
spv.ext.RayConstants.rgen
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
index 88e3c004..31a8bda0 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
@@ -1,6 +1,6 @@
spv.ext.RayGenSBTlayout.rgen
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 74
Capability Int64
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
index ce5c3063..f0302f74 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
@@ -1,6 +1,6 @@
spv.ext.RayGenSBTlayout140.rgen
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 74
Capability Int64
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
index 7462abd9..e83dd424 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
@@ -1,6 +1,6 @@
spv.ext.RayGenSBTlayout430.rgen
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 74
Capability Int64
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
index 35734556..a24b64c7 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
@@ -1,6 +1,6 @@
spv.ext.RayGenSBTlayoutscalar.rgen
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 74
Capability Int64
diff --git a/Test/baseResults/spv.ext.RayGenShader.rgen.out b/Test/baseResults/spv.ext.RayGenShader.rgen.out
index 5a34fc7e..b872d9e0 100644
--- a/Test/baseResults/spv.ext.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader.rgen.out
@@ -1,6 +1,6 @@
spv.ext.RayGenShader.rgen
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 58
Capability RayTraversalPrimitiveCullingKHR
diff --git a/Test/baseResults/spv.ext.RayGenShader11.rgen.out b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
index b31ebd9a..d79f4f37 100644
--- a/Test/baseResults/spv.ext.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
@@ -1,6 +1,6 @@
spv.ext.RayGenShader11.rgen
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 53
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
index 08f72b28..7e351d75 100644
--- a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
@@ -1,6 +1,6 @@
spv.ext.RayGenShaderArray.rgen
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 117
Capability Int64
diff --git a/Test/baseResults/spv.ext.RayQueryDecl.frag.out b/Test/baseResults/spv.ext.RayQueryDecl.frag.out
index 97681e9f..2eb14216 100644
--- a/Test/baseResults/spv.ext.RayQueryDecl.frag.out
+++ b/Test/baseResults/spv.ext.RayQueryDecl.frag.out
@@ -1,6 +1,6 @@
spv.ext.RayQueryDecl.frag
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 15
Capability Shader
diff --git a/Test/baseResults/spv.ext.World3x4.rahit.out b/Test/baseResults/spv.ext.World3x4.rahit.out
index 8c60912c..92ad18fb 100644
--- a/Test/baseResults/spv.ext.World3x4.rahit.out
+++ b/Test/baseResults/spv.ext.World3x4.rahit.out
@@ -1,6 +1,6 @@
spv.ext.World3x4.rahit
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 90
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out b/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out
index ee9c6033..4db61129 100644
--- a/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out
+++ b/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out
@@ -1,7 +1,7 @@
spv.ext.meshShaderBuiltins.mesh
// Module Version 10400
-// Generated by (magic number): 8000a
-// Id's are bound by 159
+// Generated by (magic number): 8000b
+// Id's are bound by 158
Capability ClipDistance
Capability CullDistance
@@ -13,7 +13,7 @@ spv.ext.meshShaderBuiltins.mesh
Extension "SPV_KHR_fragment_shading_rate"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint MeshEXT 4 "main" 13 19 24 41 93 135 153 156
+ EntryPoint MeshEXT 4 "main" 13 19 24 41 93 134 152 155
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
@@ -45,11 +45,11 @@ spv.ext.meshShaderBuiltins.mesh
MemberName 90(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT"
MemberName 90(gl_MeshPerPrimitiveEXT) 4 "gl_PrimitiveShadingRateEXT"
Name 93 "gl_MeshPrimitivesEXT"
- Name 135 "gl_PrimitiveTriangleIndicesEXT"
- Name 151 "id"
- Name 153 "gl_DrawIDARB"
- Name 155 "viewIdx"
- Name 156 "gl_ViewIndex"
+ Name 134 "gl_PrimitiveTriangleIndicesEXT"
+ Name 150 "id"
+ Name 152 "gl_DrawIDARB"
+ Name 154 "viewIdx"
+ Name 155 "gl_ViewIndex"
Decorate 13(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId
Decorate 24(gl_NumWorkGroups) BuiltIn NumWorkgroups
@@ -69,10 +69,10 @@ spv.ext.meshShaderBuiltins.mesh
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR
Decorate 90(gl_MeshPerPrimitiveEXT) Block
- Decorate 135(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT
- Decorate 153(gl_DrawIDARB) BuiltIn DrawIndex
- Decorate 156(gl_ViewIndex) BuiltIn ViewIndex
- Decorate 158 BuiltIn WorkgroupSize
+ Decorate 134(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT
+ Decorate 152(gl_DrawIDARB) BuiltIn DrawIndex
+ Decorate 155(gl_ViewIndex) BuiltIn ViewIndex
+ Decorate 157 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
8: TypeInt 32 0
@@ -123,19 +123,18 @@ spv.ext.meshShaderBuiltins.mesh
102: 43(int) Constant 8
105: 89(bool) ConstantFalse
106: TypePointer Output 89(bool)
- 132: 8(int) Constant 96
- 133: TypeArray 11(ivec3) 132
- 134: TypePointer Output 133
-135(gl_PrimitiveTriangleIndicesEXT): 134(ptr) Variable Output
- 136: 8(int) Constant 257
- 137: 11(ivec3) ConstantComposite 136 136 136
- 138: TypePointer Output 11(ivec3)
- 142: 11(ivec3) ConstantComposite 64 64 64
- 150: TypePointer Function 43(int)
- 152: TypePointer Input 43(int)
-153(gl_DrawIDARB): 152(ptr) Variable Input
-156(gl_ViewIndex): 152(ptr) Variable Input
- 158: 11(ivec3) ConstantComposite 29 62 62
+ 132: TypeArray 11(ivec3) 29
+ 133: TypePointer Output 132
+134(gl_PrimitiveTriangleIndicesEXT): 133(ptr) Variable Output
+ 135: 8(int) Constant 257
+ 136: 11(ivec3) ConstantComposite 135 135 135
+ 137: TypePointer Output 11(ivec3)
+ 141: 11(ivec3) ConstantComposite 64 64 64
+ 149: TypePointer Function 43(int)
+ 151: TypePointer Input 43(int)
+152(gl_DrawIDARB): 151(ptr) Variable Input
+155(gl_ViewIndex): 151(ptr) Variable Input
+ 157: 11(ivec3) ConstantComposite 29 62 62
4(main): 2 Function None 3
5: Label
10(iid): 9(ptr) Variable Function
@@ -244,30 +243,30 @@ spv.ext.meshShaderBuiltins.mesh
Store 131 130
MemoryBarrier 62 63
ControlBarrier 64 64 63
- 139: 138(ptr) AccessChain 135(gl_PrimitiveTriangleIndicesEXT) 44
- Store 139 137
- 140: 8(int) Load 28(primitiveCount)
- 141: 8(int) ISub 140 62
- 143: 138(ptr) AccessChain 135(gl_PrimitiveTriangleIndicesEXT) 141
- Store 143 142
+ 138: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 44
+ Store 138 136
+ 139: 8(int) Load 28(primitiveCount)
+ 140: 8(int) ISub 139 62
+ 142: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 140
+ Store 142 141
+ 143: 8(int) Load 18(gid)
144: 8(int) Load 18(gid)
- 145: 8(int) Load 18(gid)
- 146: 8(int) ISub 145 62
- 147: 138(ptr) AccessChain 135(gl_PrimitiveTriangleIndicesEXT) 146
- 148: 11(ivec3) Load 147
- 149: 138(ptr) AccessChain 135(gl_PrimitiveTriangleIndicesEXT) 144
- Store 149 148
+ 145: 8(int) ISub 144 62
+ 146: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 145
+ 147: 11(ivec3) Load 146
+ 148: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 143
+ Store 148 147
MemoryBarrier 62 63
ControlBarrier 64 64 63
Return
FunctionEnd
6(testAdditionalBuiltins(): 2 Function None 3
7: Label
- 151(id): 150(ptr) Variable Function
- 155(viewIdx): 150(ptr) Variable Function
- 154: 43(int) Load 153(gl_DrawIDARB)
- Store 151(id) 154
- 157: 43(int) Load 156(gl_ViewIndex)
- Store 155(viewIdx) 157
+ 150(id): 149(ptr) Variable Function
+ 154(viewIdx): 149(ptr) Variable Function
+ 153: 43(int) Load 152(gl_DrawIDARB)
+ Store 150(id) 153
+ 156: 43(int) Load 155(gl_ViewIndex)
+ Store 154(viewIdx) 156
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out b/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out
index 7f2bdf8d..a331a471 100644
--- a/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out
+++ b/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out
@@ -1,6 +1,6 @@
spv.ext.meshShaderRedeclBuiltins.mesh
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 128
Capability ClipDistance
diff --git a/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out b/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out
index 79b2c65a..b206177e 100644
--- a/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out
+++ b/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out
@@ -1,6 +1,6 @@
spv.ext.meshShaderTaskMem.mesh
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 58
Capability MeshShadingEXT
diff --git a/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out
index d9d74ab9..dc347aac 100644
--- a/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out
+++ b/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out
@@ -1,6 +1,6 @@
spv.ext.meshShaderUserDefined.mesh
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 141
Capability MeshShadingEXT
diff --git a/Test/baseResults/spv.ext.meshTaskShader.task.out b/Test/baseResults/spv.ext.meshTaskShader.task.out
index fb769f04..41a81d0a 100644
--- a/Test/baseResults/spv.ext.meshTaskShader.task.out
+++ b/Test/baseResults/spv.ext.meshTaskShader.task.out
@@ -1,6 +1,6 @@
spv.ext.meshTaskShader.task
// Module Version 10400
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 103
Capability StorageImageWriteWithoutFormat
diff --git a/Test/baseResults/spv.extPostDepthCoverage.frag.out b/Test/baseResults/spv.extPostDepthCoverage.frag.out
index cc96fb4f..7e4c6f5d 100644
--- a/Test/baseResults/spv.extPostDepthCoverage.frag.out
+++ b/Test/baseResults/spv.extPostDepthCoverage.frag.out
@@ -1,6 +1,6 @@
spv.extPostDepthCoverage.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 6
Capability Shader
diff --git a/Test/baseResults/spv.float16.frag.out b/Test/baseResults/spv.float16.frag.out
index 8c33a667..2cce8155 100644
--- a/Test/baseResults/spv.float16.frag.out
+++ b/Test/baseResults/spv.float16.frag.out
@@ -1,7 +1,7 @@
spv.float16.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 542
Capability Shader
diff --git a/Test/baseResults/spv.float16Fetch.frag.out b/Test/baseResults/spv.float16Fetch.frag.out
index da4aa4dd..17eb5b3b 100644
--- a/Test/baseResults/spv.float16Fetch.frag.out
+++ b/Test/baseResults/spv.float16Fetch.frag.out
@@ -1,7 +1,7 @@
spv.float16Fetch.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 5979
Capability Shader
diff --git a/Test/baseResults/spv.float16NoRelaxed.vert.out b/Test/baseResults/spv.float16NoRelaxed.vert.out
index 8872b463..9e821ab2 100644
--- a/Test/baseResults/spv.float16NoRelaxed.vert.out
+++ b/Test/baseResults/spv.float16NoRelaxed.vert.out
@@ -1,6 +1,6 @@
spv.float16NoRelaxed.vert
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 35
Capability Shader
diff --git a/Test/baseResults/spv.float16convertonlyarith.comp.out b/Test/baseResults/spv.float16convertonlyarith.comp.out
index 1666f79f..81d1c602 100644
--- a/Test/baseResults/spv.float16convertonlyarith.comp.out
+++ b/Test/baseResults/spv.float16convertonlyarith.comp.out
@@ -1,6 +1,6 @@
spv.float16convertonlyarith.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/spv.float16convertonlystorage.comp.out b/Test/baseResults/spv.float16convertonlystorage.comp.out
index 8eb42f6f..be15f43c 100644
--- a/Test/baseResults/spv.float16convertonlystorage.comp.out
+++ b/Test/baseResults/spv.float16convertonlystorage.comp.out
@@ -1,6 +1,6 @@
spv.float16convertonlystorage.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/spv.float32.frag.out b/Test/baseResults/spv.float32.frag.out
index 2ffa2311..d2cc6094 100644
--- a/Test/baseResults/spv.float32.frag.out
+++ b/Test/baseResults/spv.float32.frag.out
@@ -1,6 +1,6 @@
spv.float32.frag
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 541
Capability Shader
diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out
index cd5f80d6..68e8f1c7 100644
--- a/Test/baseResults/spv.float64.frag.out
+++ b/Test/baseResults/spv.float64.frag.out
@@ -1,7 +1,7 @@
spv.float64.frag
Validation failed
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 485
Capability Shader
diff --git a/Test/baseResults/spv.flowControl.frag.out b/Test/baseResults/spv.flowControl.frag.out
index efbe63eb..62f6ad70 100644
--- a/Test/baseResults/spv.flowControl.frag.out
+++ b/Test/baseResults/spv.flowControl.frag.out
@@ -1,6 +1,6 @@
spv.flowControl.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
diff --git a/Test/baseResults/spv.for-complex-condition.vert.out b/Test/baseResults/spv.for-complex-condition.vert.out
index ca971fd5..16b23a0f 100644
--- a/Test/baseResults/spv.for-complex-condition.vert.out
+++ b/Test/baseResults/spv.for-complex-condition.vert.out
@@ -1,6 +1,6 @@
spv.for-complex-condition.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Shader
diff --git a/Test/baseResults/spv.for-continue-break.vert.out b/Test/baseResults/spv.for-continue-break.vert.out
index 4ba1cb91..10ab24e9 100644
--- a/Test/baseResults/spv.for-continue-break.vert.out
+++ b/Test/baseResults/spv.for-continue-break.vert.out
@@ -1,6 +1,6 @@
spv.for-continue-break.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 45
Capability Shader
diff --git a/Test/baseResults/spv.for-nobody.vert.out b/Test/baseResults/spv.for-nobody.vert.out
index b965a58e..7a0b6de2 100644
--- a/Test/baseResults/spv.for-nobody.vert.out
+++ b/Test/baseResults/spv.for-nobody.vert.out
@@ -1,6 +1,6 @@
spv.for-nobody.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 25
Capability Shader
diff --git a/Test/baseResults/spv.for-notest.vert.out b/Test/baseResults/spv.for-notest.vert.out
index d3e96032..b08c6a15 100644
--- a/Test/baseResults/spv.for-notest.vert.out
+++ b/Test/baseResults/spv.for-notest.vert.out
@@ -1,6 +1,6 @@
spv.for-notest.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/spv.for-simple.vert.out b/Test/baseResults/spv.for-simple.vert.out
index c4de9965..92f3083d 100644
--- a/Test/baseResults/spv.for-simple.vert.out
+++ b/Test/baseResults/spv.for-simple.vert.out
@@ -1,6 +1,6 @@
spv.for-simple.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/spv.forLoop.frag.out b/Test/baseResults/spv.forLoop.frag.out
index 3a366677..2a359617 100644
--- a/Test/baseResults/spv.forLoop.frag.out
+++ b/Test/baseResults/spv.forLoop.frag.out
@@ -1,6 +1,6 @@
spv.forLoop.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 143
Capability Shader
diff --git a/Test/baseResults/spv.forwardFun.frag.out b/Test/baseResults/spv.forwardFun.frag.out
index f1662865..77f39416 100644
--- a/Test/baseResults/spv.forwardFun.frag.out
+++ b/Test/baseResults/spv.forwardFun.frag.out
@@ -1,6 +1,6 @@
spv.forwardFun.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 60
Capability Shader
diff --git a/Test/baseResults/spv.fragmentDensity-es.frag.out b/Test/baseResults/spv.fragmentDensity-es.frag.out
index 253ce2ee..fb1407e4 100644
--- a/Test/baseResults/spv.fragmentDensity-es.frag.out
+++ b/Test/baseResults/spv.fragmentDensity-es.frag.out
@@ -1,6 +1,6 @@
spv.fragmentDensity-es.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/spv.fragmentDensity.frag.out b/Test/baseResults/spv.fragmentDensity.frag.out
index 4c831f29..43261cd1 100644
--- a/Test/baseResults/spv.fragmentDensity.frag.out
+++ b/Test/baseResults/spv.fragmentDensity.frag.out
@@ -1,6 +1,6 @@
spv.fragmentDensity.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 21
Capability Shader
diff --git a/Test/baseResults/spv.fragmentShaderBarycentric.frag.out b/Test/baseResults/spv.fragmentShaderBarycentric.frag.out
index ef800bdd..29b290bb 100644
--- a/Test/baseResults/spv.fragmentShaderBarycentric.frag.out
+++ b/Test/baseResults/spv.fragmentShaderBarycentric.frag.out
@@ -1,6 +1,6 @@
spv.fragmentShaderBarycentric.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 43
Capability Shader
diff --git a/Test/baseResults/spv.fragmentShaderBarycentric2.frag.out b/Test/baseResults/spv.fragmentShaderBarycentric2.frag.out
index 23926cd7..18f0ca37 100644
--- a/Test/baseResults/spv.fragmentShaderBarycentric2.frag.out
+++ b/Test/baseResults/spv.fragmentShaderBarycentric2.frag.out
@@ -1,6 +1,6 @@
spv.fragmentShaderBarycentric2.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 62
Capability Shader
diff --git a/Test/baseResults/spv.fragmentShaderBarycentric3.frag.out b/Test/baseResults/spv.fragmentShaderBarycentric3.frag.out
index 7fe21b34..60badf61 100644
--- a/Test/baseResults/spv.fragmentShaderBarycentric3.frag.out
+++ b/Test/baseResults/spv.fragmentShaderBarycentric3.frag.out
@@ -1,6 +1,6 @@
spv.fragmentShaderBarycentric3.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 43
Capability Shader
diff --git a/Test/baseResults/spv.fragmentShaderBarycentric4.frag.out b/Test/baseResults/spv.fragmentShaderBarycentric4.frag.out
index 9218646d..fc0e5764 100644
--- a/Test/baseResults/spv.fragmentShaderBarycentric4.frag.out
+++ b/Test/baseResults/spv.fragmentShaderBarycentric4.frag.out
@@ -1,6 +1,6 @@
spv.fragmentShaderBarycentric4.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 62
Capability Shader
diff --git a/Test/baseResults/spv.fsi.frag.out b/Test/baseResults/spv.fsi.frag.out
index 3e06aed0..1b5fbf47 100644
--- a/Test/baseResults/spv.fsi.frag.out
+++ b/Test/baseResults/spv.fsi.frag.out
@@ -1,6 +1,6 @@
spv.fsi.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/spv.fullyCovered.frag.out b/Test/baseResults/spv.fullyCovered.frag.out
index ae7b426c..cd730a48 100644
--- a/Test/baseResults/spv.fullyCovered.frag.out
+++ b/Test/baseResults/spv.fullyCovered.frag.out
@@ -1,6 +1,6 @@
spv.fullyCovered.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/spv.funcall.array.frag.out b/Test/baseResults/spv.funcall.array.frag.out
index 616ba16c..b4e2bfbe 100644
--- a/Test/baseResults/spv.funcall.array.frag.out
+++ b/Test/baseResults/spv.funcall.array.frag.out
@@ -1,6 +1,6 @@
spv.funcall.array.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 66
Capability Shader
diff --git a/Test/baseResults/spv.functionCall.frag.out b/Test/baseResults/spv.functionCall.frag.out
index 58b04610..52d167c3 100644
--- a/Test/baseResults/spv.functionCall.frag.out
+++ b/Test/baseResults/spv.functionCall.frag.out
@@ -4,7 +4,7 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas
WARNING: 0:5: varying deprecated in version 130; may be removed in future release
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 76
Capability Shader
diff --git a/Test/baseResults/spv.functionNestedOpaque.vert.out b/Test/baseResults/spv.functionNestedOpaque.vert.out
index 96a64aa3..58787600 100644
--- a/Test/baseResults/spv.functionNestedOpaque.vert.out
+++ b/Test/baseResults/spv.functionNestedOpaque.vert.out
@@ -1,7 +1,7 @@
spv.functionNestedOpaque.vert
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
diff --git a/Test/baseResults/spv.functionParameterTypes.frag.out b/Test/baseResults/spv.functionParameterTypes.frag.out
index 65a33da2..19f54292 100644
--- a/Test/baseResults/spv.functionParameterTypes.frag.out
+++ b/Test/baseResults/spv.functionParameterTypes.frag.out
@@ -1,6 +1,6 @@
spv.functionParameterTypes.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 34
Capability Shader
diff --git a/Test/baseResults/spv.functionSemantics.frag.out b/Test/baseResults/spv.functionSemantics.frag.out
index f12aae09..dc8520d3 100644
--- a/Test/baseResults/spv.functionSemantics.frag.out
+++ b/Test/baseResults/spv.functionSemantics.frag.out
@@ -1,6 +1,6 @@
spv.functionSemantics.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 156
Capability Shader
diff --git a/Test/baseResults/spv.glFragColor.frag.out b/Test/baseResults/spv.glFragColor.frag.out
index df391298..033769ff 100644
--- a/Test/baseResults/spv.glFragColor.frag.out
+++ b/Test/baseResults/spv.glFragColor.frag.out
@@ -1,6 +1,6 @@
spv.glFragColor.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 12
Capability Shader
diff --git a/Test/baseResults/spv.glsl.register.autoassign.frag.out b/Test/baseResults/spv.glsl.register.autoassign.frag.out
index 01df400f..041edb97 100644
--- a/Test/baseResults/spv.glsl.register.autoassign.frag.out
+++ b/Test/baseResults/spv.glsl.register.autoassign.frag.out
@@ -1,6 +1,6 @@
spv.glsl.register.autoassign.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 142
Capability Shader
diff --git a/Test/baseResults/spv.glsl.register.noautoassign.frag.out b/Test/baseResults/spv.glsl.register.noautoassign.frag.out
index e475a008..ccf68804 100644
--- a/Test/baseResults/spv.glsl.register.noautoassign.frag.out
+++ b/Test/baseResults/spv.glsl.register.noautoassign.frag.out
@@ -1,6 +1,6 @@
spv.glsl.register.noautoassign.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 142
Capability Shader
diff --git a/Test/baseResults/spv.hlslDebugInfo.frag.out b/Test/baseResults/spv.hlslDebugInfo.frag.out
index 9ce266db..d68c0546 100644
--- a/Test/baseResults/spv.hlslDebugInfo.frag.out
+++ b/Test/baseResults/spv.hlslDebugInfo.frag.out
@@ -1,6 +1,6 @@
spv.hlslDebugInfo.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 19
Capability Shader
diff --git a/Test/baseResults/spv.hlslOffsets.vert.out b/Test/baseResults/spv.hlslOffsets.vert.out
index cc712839..d2d6443c 100644
--- a/Test/baseResults/spv.hlslOffsets.vert.out
+++ b/Test/baseResults/spv.hlslOffsets.vert.out
@@ -18,7 +18,7 @@ Shader version: 450
0:? 'anon@0' (layout( binding=0 column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 14
Capability Shader
diff --git a/Test/baseResults/spv.image.frag.out b/Test/baseResults/spv.image.frag.out
index 5fbb922e..f71a1cc2 100644
--- a/Test/baseResults/spv.image.frag.out
+++ b/Test/baseResults/spv.image.frag.out
@@ -1,7 +1,7 @@
spv.image.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 405
Capability Shader
diff --git a/Test/baseResults/spv.imageAtomic64.comp.out b/Test/baseResults/spv.imageAtomic64.comp.out
index 0b1a0939..4317ae05 100644
--- a/Test/baseResults/spv.imageAtomic64.comp.out
+++ b/Test/baseResults/spv.imageAtomic64.comp.out
@@ -1,6 +1,6 @@
spv.imageAtomic64.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 28
Capability Shader
diff --git a/Test/baseResults/spv.imageAtomic64.frag.out b/Test/baseResults/spv.imageAtomic64.frag.out
index 30836978..1c002ab2 100644
--- a/Test/baseResults/spv.imageAtomic64.frag.out
+++ b/Test/baseResults/spv.imageAtomic64.frag.out
@@ -1,7 +1,7 @@
spv.imageAtomic64.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 503
Capability Shader
diff --git a/Test/baseResults/spv.imageLoadStoreLod.frag.out b/Test/baseResults/spv.imageLoadStoreLod.frag.out
index b8094742..4a16d75a 100644
--- a/Test/baseResults/spv.imageLoadStoreLod.frag.out
+++ b/Test/baseResults/spv.imageLoadStoreLod.frag.out
@@ -1,6 +1,6 @@
spv.imageLoadStoreLod.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 148
Capability Shader
diff --git a/Test/baseResults/spv.int16.amd.frag.out b/Test/baseResults/spv.int16.amd.frag.out
index 676d99c1..53f55377 100644
--- a/Test/baseResults/spv.int16.amd.frag.out
+++ b/Test/baseResults/spv.int16.amd.frag.out
@@ -1,6 +1,6 @@
spv.int16.amd.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 576
Capability Shader
diff --git a/Test/baseResults/spv.int16.frag.out b/Test/baseResults/spv.int16.frag.out
index 3e10a7db..ed788f87 100644
--- a/Test/baseResults/spv.int16.frag.out
+++ b/Test/baseResults/spv.int16.frag.out
@@ -1,6 +1,6 @@
spv.int16.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 549
Capability Shader
diff --git a/Test/baseResults/spv.int32.frag.out b/Test/baseResults/spv.int32.frag.out
index af232ec3..2c260dd2 100644
--- a/Test/baseResults/spv.int32.frag.out
+++ b/Test/baseResults/spv.int32.frag.out
@@ -1,6 +1,6 @@
spv.int32.frag
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 505
Capability Shader
diff --git a/Test/baseResults/spv.int64.frag.out b/Test/baseResults/spv.int64.frag.out
index f2fd600f..e335a543 100644
--- a/Test/baseResults/spv.int64.frag.out
+++ b/Test/baseResults/spv.int64.frag.out
@@ -1,7 +1,7 @@
spv.int64.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 513
Capability Shader
diff --git a/Test/baseResults/spv.int8.frag.out b/Test/baseResults/spv.int8.frag.out
index e9cd5f86..3bfeb1a4 100644
--- a/Test/baseResults/spv.int8.frag.out
+++ b/Test/baseResults/spv.int8.frag.out
@@ -1,6 +1,6 @@
spv.int8.frag
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 544
Capability Shader
diff --git a/Test/baseResults/spv.intOps.vert.out b/Test/baseResults/spv.intOps.vert.out
index b57eac2b..67b11d2c 100644
--- a/Test/baseResults/spv.intOps.vert.out
+++ b/Test/baseResults/spv.intOps.vert.out
@@ -1,6 +1,6 @@
spv.intOps.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 302
Capability Shader
diff --git a/Test/baseResults/spv.intcoopmat.comp.out b/Test/baseResults/spv.intcoopmat.comp.out
index 6a697432..bc502552 100644
--- a/Test/baseResults/spv.intcoopmat.comp.out
+++ b/Test/baseResults/spv.intcoopmat.comp.out
@@ -1,6 +1,6 @@
spv.intcoopmat.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 262
Capability Shader
diff --git a/Test/baseResults/spv.interpOps.frag.out b/Test/baseResults/spv.interpOps.frag.out
index 808c1cdb..62bd2b62 100644
--- a/Test/baseResults/spv.interpOps.frag.out
+++ b/Test/baseResults/spv.interpOps.frag.out
@@ -1,6 +1,6 @@
spv.interpOps.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 120
Capability Shader
diff --git a/Test/baseResults/spv.intrinsicsSpirvByReference.vert.out b/Test/baseResults/spv.intrinsicsSpirvByReference.vert.out
index d46b33f8..e15bb576 100644
--- a/Test/baseResults/spv.intrinsicsSpirvByReference.vert.out
+++ b/Test/baseResults/spv.intrinsicsSpirvByReference.vert.out
@@ -1,6 +1,6 @@
spv.intrinsicsSpirvByReference.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out b/Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out
index c41dcc9c..b926c519 100644
--- a/Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out
+++ b/Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out
@@ -1,6 +1,6 @@
spv.intrinsicsSpirvDecorate.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 43
Capability Shader
diff --git a/Test/baseResults/spv.intrinsicsSpirvExecutionMode.frag.out b/Test/baseResults/spv.intrinsicsSpirvExecutionMode.frag.out
index cdea3820..d5f935b5 100644
--- a/Test/baseResults/spv.intrinsicsSpirvExecutionMode.frag.out
+++ b/Test/baseResults/spv.intrinsicsSpirvExecutionMode.frag.out
@@ -1,6 +1,6 @@
spv.intrinsicsSpirvExecutionMode.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 12
Capability Shader
diff --git a/Test/baseResults/spv.intrinsicsSpirvInstruction.vert.out b/Test/baseResults/spv.intrinsicsSpirvInstruction.vert.out
index 0e95e42b..31035059 100644
--- a/Test/baseResults/spv.intrinsicsSpirvInstruction.vert.out
+++ b/Test/baseResults/spv.intrinsicsSpirvInstruction.vert.out
@@ -1,6 +1,6 @@
spv.intrinsicsSpirvInstruction.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 32
Capability Shader
diff --git a/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out b/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out
index 096cc611..48eef5eb 100644
--- a/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out
+++ b/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out
@@ -1,6 +1,6 @@
spv.intrinsicsSpirvLiteral.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 13
Capability Shader
diff --git a/Test/baseResults/spv.intrinsicsSpirvStorageClass.rchit.out b/Test/baseResults/spv.intrinsicsSpirvStorageClass.rchit.out
index 4be5b914..3bf1394c 100644
--- a/Test/baseResults/spv.intrinsicsSpirvStorageClass.rchit.out
+++ b/Test/baseResults/spv.intrinsicsSpirvStorageClass.rchit.out
@@ -1,6 +1,6 @@
spv.intrinsicsSpirvStorageClass.rchit
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 13
Capability RayTracingKHR
diff --git a/Test/baseResults/spv.intrinsicsSpirvType.rgen.out b/Test/baseResults/spv.intrinsicsSpirvType.rgen.out
index f3937b49..5d67de70 100644
--- a/Test/baseResults/spv.intrinsicsSpirvType.rgen.out
+++ b/Test/baseResults/spv.intrinsicsSpirvType.rgen.out
@@ -1,6 +1,6 @@
spv.intrinsicsSpirvType.rgen
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 21
Capability RayQueryKHR
diff --git a/Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out b/Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out
index 75515be0..248af083 100644
--- a/Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out
+++ b/Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out
@@ -1,6 +1,6 @@
spv.intrinsicsSpirvTypeLocalVar.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/spv.invariantAll.vert.out b/Test/baseResults/spv.invariantAll.vert.out
index ec5ad30a..d1703dca 100644
--- a/Test/baseResults/spv.invariantAll.vert.out
+++ b/Test/baseResults/spv.invariantAll.vert.out
@@ -1,6 +1,6 @@
spv.invariantAll.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 25
Capability Shader
diff --git a/Test/baseResults/spv.layer.tese.out b/Test/baseResults/spv.layer.tese.out
index 906340fe..fb78e63c 100644
--- a/Test/baseResults/spv.layer.tese.out
+++ b/Test/baseResults/spv.layer.tese.out
@@ -1,6 +1,6 @@
spv.layer.tese
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 10
Capability Tessellation
diff --git a/Test/baseResults/spv.layoutNested.vert.out b/Test/baseResults/spv.layoutNested.vert.out
index 7de04d40..2d5111c5 100644
--- a/Test/baseResults/spv.layoutNested.vert.out
+++ b/Test/baseResults/spv.layoutNested.vert.out
@@ -1,6 +1,6 @@
spv.layoutNested.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 66
Capability Shader
diff --git a/Test/baseResults/spv.length.frag.out b/Test/baseResults/spv.length.frag.out
index 8957a3cd..93199e7d 100644
--- a/Test/baseResults/spv.length.frag.out
+++ b/Test/baseResults/spv.length.frag.out
@@ -1,6 +1,6 @@
spv.length.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability Shader
diff --git a/Test/baseResults/spv.load.bool.array.interface.block.frag.out b/Test/baseResults/spv.load.bool.array.interface.block.frag.out
index f45736cb..7a802990 100644
--- a/Test/baseResults/spv.load.bool.array.interface.block.frag.out
+++ b/Test/baseResults/spv.load.bool.array.interface.block.frag.out
@@ -1,6 +1,6 @@
spv.load.bool.array.interface.block.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 80
Capability Shader
diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out
index 637fb6d7..a9ce54fb 100644
--- a/Test/baseResults/spv.localAggregates.frag.out
+++ b/Test/baseResults/spv.localAggregates.frag.out
@@ -1,6 +1,6 @@
spv.localAggregates.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 136
Capability Shader
diff --git a/Test/baseResults/spv.loops.frag.out b/Test/baseResults/spv.loops.frag.out
index 7178f358..17f4db45 100644
--- a/Test/baseResults/spv.loops.frag.out
+++ b/Test/baseResults/spv.loops.frag.out
@@ -1,6 +1,6 @@
spv.loops.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 725
Capability Shader
diff --git a/Test/baseResults/spv.loopsArtificial.frag.out b/Test/baseResults/spv.loopsArtificial.frag.out
index 4de834db..27a84fdc 100644
--- a/Test/baseResults/spv.loopsArtificial.frag.out
+++ b/Test/baseResults/spv.loopsArtificial.frag.out
@@ -1,6 +1,6 @@
spv.loopsArtificial.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 158
Capability Shader
diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out
index 932018fa..12018877 100644
--- a/Test/baseResults/spv.matFun.vert.out
+++ b/Test/baseResults/spv.matFun.vert.out
@@ -1,6 +1,6 @@
spv.matFun.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 103
Capability Shader
diff --git a/Test/baseResults/spv.matrix.frag.out b/Test/baseResults/spv.matrix.frag.out
index a287cda7..deeaf90d 100644
--- a/Test/baseResults/spv.matrix.frag.out
+++ b/Test/baseResults/spv.matrix.frag.out
@@ -1,6 +1,6 @@
spv.matrix.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 286
Capability Shader
diff --git a/Test/baseResults/spv.matrix2.frag.out b/Test/baseResults/spv.matrix2.frag.out
index 13f2708d..f9cdaebc 100644
--- a/Test/baseResults/spv.matrix2.frag.out
+++ b/Test/baseResults/spv.matrix2.frag.out
@@ -1,6 +1,6 @@
spv.matrix2.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 221
Capability Shader
diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out
index fce8c9cc..e0a5207f 100644
--- a/Test/baseResults/spv.memoryQualifier.frag.out
+++ b/Test/baseResults/spv.memoryQualifier.frag.out
@@ -1,7 +1,7 @@
spv.memoryQualifier.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 105
Capability Shader
diff --git a/Test/baseResults/spv.memoryScopeSemantics.comp.out b/Test/baseResults/spv.memoryScopeSemantics.comp.out
index 56c8470e..1078aa5f 100644
--- a/Test/baseResults/spv.memoryScopeSemantics.comp.out
+++ b/Test/baseResults/spv.memoryScopeSemantics.comp.out
@@ -1,6 +1,6 @@
spv.memoryScopeSemantics.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 169
Capability Shader
diff --git a/Test/baseResults/spv.merge-unreachable.frag.out b/Test/baseResults/spv.merge-unreachable.frag.out
index dedec9c8..2b919dce 100644
--- a/Test/baseResults/spv.merge-unreachable.frag.out
+++ b/Test/baseResults/spv.merge-unreachable.frag.out
@@ -1,6 +1,6 @@
spv.merge-unreachable.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 25
Capability Shader
diff --git a/Test/baseResults/spv.meshShaderBuiltins.mesh.out b/Test/baseResults/spv.meshShaderBuiltins.mesh.out
index b26122ef..f6b0f05c 100644
--- a/Test/baseResults/spv.meshShaderBuiltins.mesh.out
+++ b/Test/baseResults/spv.meshShaderBuiltins.mesh.out
@@ -1,6 +1,6 @@
spv.meshShaderBuiltins.mesh
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 148
Capability ClipDistance
diff --git a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
index 86a4fd2e..111fa2bc 100644
--- a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
+++ b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
@@ -1,6 +1,6 @@
spv.meshShaderPerViewBuiltins.mesh
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 126
Capability PerViewAttributesNV
diff --git a/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out b/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out
index e9eaed3f..cd6a95b8 100644
--- a/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out
+++ b/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out
@@ -1,6 +1,6 @@
spv.meshShaderPerViewUserDefined.mesh
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 108
Capability MeshShadingNV
diff --git a/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out b/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out
index bfd2d85b..60422d66 100644
--- a/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out
+++ b/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out
@@ -1,6 +1,6 @@
spv.meshShaderRedeclBuiltins.mesh
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 129
Capability ClipDistance
diff --git a/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out b/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out
index 9f881e61..f6c20383 100644
--- a/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out
+++ b/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out
@@ -1,6 +1,6 @@
spv.meshShaderRedeclPerViewBuiltins.mesh
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 120
Capability PerViewAttributesNV
diff --git a/Test/baseResults/spv.meshShaderSharedMem.mesh.out b/Test/baseResults/spv.meshShaderSharedMem.mesh.out
index 7960ffaa..9ad333c8 100644
--- a/Test/baseResults/spv.meshShaderSharedMem.mesh.out
+++ b/Test/baseResults/spv.meshShaderSharedMem.mesh.out
@@ -1,6 +1,6 @@
spv.meshShaderSharedMem.mesh
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 77
Capability StorageImageWriteWithoutFormat
diff --git a/Test/baseResults/spv.meshShaderTaskMem.mesh.out b/Test/baseResults/spv.meshShaderTaskMem.mesh.out
index be804392..fcbec3d6 100644
--- a/Test/baseResults/spv.meshShaderTaskMem.mesh.out
+++ b/Test/baseResults/spv.meshShaderTaskMem.mesh.out
@@ -1,6 +1,6 @@
spv.meshShaderTaskMem.mesh
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 58
Capability MeshShadingNV
diff --git a/Test/baseResults/spv.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.meshShaderUserDefined.mesh.out
index 01ee933d..0e5fd050 100644
--- a/Test/baseResults/spv.meshShaderUserDefined.mesh.out
+++ b/Test/baseResults/spv.meshShaderUserDefined.mesh.out
@@ -1,6 +1,6 @@
spv.meshShaderUserDefined.mesh
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 141
Capability MeshShadingNV
diff --git a/Test/baseResults/spv.meshTaskShader.task.out b/Test/baseResults/spv.meshTaskShader.task.out
index 9fed1915..9442f973 100644
--- a/Test/baseResults/spv.meshTaskShader.task.out
+++ b/Test/baseResults/spv.meshTaskShader.task.out
@@ -1,6 +1,6 @@
spv.meshTaskShader.task
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 116
Capability StorageImageWriteWithoutFormat
diff --git a/Test/baseResults/spv.multiStruct.comp.out b/Test/baseResults/spv.multiStruct.comp.out
index 13a3528f..0ff605cc 100644
--- a/Test/baseResults/spv.multiStruct.comp.out
+++ b/Test/baseResults/spv.multiStruct.comp.out
@@ -1,6 +1,6 @@
spv.multiStruct.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 161
Capability Shader
diff --git a/Test/baseResults/spv.multiStructFuncall.frag.out b/Test/baseResults/spv.multiStructFuncall.frag.out
index eec734a3..50f4b78b 100644
--- a/Test/baseResults/spv.multiStructFuncall.frag.out
+++ b/Test/baseResults/spv.multiStructFuncall.frag.out
@@ -1,6 +1,6 @@
spv.multiStructFuncall.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 65
Capability Shader
diff --git a/Test/baseResults/spv.multiView.frag.out b/Test/baseResults/spv.multiView.frag.out
index a1575d98..c6afe8f6 100644
--- a/Test/baseResults/spv.multiView.frag.out
+++ b/Test/baseResults/spv.multiView.frag.out
@@ -1,6 +1,6 @@
spv.multiView.frag
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 17
Capability Shader
diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
index b1c29f9b..95279512 100644
--- a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
+++ b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
@@ -1,6 +1,6 @@
spv.multiviewPerViewAttributes.tesc
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 41
Capability Tessellation
diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out
index 0a4e1f0b..8268e5de 100644
--- a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out
+++ b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out
@@ -1,6 +1,6 @@
spv.multiviewPerViewAttributes.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out
index 332ca662..723fe21a 100644
--- a/Test/baseResults/spv.newTexture.frag.out
+++ b/Test/baseResults/spv.newTexture.frag.out
@@ -1,7 +1,7 @@
spv.newTexture.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 284
Capability Shader
diff --git a/Test/baseResults/spv.noBuiltInLoc.vert.out b/Test/baseResults/spv.noBuiltInLoc.vert.out
index 63220520..65ee22a6 100644
--- a/Test/baseResults/spv.noBuiltInLoc.vert.out
+++ b/Test/baseResults/spv.noBuiltInLoc.vert.out
@@ -1,6 +1,6 @@
spv.noBuiltInLoc.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 35
Capability Shader
diff --git a/Test/baseResults/spv.noDeadDecorations.vert.out b/Test/baseResults/spv.noDeadDecorations.vert.out
index 4a4d7b38..0185eaf3 100644
--- a/Test/baseResults/spv.noDeadDecorations.vert.out
+++ b/Test/baseResults/spv.noDeadDecorations.vert.out
@@ -1,6 +1,6 @@
spv.noDeadDecorations.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 32
Capability Shader
diff --git a/Test/baseResults/spv.noWorkgroup.comp.out b/Test/baseResults/spv.noWorkgroup.comp.out
index a8969e02..e92ebcb2 100644
--- a/Test/baseResults/spv.noWorkgroup.comp.out
+++ b/Test/baseResults/spv.noWorkgroup.comp.out
@@ -1,6 +1,6 @@
spv.noWorkgroup.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Shader
diff --git a/Test/baseResults/spv.nonSquare.vert.out b/Test/baseResults/spv.nonSquare.vert.out
index 3728dd5d..94401be8 100644
--- a/Test/baseResults/spv.nonSquare.vert.out
+++ b/Test/baseResults/spv.nonSquare.vert.out
@@ -1,6 +1,6 @@
spv.nonSquare.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 90
Capability Shader
diff --git a/Test/baseResults/spv.nonuniform.frag.out b/Test/baseResults/spv.nonuniform.frag.out
index f6febc9b..26b020c5 100644
--- a/Test/baseResults/spv.nonuniform.frag.out
+++ b/Test/baseResults/spv.nonuniform.frag.out
@@ -1,6 +1,6 @@
spv.nonuniform.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 289
Capability Shader
diff --git a/Test/baseResults/spv.nonuniform2.frag.out b/Test/baseResults/spv.nonuniform2.frag.out
index bb89ba79..b9d64ddc 100644
--- a/Test/baseResults/spv.nonuniform2.frag.out
+++ b/Test/baseResults/spv.nonuniform2.frag.out
@@ -1,6 +1,6 @@
spv.nonuniform2.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/spv.nonuniform3.frag.out b/Test/baseResults/spv.nonuniform3.frag.out
index b48916c5..119a6d9b 100644
--- a/Test/baseResults/spv.nonuniform3.frag.out
+++ b/Test/baseResults/spv.nonuniform3.frag.out
@@ -1,6 +1,6 @@
spv.nonuniform3.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 32
Capability Shader
diff --git a/Test/baseResults/spv.nonuniform4.frag.out b/Test/baseResults/spv.nonuniform4.frag.out
index 6bfc9575..4442e5f5 100644
--- a/Test/baseResults/spv.nonuniform4.frag.out
+++ b/Test/baseResults/spv.nonuniform4.frag.out
@@ -1,6 +1,6 @@
spv.nonuniform4.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/spv.nonuniform5.frag.out b/Test/baseResults/spv.nonuniform5.frag.out
index ebbb6f41..abf10c2c 100644
--- a/Test/baseResults/spv.nonuniform5.frag.out
+++ b/Test/baseResults/spv.nonuniform5.frag.out
@@ -1,6 +1,6 @@
spv.nonuniform5.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Shader
diff --git a/Test/baseResults/spv.nullInit.comp.out b/Test/baseResults/spv.nullInit.comp.out
index b7908b57..f4321851 100755
--- a/Test/baseResults/spv.nullInit.comp.out
+++ b/Test/baseResults/spv.nullInit.comp.out
@@ -1,6 +1,6 @@
spv.nullInit.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 37
Capability Shader
diff --git a/Test/baseResults/spv.nv.hitobject-allops.rchit.out b/Test/baseResults/spv.nv.hitobject-allops.rchit.out
new file mode 100644
index 00000000..15e6d416
--- /dev/null
+++ b/Test/baseResults/spv.nv.hitobject-allops.rchit.out
@@ -0,0 +1,215 @@
+spv.nv.hitobject-allops.rchit
+// Module Version 10400
+// Generated by (magic number): 8000b
+// Id's are bound by 116
+
+ Capability RayTracingKHR
+ Capability ShaderInvocationReorderNV
+ Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_NV_shader_invocation_reorder"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint ClosestHitKHR 4 "main" 9 14 22 25 36 42 48 52 53 64
+ Source GLSL 460
+ SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_NV_ray_tracing_motion_blur"
+ SourceExtension "GL_NV_shader_invocation_reorder"
+ Name 4 "main"
+ Name 9 "attr"
+ Name 12 "hBlock"
+ MemberName 12(hBlock) 0 "attrval"
+ Name 14 ""
+ Name 22 "hObj"
+ Name 25 "as"
+ Name 36 "payload"
+ Name 40 "pBlock"
+ MemberName 40(pBlock) 0 "val1"
+ MemberName 40(pBlock) 1 "val2"
+ Name 42 ""
+ Name 48 "hObjHit"
+ Name 52 "hObjNop"
+ Name 53 "hObjMiss"
+ Name 62 "block"
+ MemberName 62(block) 0 "op"
+ Name 64 ""
+ Name 79 "tmin"
+ Name 81 "tmax"
+ Name 84 "orig"
+ Name 86 "dir"
+ Name 88 "oorig"
+ Name 90 "odir"
+ Name 94 "otw"
+ Name 96 "wto"
+ Name 99 "cid"
+ Name 101 "iid"
+ Name 103 "pid"
+ Name 105 "gid"
+ Name 108 "hkind"
+ Name 112 "handle"
+ Name 114 "rid"
+ Decorate 12(hBlock) Block
+ Decorate 25(as) DescriptorSet 0
+ Decorate 25(as) Binding 0
+ Decorate 40(pBlock) Block
+ MemberDecorate 62(block) 0 Offset 0
+ Decorate 62(block) Block
+ Decorate 64 DescriptorSet 0
+ Decorate 64 Binding 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer HitObjectAttributeNV 7(fvec2)
+ 9(attr): 8(ptr) Variable HitObjectAttributeNV
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec2) ConstantComposite 10 10
+ 12(hBlock): TypeStruct 6(float)
+ 13: TypePointer HitObjectAttributeNV 12(hBlock)
+ 14: 13(ptr) Variable HitObjectAttributeNV
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 0
+ 17: 6(float) Constant 1073741824
+ 18: TypePointer HitObjectAttributeNV 6(float)
+ 20: TypeHitObjectNV
+ 21: TypePointer Private 20
+ 22(hObj): 21(ptr) Variable Private
+ 23: TypeAccelerationStructureKHR
+ 24: TypePointer UniformConstant 23
+ 25(as): 24(ptr) Variable UniformConstant
+ 27: TypeInt 32 0
+ 28: 27(int) Constant 1
+ 29: TypeVector 6(float) 3
+ 30: 6(float) Constant 1056964608
+ 31: 29(fvec3) ConstantComposite 30 30 30
+ 32: 29(fvec3) ConstantComposite 10 10 10
+ 33: 15(int) Constant 1
+ 34: TypeVector 6(float) 4
+ 35: TypePointer RayPayloadKHR 34(fvec4)
+ 36(payload): 35(ptr) Variable RayPayloadKHR
+ 38: 6(float) Constant 1092616192
+ 39: 15(int) Constant 2
+ 40(pBlock): TypeStruct 7(fvec2) 7(fvec2)
+ 41: TypePointer RayPayloadKHR 40(pBlock)
+ 42: 41(ptr) Variable RayPayloadKHR
+ 44: 27(int) Constant 2
+ 45: 29(fvec3) ConstantComposite 17 17 17
+ 47: 6(float) Constant 1082130432
+ 48(hObjHit): 21(ptr) Variable Private
+ 50: 15(int) Constant 3
+ 52(hObjNop): 21(ptr) Variable Private
+ 53(hObjMiss): 21(ptr) Variable Private
+ 54: 6(float) Constant 1069547520
+ 55: 29(fvec3) ConstantComposite 54 54 54
+ 56: 6(float) Constant 1084227584
+ 57: 6(float) Constant 1090519040
+ 58: TypeBool
+ 62(block): TypeStruct 6(float)
+ 63: TypePointer StorageBuffer 62(block)
+ 64: 63(ptr) Variable StorageBuffer
+ 65: TypePointer StorageBuffer 6(float)
+ 76: 6(float) Constant 1077936128
+ 78: TypePointer Function 6(float)
+ 83: TypePointer Function 29(fvec3)
+ 92: TypeMatrix 29(fvec3) 4
+ 93: TypePointer Function 92
+ 98: TypePointer Function 15(int)
+ 107: TypePointer Function 27(int)
+ 110: TypeVector 27(int) 2
+ 111: TypePointer Function 110(ivec2)
+ 4(main): 2 Function None 3
+ 5: Label
+ 79(tmin): 78(ptr) Variable Function
+ 81(tmax): 78(ptr) Variable Function
+ 84(orig): 83(ptr) Variable Function
+ 86(dir): 83(ptr) Variable Function
+ 88(oorig): 83(ptr) Variable Function
+ 90(odir): 83(ptr) Variable Function
+ 94(otw): 93(ptr) Variable Function
+ 96(wto): 93(ptr) Variable Function
+ 99(cid): 98(ptr) Variable Function
+ 101(iid): 98(ptr) Variable Function
+ 103(pid): 98(ptr) Variable Function
+ 105(gid): 98(ptr) Variable Function
+ 108(hkind): 107(ptr) Variable Function
+ 112(handle): 111(ptr) Variable Function
+ 114(rid): 107(ptr) Variable Function
+ Store 9(attr) 11
+ 19: 18(ptr) AccessChain 14 16
+ Store 19 17
+ 26: 23 Load 25(as)
+ HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload)
+ 37: 23 Load 25(as)
+ HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42
+ 43: 23 Load 25(as)
+ HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr)
+ 46: 23 Load 25(as)
+ HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr)
+ 49: 23 Load 25(as)
+ HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14
+ 51: 23 Load 25(as)
+ HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14
+ HitObjectRecordEmptyNV 52(hObjNop)
+ HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56
+ HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57
+ HitObjectExecuteShaderNV 48(hObjHit) 42
+ 59: 58(bool) HitObjectIsHitNV 22(hObj)
+ SelectionMerge 61 None
+ BranchConditional 59 60 67
+ 60: Label
+ 66: 65(ptr) AccessChain 64 16
+ Store 66 10
+ Branch 61
+ 67: Label
+ 68: 58(bool) HitObjectIsMissNV 22(hObj)
+ SelectionMerge 70 None
+ BranchConditional 68 69 72
+ 69: Label
+ 71: 65(ptr) AccessChain 64 16
+ Store 71 17
+ Branch 70
+ 72: Label
+ 73: 58(bool) HitObjectIsEmptyNV 22(hObj)
+ SelectionMerge 75 None
+ BranchConditional 73 74 75
+ 74: Label
+ 77: 65(ptr) AccessChain 64 16
+ Store 77 76
+ Branch 75
+ 75: Label
+ Branch 70
+ 70: Label
+ Branch 61
+ 61: Label
+ 80: 6(float) HitObjectGetRayTMinNV 48(hObjHit)
+ Store 79(tmin) 80
+ 82: 6(float) HitObjectGetRayTMaxNV 48(hObjHit)
+ Store 81(tmax) 82
+ 85: 29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit)
+ Store 84(orig) 85
+ 87: 29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit)
+ Store 86(dir) 87
+ 89: 29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit)
+ Store 88(oorig) 89
+ 91: 29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit)
+ Store 90(odir) 91
+ 95: 92 HitObjectGetObjectToWorldNV 48(hObjHit)
+ Store 94(otw) 95
+ 97: 92 HitObjectGetWorldToObjectNV 48(hObjHit)
+ Store 96(wto) 97
+ 100: 15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss)
+ Store 99(cid) 100
+ 102: 15(int) HitObjectGetInstanceIdNV 52(hObjNop)
+ Store 101(iid) 102
+ 104: 15(int) HitObjectGetPrimitiveIndexNV 22(hObj)
+ Store 103(pid) 104
+ 106: 15(int) HitObjectGetGeometryIndexNV 22(hObj)
+ Store 105(gid) 106
+ 109: 27(int) HitObjectGetFrontFaceNV 22(hObj)
+ Store 108(hkind) 109
+ HitObjectGetAttributesNV 22(hObj) 9(attr)
+ 113: 110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj)
+ Store 112(handle) 113
+ 115: 27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj)
+ Store 114(rid) 115
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.nv.hitobject-allops.rgen.out b/Test/baseResults/spv.nv.hitobject-allops.rgen.out
new file mode 100644
index 00000000..d395500a
--- /dev/null
+++ b/Test/baseResults/spv.nv.hitobject-allops.rgen.out
@@ -0,0 +1,219 @@
+spv.nv.hitobject-allops.rgen
+// Module Version 10400
+// Generated by (magic number): 8000b
+// Id's are bound by 117
+
+ Capability RayTracingKHR
+ Capability ShaderInvocationReorderNV
+ Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_NV_shader_invocation_reorder"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint RayGenerationKHR 4 "main" 9 14 22 25 36 42 48 52 53 64
+ Source GLSL 460
+ SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_NV_ray_tracing_motion_blur"
+ SourceExtension "GL_NV_shader_invocation_reorder"
+ Name 4 "main"
+ Name 9 "attr"
+ Name 12 "hBlock"
+ MemberName 12(hBlock) 0 "attrval"
+ Name 14 ""
+ Name 22 "hObj"
+ Name 25 "as"
+ Name 36 "payload"
+ Name 40 "pBlock"
+ MemberName 40(pBlock) 0 "val1"
+ MemberName 40(pBlock) 1 "val2"
+ Name 42 ""
+ Name 48 "hObjHit"
+ Name 52 "hObjNop"
+ Name 53 "hObjMiss"
+ Name 62 "block"
+ MemberName 62(block) 0 "op"
+ Name 64 ""
+ Name 79 "tmin"
+ Name 81 "tmax"
+ Name 84 "orig"
+ Name 86 "dir"
+ Name 88 "oorig"
+ Name 90 "odir"
+ Name 94 "otw"
+ Name 96 "wto"
+ Name 99 "cid"
+ Name 101 "iid"
+ Name 103 "pid"
+ Name 105 "gid"
+ Name 108 "hkind"
+ Name 112 "handle"
+ Name 114 "rid"
+ Decorate 12(hBlock) Block
+ Decorate 25(as) DescriptorSet 0
+ Decorate 25(as) Binding 0
+ Decorate 40(pBlock) Block
+ MemberDecorate 62(block) 0 Offset 0
+ Decorate 62(block) Block
+ Decorate 64 DescriptorSet 0
+ Decorate 64 Binding 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer HitObjectAttributeNV 7(fvec2)
+ 9(attr): 8(ptr) Variable HitObjectAttributeNV
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec2) ConstantComposite 10 10
+ 12(hBlock): TypeStruct 6(float)
+ 13: TypePointer HitObjectAttributeNV 12(hBlock)
+ 14: 13(ptr) Variable HitObjectAttributeNV
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 0
+ 17: 6(float) Constant 1073741824
+ 18: TypePointer HitObjectAttributeNV 6(float)
+ 20: TypeHitObjectNV
+ 21: TypePointer Private 20
+ 22(hObj): 21(ptr) Variable Private
+ 23: TypeAccelerationStructureKHR
+ 24: TypePointer UniformConstant 23
+ 25(as): 24(ptr) Variable UniformConstant
+ 27: TypeInt 32 0
+ 28: 27(int) Constant 1
+ 29: TypeVector 6(float) 3
+ 30: 6(float) Constant 1056964608
+ 31: 29(fvec3) ConstantComposite 30 30 30
+ 32: 29(fvec3) ConstantComposite 10 10 10
+ 33: 15(int) Constant 1
+ 34: TypeVector 6(float) 4
+ 35: TypePointer RayPayloadKHR 34(fvec4)
+ 36(payload): 35(ptr) Variable RayPayloadKHR
+ 38: 6(float) Constant 1092616192
+ 39: 15(int) Constant 2
+ 40(pBlock): TypeStruct 7(fvec2) 7(fvec2)
+ 41: TypePointer RayPayloadKHR 40(pBlock)
+ 42: 41(ptr) Variable RayPayloadKHR
+ 44: 27(int) Constant 2
+ 45: 29(fvec3) ConstantComposite 17 17 17
+ 47: 6(float) Constant 1082130432
+ 48(hObjHit): 21(ptr) Variable Private
+ 50: 15(int) Constant 3
+ 52(hObjNop): 21(ptr) Variable Private
+ 53(hObjMiss): 21(ptr) Variable Private
+ 54: 6(float) Constant 1069547520
+ 55: 29(fvec3) ConstantComposite 54 54 54
+ 56: 6(float) Constant 1084227584
+ 57: 6(float) Constant 1090519040
+ 58: TypeBool
+ 62(block): TypeStruct 6(float)
+ 63: TypePointer StorageBuffer 62(block)
+ 64: 63(ptr) Variable StorageBuffer
+ 65: TypePointer StorageBuffer 6(float)
+ 76: 6(float) Constant 1077936128
+ 78: TypePointer Function 6(float)
+ 83: TypePointer Function 29(fvec3)
+ 92: TypeMatrix 29(fvec3) 4
+ 93: TypePointer Function 92
+ 98: TypePointer Function 15(int)
+ 107: TypePointer Function 27(int)
+ 110: TypeVector 27(int) 2
+ 111: TypePointer Function 110(ivec2)
+ 116: 27(int) Constant 4
+ 4(main): 2 Function None 3
+ 5: Label
+ 79(tmin): 78(ptr) Variable Function
+ 81(tmax): 78(ptr) Variable Function
+ 84(orig): 83(ptr) Variable Function
+ 86(dir): 83(ptr) Variable Function
+ 88(oorig): 83(ptr) Variable Function
+ 90(odir): 83(ptr) Variable Function
+ 94(otw): 93(ptr) Variable Function
+ 96(wto): 93(ptr) Variable Function
+ 99(cid): 98(ptr) Variable Function
+ 101(iid): 98(ptr) Variable Function
+ 103(pid): 98(ptr) Variable Function
+ 105(gid): 98(ptr) Variable Function
+ 108(hkind): 107(ptr) Variable Function
+ 112(handle): 111(ptr) Variable Function
+ 114(rid): 107(ptr) Variable Function
+ Store 9(attr) 11
+ 19: 18(ptr) AccessChain 14 16
+ Store 19 17
+ 26: 23 Load 25(as)
+ HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload)
+ 37: 23 Load 25(as)
+ HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42
+ 43: 23 Load 25(as)
+ HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr)
+ 46: 23 Load 25(as)
+ HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr)
+ 49: 23 Load 25(as)
+ HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14
+ 51: 23 Load 25(as)
+ HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14
+ HitObjectRecordEmptyNV 52(hObjNop)
+ HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56
+ HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57
+ HitObjectExecuteShaderNV 48(hObjHit) 36(payload)
+ 59: 58(bool) HitObjectIsHitNV 22(hObj)
+ SelectionMerge 61 None
+ BranchConditional 59 60 67
+ 60: Label
+ 66: 65(ptr) AccessChain 64 16
+ Store 66 10
+ Branch 61
+ 67: Label
+ 68: 58(bool) HitObjectIsMissNV 22(hObj)
+ SelectionMerge 70 None
+ BranchConditional 68 69 72
+ 69: Label
+ 71: 65(ptr) AccessChain 64 16
+ Store 71 17
+ Branch 70
+ 72: Label
+ 73: 58(bool) HitObjectIsEmptyNV 22(hObj)
+ SelectionMerge 75 None
+ BranchConditional 73 74 75
+ 74: Label
+ 77: 65(ptr) AccessChain 64 16
+ Store 77 76
+ Branch 75
+ 75: Label
+ Branch 70
+ 70: Label
+ Branch 61
+ 61: Label
+ 80: 6(float) HitObjectGetRayTMinNV 48(hObjHit)
+ Store 79(tmin) 80
+ 82: 6(float) HitObjectGetRayTMaxNV 48(hObjHit)
+ Store 81(tmax) 82
+ 85: 29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit)
+ Store 84(orig) 85
+ 87: 29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit)
+ Store 86(dir) 87
+ 89: 29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit)
+ Store 88(oorig) 89
+ 91: 29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit)
+ Store 90(odir) 91
+ 95: 92 HitObjectGetObjectToWorldNV 48(hObjHit)
+ Store 94(otw) 95
+ 97: 92 HitObjectGetWorldToObjectNV 48(hObjHit)
+ Store 96(wto) 97
+ 100: 15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss)
+ Store 99(cid) 100
+ 102: 15(int) HitObjectGetInstanceIdNV 52(hObjNop)
+ Store 101(iid) 102
+ 104: 15(int) HitObjectGetPrimitiveIndexNV 22(hObj)
+ Store 103(pid) 104
+ 106: 15(int) HitObjectGetGeometryIndexNV 22(hObj)
+ Store 105(gid) 106
+ 109: 27(int) HitObjectGetFrontFaceNV 22(hObj)
+ Store 108(hkind) 109
+ HitObjectGetAttributesNV 22(hObj) 9(attr)
+ 113: 110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj)
+ Store 112(handle) 113
+ 115: 27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj)
+ Store 114(rid) 115
+ ReorderThreadWithHintNV 116 116
+ ReorderThreadWithHitObjectNV 48(hObjHit)
+ ReorderThreadWithHitObjectNV 48(hObjHit) 116 44
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.nv.hitobject-allops.rmiss.out b/Test/baseResults/spv.nv.hitobject-allops.rmiss.out
new file mode 100644
index 00000000..970d08a1
--- /dev/null
+++ b/Test/baseResults/spv.nv.hitobject-allops.rmiss.out
@@ -0,0 +1,215 @@
+spv.nv.hitobject-allops.rmiss
+// Module Version 10400
+// Generated by (magic number): 8000b
+// Id's are bound by 116
+
+ Capability RayTracingKHR
+ Capability ShaderInvocationReorderNV
+ Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_NV_shader_invocation_reorder"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint MissKHR 4 "main" 9 14 22 25 36 42 48 52 53 64
+ Source GLSL 460
+ SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_NV_ray_tracing_motion_blur"
+ SourceExtension "GL_NV_shader_invocation_reorder"
+ Name 4 "main"
+ Name 9 "attr"
+ Name 12 "hBlock"
+ MemberName 12(hBlock) 0 "attrval"
+ Name 14 ""
+ Name 22 "hObj"
+ Name 25 "as"
+ Name 36 "payload"
+ Name 40 "pBlock"
+ MemberName 40(pBlock) 0 "val1"
+ MemberName 40(pBlock) 1 "val2"
+ Name 42 ""
+ Name 48 "hObjHit"
+ Name 52 "hObjNop"
+ Name 53 "hObjMiss"
+ Name 62 "block"
+ MemberName 62(block) 0 "op"
+ Name 64 ""
+ Name 79 "tmin"
+ Name 81 "tmax"
+ Name 84 "orig"
+ Name 86 "dir"
+ Name 88 "oorig"
+ Name 90 "odir"
+ Name 94 "otw"
+ Name 96 "wto"
+ Name 99 "cid"
+ Name 101 "iid"
+ Name 103 "pid"
+ Name 105 "gid"
+ Name 108 "hkind"
+ Name 112 "handle"
+ Name 114 "rid"
+ Decorate 12(hBlock) Block
+ Decorate 25(as) DescriptorSet 0
+ Decorate 25(as) Binding 0
+ Decorate 40(pBlock) Block
+ MemberDecorate 62(block) 0 Offset 0
+ Decorate 62(block) Block
+ Decorate 64 DescriptorSet 0
+ Decorate 64 Binding 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer HitObjectAttributeNV 7(fvec2)
+ 9(attr): 8(ptr) Variable HitObjectAttributeNV
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec2) ConstantComposite 10 10
+ 12(hBlock): TypeStruct 6(float)
+ 13: TypePointer HitObjectAttributeNV 12(hBlock)
+ 14: 13(ptr) Variable HitObjectAttributeNV
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 0
+ 17: 6(float) Constant 1073741824
+ 18: TypePointer HitObjectAttributeNV 6(float)
+ 20: TypeHitObjectNV
+ 21: TypePointer Private 20
+ 22(hObj): 21(ptr) Variable Private
+ 23: TypeAccelerationStructureKHR
+ 24: TypePointer UniformConstant 23
+ 25(as): 24(ptr) Variable UniformConstant
+ 27: TypeInt 32 0
+ 28: 27(int) Constant 1
+ 29: TypeVector 6(float) 3
+ 30: 6(float) Constant 1056964608
+ 31: 29(fvec3) ConstantComposite 30 30 30
+ 32: 29(fvec3) ConstantComposite 10 10 10
+ 33: 15(int) Constant 1
+ 34: TypeVector 6(float) 4
+ 35: TypePointer RayPayloadKHR 34(fvec4)
+ 36(payload): 35(ptr) Variable RayPayloadKHR
+ 38: 6(float) Constant 1092616192
+ 39: 15(int) Constant 2
+ 40(pBlock): TypeStruct 7(fvec2) 7(fvec2)
+ 41: TypePointer RayPayloadKHR 40(pBlock)
+ 42: 41(ptr) Variable RayPayloadKHR
+ 44: 27(int) Constant 2
+ 45: 29(fvec3) ConstantComposite 17 17 17
+ 47: 6(float) Constant 1082130432
+ 48(hObjHit): 21(ptr) Variable Private
+ 50: 15(int) Constant 3
+ 52(hObjNop): 21(ptr) Variable Private
+ 53(hObjMiss): 21(ptr) Variable Private
+ 54: 6(float) Constant 1069547520
+ 55: 29(fvec3) ConstantComposite 54 54 54
+ 56: 6(float) Constant 1084227584
+ 57: 6(float) Constant 1090519040
+ 58: TypeBool
+ 62(block): TypeStruct 6(float)
+ 63: TypePointer StorageBuffer 62(block)
+ 64: 63(ptr) Variable StorageBuffer
+ 65: TypePointer StorageBuffer 6(float)
+ 76: 6(float) Constant 1077936128
+ 78: TypePointer Function 6(float)
+ 83: TypePointer Function 29(fvec3)
+ 92: TypeMatrix 29(fvec3) 4
+ 93: TypePointer Function 92
+ 98: TypePointer Function 15(int)
+ 107: TypePointer Function 27(int)
+ 110: TypeVector 27(int) 2
+ 111: TypePointer Function 110(ivec2)
+ 4(main): 2 Function None 3
+ 5: Label
+ 79(tmin): 78(ptr) Variable Function
+ 81(tmax): 78(ptr) Variable Function
+ 84(orig): 83(ptr) Variable Function
+ 86(dir): 83(ptr) Variable Function
+ 88(oorig): 83(ptr) Variable Function
+ 90(odir): 83(ptr) Variable Function
+ 94(otw): 93(ptr) Variable Function
+ 96(wto): 93(ptr) Variable Function
+ 99(cid): 98(ptr) Variable Function
+ 101(iid): 98(ptr) Variable Function
+ 103(pid): 98(ptr) Variable Function
+ 105(gid): 98(ptr) Variable Function
+ 108(hkind): 107(ptr) Variable Function
+ 112(handle): 111(ptr) Variable Function
+ 114(rid): 107(ptr) Variable Function
+ Store 9(attr) 11
+ 19: 18(ptr) AccessChain 14 16
+ Store 19 17
+ 26: 23 Load 25(as)
+ HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload)
+ 37: 23 Load 25(as)
+ HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42
+ 43: 23 Load 25(as)
+ HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr)
+ 46: 23 Load 25(as)
+ HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr)
+ 49: 23 Load 25(as)
+ HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14
+ 51: 23 Load 25(as)
+ HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14
+ HitObjectRecordEmptyNV 52(hObjNop)
+ HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56
+ HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57
+ HitObjectExecuteShaderNV 48(hObjHit) 42
+ 59: 58(bool) HitObjectIsHitNV 22(hObj)
+ SelectionMerge 61 None
+ BranchConditional 59 60 67
+ 60: Label
+ 66: 65(ptr) AccessChain 64 16
+ Store 66 10
+ Branch 61
+ 67: Label
+ 68: 58(bool) HitObjectIsMissNV 22(hObj)
+ SelectionMerge 70 None
+ BranchConditional 68 69 72
+ 69: Label
+ 71: 65(ptr) AccessChain 64 16
+ Store 71 17
+ Branch 70
+ 72: Label
+ 73: 58(bool) HitObjectIsEmptyNV 22(hObj)
+ SelectionMerge 75 None
+ BranchConditional 73 74 75
+ 74: Label
+ 77: 65(ptr) AccessChain 64 16
+ Store 77 76
+ Branch 75
+ 75: Label
+ Branch 70
+ 70: Label
+ Branch 61
+ 61: Label
+ 80: 6(float) HitObjectGetRayTMinNV 48(hObjHit)
+ Store 79(tmin) 80
+ 82: 6(float) HitObjectGetRayTMaxNV 48(hObjHit)
+ Store 81(tmax) 82
+ 85: 29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit)
+ Store 84(orig) 85
+ 87: 29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit)
+ Store 86(dir) 87
+ 89: 29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit)
+ Store 88(oorig) 89
+ 91: 29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit)
+ Store 90(odir) 91
+ 95: 92 HitObjectGetObjectToWorldNV 48(hObjHit)
+ Store 94(otw) 95
+ 97: 92 HitObjectGetWorldToObjectNV 48(hObjHit)
+ Store 96(wto) 97
+ 100: 15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss)
+ Store 99(cid) 100
+ 102: 15(int) HitObjectGetInstanceIdNV 52(hObjNop)
+ Store 101(iid) 102
+ 104: 15(int) HitObjectGetPrimitiveIndexNV 22(hObj)
+ Store 103(pid) 104
+ 106: 15(int) HitObjectGetGeometryIndexNV 22(hObj)
+ Store 105(gid) 106
+ 109: 27(int) HitObjectGetFrontFaceNV 22(hObj)
+ Store 108(hkind) 109
+ HitObjectGetAttributesNV 22(hObj) 9(attr)
+ 113: 110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj)
+ Store 112(handle) 113
+ 115: 27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj)
+ Store 114(rid) 115
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.offsets.frag.out b/Test/baseResults/spv.offsets.frag.out
index a1a9f311..d753f2f0 100644
--- a/Test/baseResults/spv.offsets.frag.out
+++ b/Test/baseResults/spv.offsets.frag.out
@@ -1,6 +1,6 @@
spv.offsets.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 15
Capability Shader
diff --git a/Test/baseResults/spv.paramMemory.420.frag.out b/Test/baseResults/spv.paramMemory.420.frag.out
index 4cdc35f7..bc11df4f 100644
--- a/Test/baseResults/spv.paramMemory.420.frag.out
+++ b/Test/baseResults/spv.paramMemory.420.frag.out
@@ -1,7 +1,7 @@
spv.paramMemory.420.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 69
Capability Shader
diff --git a/Test/baseResults/spv.paramMemory.frag.out b/Test/baseResults/spv.paramMemory.frag.out
index a535cd3f..ebb2ccbb 100644
--- a/Test/baseResults/spv.paramMemory.frag.out
+++ b/Test/baseResults/spv.paramMemory.frag.out
@@ -1,7 +1,7 @@
spv.paramMemory.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 64
Capability Shader
diff --git a/Test/baseResults/spv.perprimitiveNV.frag.out b/Test/baseResults/spv.perprimitiveNV.frag.out
index 2a37f2b5..079a5f47 100644
--- a/Test/baseResults/spv.perprimitiveNV.frag.out
+++ b/Test/baseResults/spv.perprimitiveNV.frag.out
@@ -1,6 +1,6 @@
spv.perprimitiveNV.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Shader
diff --git a/Test/baseResults/spv.pp.line.frag.out b/Test/baseResults/spv.pp.line.frag.out
index c103b7bb..7218254d 100644
--- a/Test/baseResults/spv.pp.line.frag.out
+++ b/Test/baseResults/spv.pp.line.frag.out
@@ -3,7 +3,7 @@ WARNING: spv.pp.line.frag:7: varying deprecated in version 130; may be removed i
WARNING: spv.pp.line.frag:8: varying deprecated in version 130; may be removed in future release
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 84
Capability Shader
diff --git a/Test/baseResults/spv.precise.tesc.out b/Test/baseResults/spv.precise.tesc.out
index e13c6121..84617cae 100644
--- a/Test/baseResults/spv.precise.tesc.out
+++ b/Test/baseResults/spv.precise.tesc.out
@@ -1,6 +1,6 @@
spv.precise.tesc
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 72
Capability Tessellation
diff --git a/Test/baseResults/spv.precise.tese.out b/Test/baseResults/spv.precise.tese.out
index 7db4ed01..6fe183d2 100644
--- a/Test/baseResults/spv.precise.tese.out
+++ b/Test/baseResults/spv.precise.tese.out
@@ -1,6 +1,6 @@
spv.precise.tese
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 119
Capability Tessellation
diff --git a/Test/baseResults/spv.precision.frag.out b/Test/baseResults/spv.precision.frag.out
index 1d31230f..8144dfbf 100644
--- a/Test/baseResults/spv.precision.frag.out
+++ b/Test/baseResults/spv.precision.frag.out
@@ -1,6 +1,6 @@
spv.precision.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 165
Capability Shader
diff --git a/Test/baseResults/spv.precisionArgs.frag.out b/Test/baseResults/spv.precisionArgs.frag.out
index ae54a58a..a35b1d3c 100644
--- a/Test/baseResults/spv.precisionArgs.frag.out
+++ b/Test/baseResults/spv.precisionArgs.frag.out
@@ -1,6 +1,6 @@
spv.precisionArgs.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 83
Capability Shader
diff --git a/Test/baseResults/spv.precisionNonESSamp.frag.out b/Test/baseResults/spv.precisionNonESSamp.frag.out
index c4cd1eb7..40ca536b 100644
--- a/Test/baseResults/spv.precisionNonESSamp.frag.out
+++ b/Test/baseResults/spv.precisionNonESSamp.frag.out
@@ -1,6 +1,6 @@
spv.precisionNonESSamp.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 47
Capability Shader
diff --git a/Test/baseResults/spv.precisionTexture.frag.out b/Test/baseResults/spv.precisionTexture.frag.out
index d5e21b6c..e46b2d79 100644
--- a/Test/baseResults/spv.precisionTexture.frag.out
+++ b/Test/baseResults/spv.precisionTexture.frag.out
@@ -1,6 +1,6 @@
spv.precisionTexture.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 66
Capability Shader
diff --git a/Test/baseResults/spv.prepost.frag.out b/Test/baseResults/spv.prepost.frag.out
index 5fd6b379..b1f2d5e4 100644
--- a/Test/baseResults/spv.prepost.frag.out
+++ b/Test/baseResults/spv.prepost.frag.out
@@ -1,6 +1,6 @@
spv.prepost.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 94
Capability Shader
diff --git a/Test/baseResults/spv.privateVariableTypes.frag.out b/Test/baseResults/spv.privateVariableTypes.frag.out
index d5ad68ab..b09062a8 100644
--- a/Test/baseResults/spv.privateVariableTypes.frag.out
+++ b/Test/baseResults/spv.privateVariableTypes.frag.out
@@ -1,6 +1,6 @@
spv.privateVariableTypes.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/spv.pushConstant.vert.out b/Test/baseResults/spv.pushConstant.vert.out
index 888d134b..f6df47d5 100644
--- a/Test/baseResults/spv.pushConstant.vert.out
+++ b/Test/baseResults/spv.pushConstant.vert.out
@@ -1,6 +1,6 @@
spv.pushConstant.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 35
Capability Shader
diff --git a/Test/baseResults/spv.pushConstantAnon.vert.out b/Test/baseResults/spv.pushConstantAnon.vert.out
index 75efdbc1..ca7d345b 100644
--- a/Test/baseResults/spv.pushConstantAnon.vert.out
+++ b/Test/baseResults/spv.pushConstantAnon.vert.out
@@ -1,6 +1,6 @@
spv.pushConstantAnon.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 38
Capability Shader
diff --git a/Test/baseResults/spv.qualifiers.vert.out b/Test/baseResults/spv.qualifiers.vert.out
index 4180e176..0f0f347a 100644
--- a/Test/baseResults/spv.qualifiers.vert.out
+++ b/Test/baseResults/spv.qualifiers.vert.out
@@ -1,6 +1,6 @@
spv.qualifiers.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 21
Capability Shader
diff --git a/Test/baseResults/spv.queryL.frag.out b/Test/baseResults/spv.queryL.frag.out
index 1e386616..1e18387d 100644
--- a/Test/baseResults/spv.queryL.frag.out
+++ b/Test/baseResults/spv.queryL.frag.out
@@ -1,7 +1,7 @@
spv.queryL.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 224
Capability Shader
diff --git a/Test/baseResults/spv.queueFamilyScope.comp.out b/Test/baseResults/spv.queueFamilyScope.comp.out
index 9c239df2..49a59a38 100644
--- a/Test/baseResults/spv.queueFamilyScope.comp.out
+++ b/Test/baseResults/spv.queueFamilyScope.comp.out
@@ -1,6 +1,6 @@
spv.queueFamilyScope.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 21
Capability Shader
diff --git a/Test/baseResults/spv.rankShift.comp.out b/Test/baseResults/spv.rankShift.comp.out
index 1a725c13..cecde795 100644
--- a/Test/baseResults/spv.rankShift.comp.out
+++ b/Test/baseResults/spv.rankShift.comp.out
@@ -1,6 +1,6 @@
spv.rankShift.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability Shader
diff --git a/Test/baseResults/spv.register.autoassign-2.frag.out b/Test/baseResults/spv.register.autoassign-2.frag.out
index 26b149b8..61d920c2 100644
--- a/Test/baseResults/spv.register.autoassign-2.frag.out
+++ b/Test/baseResults/spv.register.autoassign-2.frag.out
@@ -1,6 +1,6 @@
spv.register.autoassign-2.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 47
Capability Shader
diff --git a/Test/baseResults/spv.register.autoassign.frag.out b/Test/baseResults/spv.register.autoassign.frag.out
index e347ce21..b4db04e6 100644
--- a/Test/baseResults/spv.register.autoassign.frag.out
+++ b/Test/baseResults/spv.register.autoassign.frag.out
@@ -1,6 +1,6 @@
spv.register.autoassign.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 155
Capability Shader
diff --git a/Test/baseResults/spv.register.autoassign.rangetest.frag.out b/Test/baseResults/spv.register.autoassign.rangetest.frag.out
index 4381daba..84a439a7 100644
--- a/Test/baseResults/spv.register.autoassign.rangetest.frag.out
+++ b/Test/baseResults/spv.register.autoassign.rangetest.frag.out
@@ -3,7 +3,7 @@ INTERNAL ERROR: mapped binding out of range: g_tSamp
INTERNAL ERROR: mapped binding out of range: g_tScene
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 52
Capability Shader
diff --git a/Test/baseResults/spv.register.noautoassign.frag.out b/Test/baseResults/spv.register.noautoassign.frag.out
index ed8d5075..8c8cd3cc 100644
--- a/Test/baseResults/spv.register.noautoassign.frag.out
+++ b/Test/baseResults/spv.register.noautoassign.frag.out
@@ -1,6 +1,6 @@
spv.register.noautoassign.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 155
Capability Shader
diff --git a/Test/baseResults/spv.register.subpass.frag.out b/Test/baseResults/spv.register.subpass.frag.out
index acd447d6..7c69c918 100644
--- a/Test/baseResults/spv.register.subpass.frag.out
+++ b/Test/baseResults/spv.register.subpass.frag.out
@@ -1,6 +1,6 @@
spv.register.subpass.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 40
Capability Shader
diff --git a/Test/baseResults/spv.rw.autoassign.frag.out b/Test/baseResults/spv.rw.autoassign.frag.out
index 27db3368..0c46493c 100644
--- a/Test/baseResults/spv.rw.autoassign.frag.out
+++ b/Test/baseResults/spv.rw.autoassign.frag.out
@@ -1,6 +1,6 @@
spv.rw.autoassign.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 45
Capability Shader
diff --git a/Test/baseResults/spv.sample.frag.out b/Test/baseResults/spv.sample.frag.out
index f43fc98c..631a5596 100644
--- a/Test/baseResults/spv.sample.frag.out
+++ b/Test/baseResults/spv.sample.frag.out
@@ -1,6 +1,6 @@
spv.sample.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 13
Capability Shader
diff --git a/Test/baseResults/spv.sampleId.frag.out b/Test/baseResults/spv.sampleId.frag.out
index 8f9bc387..7f3232d1 100644
--- a/Test/baseResults/spv.sampleId.frag.out
+++ b/Test/baseResults/spv.sampleId.frag.out
@@ -1,6 +1,6 @@
spv.sampleId.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 26
Capability Shader
diff --git a/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out b/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
index 9b401d88..6f22c5ab 100644
--- a/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
+++ b/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
@@ -1,6 +1,6 @@
spv.sampleMaskOverrideCoverage.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/spv.samplePosition.frag.out b/Test/baseResults/spv.samplePosition.frag.out
index 80128303..6c98addd 100644
--- a/Test/baseResults/spv.samplePosition.frag.out
+++ b/Test/baseResults/spv.samplePosition.frag.out
@@ -1,6 +1,6 @@
spv.samplePosition.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 30
Capability Shader
diff --git a/Test/baseResults/spv.samplerlessTextureFunctions.frag.out b/Test/baseResults/spv.samplerlessTextureFunctions.frag.out
index c2c431df..44799122 100644
--- a/Test/baseResults/spv.samplerlessTextureFunctions.frag.out
+++ b/Test/baseResults/spv.samplerlessTextureFunctions.frag.out
@@ -1,6 +1,6 @@
spv.samplerlessTextureFunctions.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 51
Capability Shader
diff --git a/Test/baseResults/spv.scalarlayout.frag.out b/Test/baseResults/spv.scalarlayout.frag.out
index e08721f8..977f06b7 100644
--- a/Test/baseResults/spv.scalarlayout.frag.out
+++ b/Test/baseResults/spv.scalarlayout.frag.out
@@ -1,6 +1,6 @@
spv.scalarlayout.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/spv.scalarlayoutfloat16.frag.out b/Test/baseResults/spv.scalarlayoutfloat16.frag.out
index 4f22730e..93c0d2a1 100644
--- a/Test/baseResults/spv.scalarlayoutfloat16.frag.out
+++ b/Test/baseResults/spv.scalarlayoutfloat16.frag.out
@@ -1,6 +1,6 @@
spv.scalarlayoutfloat16.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/spv.separate.frag.out b/Test/baseResults/spv.separate.frag.out
index d31f8973..b960934c 100644
--- a/Test/baseResults/spv.separate.frag.out
+++ b/Test/baseResults/spv.separate.frag.out
@@ -1,7 +1,7 @@
spv.separate.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 319
Capability Shader
diff --git a/Test/baseResults/spv.set.vert.out b/Test/baseResults/spv.set.vert.out
index 245b4bd8..b311c707 100644
--- a/Test/baseResults/spv.set.vert.out
+++ b/Test/baseResults/spv.set.vert.out
@@ -1,6 +1,6 @@
spv.set.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/spv.shaderBallot.comp.out b/Test/baseResults/spv.shaderBallot.comp.out
index 2a0106e6..143b2e93 100644
--- a/Test/baseResults/spv.shaderBallot.comp.out
+++ b/Test/baseResults/spv.shaderBallot.comp.out
@@ -1,6 +1,6 @@
spv.shaderBallot.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 397
Capability Shader
diff --git a/Test/baseResults/spv.shaderBallotAMD.comp.out b/Test/baseResults/spv.shaderBallotAMD.comp.out
index 9ea5ba00..2d8ad553 100644
--- a/Test/baseResults/spv.shaderBallotAMD.comp.out
+++ b/Test/baseResults/spv.shaderBallotAMD.comp.out
@@ -1,6 +1,6 @@
spv.shaderBallotAMD.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1343
Capability Shader
diff --git a/Test/baseResults/spv.shaderDrawParams.vert.out b/Test/baseResults/spv.shaderDrawParams.vert.out
index 5baabbf5..a84c2fea 100644
--- a/Test/baseResults/spv.shaderDrawParams.vert.out
+++ b/Test/baseResults/spv.shaderDrawParams.vert.out
@@ -1,6 +1,6 @@
spv.shaderDrawParams.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 53
Capability Shader
diff --git a/Test/baseResults/spv.shaderFragMaskAMD.frag.out b/Test/baseResults/spv.shaderFragMaskAMD.frag.out
index ab48e04e..3b461142 100644
--- a/Test/baseResults/spv.shaderFragMaskAMD.frag.out
+++ b/Test/baseResults/spv.shaderFragMaskAMD.frag.out
@@ -1,6 +1,6 @@
spv.shaderFragMaskAMD.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 80
Capability Shader
diff --git a/Test/baseResults/spv.shaderGroupVote.comp.out b/Test/baseResults/spv.shaderGroupVote.comp.out
index 4c45e33c..07241701 100644
--- a/Test/baseResults/spv.shaderGroupVote.comp.out
+++ b/Test/baseResults/spv.shaderGroupVote.comp.out
@@ -1,6 +1,6 @@
spv.shaderGroupVote.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability Shader
diff --git a/Test/baseResults/spv.shaderImageFootprint.frag.out b/Test/baseResults/spv.shaderImageFootprint.frag.out
index ea8873c4..743fd365 100644
--- a/Test/baseResults/spv.shaderImageFootprint.frag.out
+++ b/Test/baseResults/spv.shaderImageFootprint.frag.out
@@ -1,6 +1,6 @@
spv.shaderImageFootprint.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 622
Capability Shader
diff --git a/Test/baseResults/spv.shaderStencilExport.frag.out b/Test/baseResults/spv.shaderStencilExport.frag.out
index 9bb21789..ca85473a 100644
--- a/Test/baseResults/spv.shaderStencilExport.frag.out
+++ b/Test/baseResults/spv.shaderStencilExport.frag.out
@@ -1,6 +1,6 @@
spv.shaderStencilExport.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 10
Capability Shader
diff --git a/Test/baseResults/spv.shadingRate.frag.out b/Test/baseResults/spv.shadingRate.frag.out
index 866ae609..86079ce0 100644
--- a/Test/baseResults/spv.shadingRate.frag.out
+++ b/Test/baseResults/spv.shadingRate.frag.out
@@ -1,6 +1,6 @@
spv.shadingRate.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 21
Capability Shader
diff --git a/Test/baseResults/spv.shiftOps.frag.out b/Test/baseResults/spv.shiftOps.frag.out
index 03f75467..6f232a08 100644
--- a/Test/baseResults/spv.shiftOps.frag.out
+++ b/Test/baseResults/spv.shiftOps.frag.out
@@ -1,6 +1,6 @@
spv.shiftOps.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 38
Capability Shader
diff --git a/Test/baseResults/spv.shortCircuit.frag.out b/Test/baseResults/spv.shortCircuit.frag.out
index 3c706f77..017c88d8 100644
--- a/Test/baseResults/spv.shortCircuit.frag.out
+++ b/Test/baseResults/spv.shortCircuit.frag.out
@@ -1,6 +1,6 @@
spv.shortCircuit.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 147
Capability Shader
diff --git a/Test/baseResults/spv.simpleFunctionCall.frag.out b/Test/baseResults/spv.simpleFunctionCall.frag.out
index bda91b7f..8e879bbd 100644
--- a/Test/baseResults/spv.simpleFunctionCall.frag.out
+++ b/Test/baseResults/spv.simpleFunctionCall.frag.out
@@ -1,6 +1,6 @@
spv.simpleFunctionCall.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 19
Capability Shader
diff --git a/Test/baseResults/spv.simpleMat.vert.out b/Test/baseResults/spv.simpleMat.vert.out
index cc9b2b21..e1accbf6 100644
--- a/Test/baseResults/spv.simpleMat.vert.out
+++ b/Test/baseResults/spv.simpleMat.vert.out
@@ -2,7 +2,7 @@ spv.simpleMat.vert
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
diff --git a/Test/baseResults/spv.smBuiltins.frag.out b/Test/baseResults/spv.smBuiltins.frag.out
index 3fafa04c..1619cf63 100644
--- a/Test/baseResults/spv.smBuiltins.frag.out
+++ b/Test/baseResults/spv.smBuiltins.frag.out
@@ -1,6 +1,6 @@
spv.smBuiltins.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/spv.smBuiltins.vert.out b/Test/baseResults/spv.smBuiltins.vert.out
index 91ad637e..c03c3cd9 100644
--- a/Test/baseResults/spv.smBuiltins.vert.out
+++ b/Test/baseResults/spv.smBuiltins.vert.out
@@ -1,6 +1,6 @@
spv.smBuiltins.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
diff --git a/Test/baseResults/spv.sparseTexture.frag.out b/Test/baseResults/spv.sparseTexture.frag.out
index bf44b81e..84ca757c 100644
--- a/Test/baseResults/spv.sparseTexture.frag.out
+++ b/Test/baseResults/spv.sparseTexture.frag.out
@@ -1,7 +1,7 @@
spv.sparseTexture.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 442
Capability Shader
diff --git a/Test/baseResults/spv.sparseTextureClamp.frag.out b/Test/baseResults/spv.sparseTextureClamp.frag.out
index f42326d4..e56297c2 100644
--- a/Test/baseResults/spv.sparseTextureClamp.frag.out
+++ b/Test/baseResults/spv.sparseTextureClamp.frag.out
@@ -1,7 +1,7 @@
spv.sparseTextureClamp.frag
Validation failed
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 360
Capability Shader
diff --git a/Test/baseResults/spv.specConst.vert.out b/Test/baseResults/spv.specConst.vert.out
index a510dc9a..a2e234bd 100644
--- a/Test/baseResults/spv.specConst.vert.out
+++ b/Test/baseResults/spv.specConst.vert.out
@@ -1,6 +1,6 @@
spv.specConst.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/spv.specConstant.comp.out b/Test/baseResults/spv.specConstant.comp.out
index a4e769fd..bfe71142 100644
--- a/Test/baseResults/spv.specConstant.comp.out
+++ b/Test/baseResults/spv.specConstant.comp.out
@@ -1,6 +1,6 @@
spv.specConstant.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/spv.specConstant.float16.comp.out b/Test/baseResults/spv.specConstant.float16.comp.out
index be02057c..3381fc7e 100644
--- a/Test/baseResults/spv.specConstant.float16.comp.out
+++ b/Test/baseResults/spv.specConstant.float16.comp.out
@@ -1,6 +1,6 @@
spv.specConstant.float16.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/spv.specConstant.int16.comp.out b/Test/baseResults/spv.specConstant.int16.comp.out
index 7bb4c8f3..17f385be 100644
--- a/Test/baseResults/spv.specConstant.int16.comp.out
+++ b/Test/baseResults/spv.specConstant.int16.comp.out
@@ -1,6 +1,6 @@
spv.specConstant.int16.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/spv.specConstant.int8.comp.out b/Test/baseResults/spv.specConstant.int8.comp.out
index 0ab3bdc2..c906d711 100644
--- a/Test/baseResults/spv.specConstant.int8.comp.out
+++ b/Test/baseResults/spv.specConstant.int8.comp.out
@@ -1,6 +1,6 @@
spv.specConstant.int8.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/spv.specConstant.vert.out b/Test/baseResults/spv.specConstant.vert.out
index f7d43811..cc126ab5 100644
--- a/Test/baseResults/spv.specConstant.vert.out
+++ b/Test/baseResults/spv.specConstant.vert.out
@@ -1,6 +1,6 @@
spv.specConstant.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 81
Capability Shader
diff --git a/Test/baseResults/spv.specConstantComposite.vert.out b/Test/baseResults/spv.specConstantComposite.vert.out
index 15777d8f..ce9ce066 100644
--- a/Test/baseResults/spv.specConstantComposite.vert.out
+++ b/Test/baseResults/spv.specConstantComposite.vert.out
@@ -1,6 +1,6 @@
spv.specConstantComposite.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 43
Capability Shader
diff --git a/Test/baseResults/spv.specConstantOperations.vert.out b/Test/baseResults/spv.specConstantOperations.vert.out
index 53664601..cb1f7392 100644
--- a/Test/baseResults/spv.specConstantOperations.vert.out
+++ b/Test/baseResults/spv.specConstantOperations.vert.out
@@ -1,6 +1,6 @@
spv.specConstantOperations.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 162
Capability Shader
diff --git a/Test/baseResults/spv.specTexture.frag.out b/Test/baseResults/spv.specTexture.frag.out
index 4ca488eb..b599e356 100644
--- a/Test/baseResults/spv.specTexture.frag.out
+++ b/Test/baseResults/spv.specTexture.frag.out
@@ -1,6 +1,6 @@
spv.specTexture.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Shader
diff --git a/Test/baseResults/spv.ssbo.autoassign.frag.out b/Test/baseResults/spv.ssbo.autoassign.frag.out
index e2db863c..35381055 100644
--- a/Test/baseResults/spv.ssbo.autoassign.frag.out
+++ b/Test/baseResults/spv.ssbo.autoassign.frag.out
@@ -1,6 +1,6 @@
spv.ssbo.autoassign.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 99
Capability Shader
diff --git a/Test/baseResults/spv.ssboAlias.frag.out b/Test/baseResults/spv.ssboAlias.frag.out
index cdcd222c..0a5a12b9 100644
--- a/Test/baseResults/spv.ssboAlias.frag.out
+++ b/Test/baseResults/spv.ssboAlias.frag.out
@@ -1,6 +1,6 @@
spv.ssboAlias.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 44
Capability Shader
diff --git a/Test/baseResults/spv.stereoViewRendering.tesc.out b/Test/baseResults/spv.stereoViewRendering.tesc.out
index f01e53bf..100b5534 100644
--- a/Test/baseResults/spv.stereoViewRendering.tesc.out
+++ b/Test/baseResults/spv.stereoViewRendering.tesc.out
@@ -1,6 +1,6 @@
spv.stereoViewRendering.tesc
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 42
Capability Tessellation
diff --git a/Test/baseResults/spv.stereoViewRendering.vert.out b/Test/baseResults/spv.stereoViewRendering.vert.out
index e74921af..530d75e1 100644
--- a/Test/baseResults/spv.stereoViewRendering.vert.out
+++ b/Test/baseResults/spv.stereoViewRendering.vert.out
@@ -1,6 +1,6 @@
spv.stereoViewRendering.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/spv.storageBuffer.vert.out b/Test/baseResults/spv.storageBuffer.vert.out
index 2411d2f7..fdbb4db3 100644
--- a/Test/baseResults/spv.storageBuffer.vert.out
+++ b/Test/baseResults/spv.storageBuffer.vert.out
@@ -1,6 +1,6 @@
spv.storageBuffer.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Shader
diff --git a/Test/baseResults/spv.structAssignment.frag.out b/Test/baseResults/spv.structAssignment.frag.out
index 8e82cac3..a0cfb542 100644
--- a/Test/baseResults/spv.structAssignment.frag.out
+++ b/Test/baseResults/spv.structAssignment.frag.out
@@ -3,7 +3,7 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
"precision mediump int; precision highp float;"
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out
index 94fc4e24..a528a599 100644
--- a/Test/baseResults/spv.structDeref.frag.out
+++ b/Test/baseResults/spv.structDeref.frag.out
@@ -1,6 +1,6 @@
spv.structDeref.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 123
Capability Shader
diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out
index 00fed0e0..6b39c297 100644
--- a/Test/baseResults/spv.structure.frag.out
+++ b/Test/baseResults/spv.structure.frag.out
@@ -1,6 +1,6 @@
spv.structure.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 60
Capability Shader
diff --git a/Test/baseResults/spv.subgroup.frag.out b/Test/baseResults/spv.subgroup.frag.out
index a3e427f0..a882a22e 100644
--- a/Test/baseResults/spv.subgroup.frag.out
+++ b/Test/baseResults/spv.subgroup.frag.out
@@ -1,6 +1,6 @@
spv.subgroup.frag
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 17
Capability Shader
diff --git a/Test/baseResults/spv.subgroup.geom.out b/Test/baseResults/spv.subgroup.geom.out
index 27f05b2f..33405950 100644
--- a/Test/baseResults/spv.subgroup.geom.out
+++ b/Test/baseResults/spv.subgroup.geom.out
@@ -1,6 +1,6 @@
spv.subgroup.geom
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 26
Capability Geometry
diff --git a/Test/baseResults/spv.subgroup.tesc.out b/Test/baseResults/spv.subgroup.tesc.out
index 8322a4a1..aaac4b80 100644
--- a/Test/baseResults/spv.subgroup.tesc.out
+++ b/Test/baseResults/spv.subgroup.tesc.out
@@ -1,6 +1,6 @@
spv.subgroup.tesc
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 26
Capability Tessellation
diff --git a/Test/baseResults/spv.subgroup.tese.out b/Test/baseResults/spv.subgroup.tese.out
index 360f98be..f989981c 100644
--- a/Test/baseResults/spv.subgroup.tese.out
+++ b/Test/baseResults/spv.subgroup.tese.out
@@ -1,6 +1,6 @@
spv.subgroup.tese
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 26
Capability Tessellation
diff --git a/Test/baseResults/spv.subgroup.vert.out b/Test/baseResults/spv.subgroup.vert.out
index 6de8a0ae..6add1c7c 100644
--- a/Test/baseResults/spv.subgroup.vert.out
+++ b/Test/baseResults/spv.subgroup.vert.out
@@ -1,6 +1,6 @@
spv.subgroup.vert
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 26
Capability Shader
diff --git a/Test/baseResults/spv.subgroupArithmetic.comp.out b/Test/baseResults/spv.subgroupArithmetic.comp.out
index 87bfa311..bd71fc7c 100644
--- a/Test/baseResults/spv.subgroupArithmetic.comp.out
+++ b/Test/baseResults/spv.subgroupArithmetic.comp.out
@@ -1,6 +1,6 @@
spv.subgroupArithmetic.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 2386
Capability Shader
diff --git a/Test/baseResults/spv.subgroupBallot.comp.out b/Test/baseResults/spv.subgroupBallot.comp.out
index 65cfa7a4..51cb7ac1 100644
--- a/Test/baseResults/spv.subgroupBallot.comp.out
+++ b/Test/baseResults/spv.subgroupBallot.comp.out
@@ -1,6 +1,6 @@
spv.subgroupBallot.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 437
Capability Shader
diff --git a/Test/baseResults/spv.subgroupBasic.comp.out b/Test/baseResults/spv.subgroupBasic.comp.out
index fb9fa0cb..51eae759 100644
--- a/Test/baseResults/spv.subgroupBasic.comp.out
+++ b/Test/baseResults/spv.subgroupBasic.comp.out
@@ -1,6 +1,6 @@
spv.subgroupBasic.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 40
Capability Shader
diff --git a/Test/baseResults/spv.subgroupClustered.comp.out b/Test/baseResults/spv.subgroupClustered.comp.out
index a2e486dd..2529eeff 100644
--- a/Test/baseResults/spv.subgroupClustered.comp.out
+++ b/Test/baseResults/spv.subgroupClustered.comp.out
@@ -1,6 +1,6 @@
spv.subgroupClustered.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 838
Capability Shader
diff --git a/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out b/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out
index 828ce616..51c2a5e2 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out
@@ -1,6 +1,6 @@
spv.subgroupExtendedTypesArithmetic.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 4218
Capability Shader
diff --git a/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out b/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out
index 60f01bcc..0a706a50 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out
@@ -1,6 +1,6 @@
spv.subgroupExtendedTypesBallot.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 498
Capability Shader
diff --git a/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out b/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out
index 98a7a890..f876c5a5 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out
@@ -1,6 +1,6 @@
spv.subgroupExtendedTypesClustered.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1458
Capability Shader
diff --git a/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out b/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out
index 47576d9f..f2cb8cb1 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out
@@ -1,6 +1,6 @@
spv.subgroupExtendedTypesPartitioned.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1743
Capability Shader
diff --git a/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out b/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out
index f385545e..8aa7c120 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out
@@ -1,6 +1,6 @@
spv.subgroupExtendedTypesQuad.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 918
Capability Shader
diff --git a/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out b/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out
index eaea708b..0051bd7d 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out
@@ -1,6 +1,6 @@
spv.subgroupExtendedTypesShuffle.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 554
Capability Shader
diff --git a/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out b/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out
index 8665c46c..46244baa 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out
@@ -1,6 +1,6 @@
spv.subgroupExtendedTypesShuffleRelative.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 554
Capability Shader
diff --git a/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out b/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out
index 6fde1f93..a53847ca 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out
@@ -1,6 +1,6 @@
spv.subgroupExtendedTypesVote.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 277
Capability Shader
diff --git a/Test/baseResults/spv.subgroupPartitioned.comp.out b/Test/baseResults/spv.subgroupPartitioned.comp.out
index 0e7b7ef2..922d393e 100644
--- a/Test/baseResults/spv.subgroupPartitioned.comp.out
+++ b/Test/baseResults/spv.subgroupPartitioned.comp.out
@@ -1,6 +1,6 @@
spv.subgroupPartitioned.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 2807
Capability Shader
diff --git a/Test/baseResults/spv.subgroupQuad.comp.out b/Test/baseResults/spv.subgroupQuad.comp.out
index 143d01d7..b418148c 100644
--- a/Test/baseResults/spv.subgroupQuad.comp.out
+++ b/Test/baseResults/spv.subgroupQuad.comp.out
@@ -1,6 +1,6 @@
spv.subgroupQuad.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 696
Capability Shader
diff --git a/Test/baseResults/spv.subgroupShuffle.comp.out b/Test/baseResults/spv.subgroupShuffle.comp.out
index 02cf89f8..d54e8ae9 100644
--- a/Test/baseResults/spv.subgroupShuffle.comp.out
+++ b/Test/baseResults/spv.subgroupShuffle.comp.out
@@ -1,6 +1,6 @@
spv.subgroupShuffle.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 420
Capability Shader
diff --git a/Test/baseResults/spv.subgroupShuffleRelative.comp.out b/Test/baseResults/spv.subgroupShuffleRelative.comp.out
index e8486b66..6bae808f 100644
--- a/Test/baseResults/spv.subgroupShuffleRelative.comp.out
+++ b/Test/baseResults/spv.subgroupShuffleRelative.comp.out
@@ -1,6 +1,6 @@
spv.subgroupShuffleRelative.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 420
Capability Shader
diff --git a/Test/baseResults/spv.subgroupSizeARB.frag.out b/Test/baseResults/spv.subgroupSizeARB.frag.out
index 7ce78183..5eeb0c09 100644
--- a/Test/baseResults/spv.subgroupSizeARB.frag.out
+++ b/Test/baseResults/spv.subgroupSizeARB.frag.out
@@ -1,6 +1,6 @@
spv.subgroupSizeARB.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 12
Capability Shader
diff --git a/Test/baseResults/spv.subgroupUniformControlFlow.vert.out b/Test/baseResults/spv.subgroupUniformControlFlow.vert.out
index b7fce5a3..a1891863 100644
--- a/Test/baseResults/spv.subgroupUniformControlFlow.vert.out
+++ b/Test/baseResults/spv.subgroupUniformControlFlow.vert.out
@@ -2,7 +2,7 @@ spv.subgroupUniformControlFlow.vert
WARNING: 0:7: '' : attribute with arguments not recognized, skipping
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 6
Capability Shader
diff --git a/Test/baseResults/spv.subgroupVote.comp.out b/Test/baseResults/spv.subgroupVote.comp.out
index ad8ffaaa..fa0a01fb 100644
--- a/Test/baseResults/spv.subgroupVote.comp.out
+++ b/Test/baseResults/spv.subgroupVote.comp.out
@@ -1,6 +1,6 @@
spv.subgroupVote.comp
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 216
Capability Shader
diff --git a/Test/baseResults/spv.subpass.frag.out b/Test/baseResults/spv.subpass.frag.out
index 6b534a6a..bf49b08d 100644
--- a/Test/baseResults/spv.subpass.frag.out
+++ b/Test/baseResults/spv.subpass.frag.out
@@ -1,6 +1,6 @@
spv.subpass.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 67
Capability Shader
diff --git a/Test/baseResults/spv.switch.frag.out b/Test/baseResults/spv.switch.frag.out
index 9c68657f..4e7db4df 100644
--- a/Test/baseResults/spv.switch.frag.out
+++ b/Test/baseResults/spv.switch.frag.out
@@ -4,7 +4,7 @@ WARNING: 0:134: 'switch' : last case/default label not followed by statements
WARNING: 0:139: 'switch' : last case/default label not followed by statements
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 269
Capability Shader
diff --git a/Test/baseResults/spv.swizzle.frag.out b/Test/baseResults/spv.swizzle.frag.out
index 2aa31e8c..f42a34be 100644
--- a/Test/baseResults/spv.swizzle.frag.out
+++ b/Test/baseResults/spv.swizzle.frag.out
@@ -1,6 +1,6 @@
spv.swizzle.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 117
Capability Shader
diff --git a/Test/baseResults/spv.swizzleInversion.frag.out b/Test/baseResults/spv.swizzleInversion.frag.out
index 8d099346..32a01326 100644
--- a/Test/baseResults/spv.swizzleInversion.frag.out
+++ b/Test/baseResults/spv.swizzleInversion.frag.out
@@ -1,6 +1,6 @@
spv.swizzleInversion.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 46
Capability Shader
diff --git a/Test/baseResults/spv.terminate.frag.out b/Test/baseResults/spv.terminate.frag.out
index 39cb151f..d76a4878 100755
--- a/Test/baseResults/spv.terminate.frag.out
+++ b/Test/baseResults/spv.terminate.frag.out
@@ -1,6 +1,6 @@
spv.terminate.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 7
Capability Shader
diff --git a/Test/baseResults/spv.test.frag.out b/Test/baseResults/spv.test.frag.out
index fddcdb84..c5d63845 100644
--- a/Test/baseResults/spv.test.frag.out
+++ b/Test/baseResults/spv.test.frag.out
@@ -1,6 +1,6 @@
spv.test.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 55
Capability Shader
diff --git a/Test/baseResults/spv.test.vert.out b/Test/baseResults/spv.test.vert.out
index 3eb64358..350ee788 100644
--- a/Test/baseResults/spv.test.vert.out
+++ b/Test/baseResults/spv.test.vert.out
@@ -2,7 +2,7 @@ spv.test.vert
WARNING: 0:5: attribute deprecated in version 130; may be removed in future release
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 24
Capability Shader
diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out
index 841bbd3a..dc1970a9 100644
--- a/Test/baseResults/spv.texture.frag.out
+++ b/Test/baseResults/spv.texture.frag.out
@@ -4,7 +4,7 @@ WARNING: 0:11: varying deprecated in version 130; may be removed in future relea
WARNING: 0:12: varying deprecated in version 130; may be removed in future release
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 305
Capability Shader
diff --git a/Test/baseResults/spv.texture.sampler.transform.frag.out b/Test/baseResults/spv.texture.sampler.transform.frag.out
index a297ea78..4e9534e7 100644
--- a/Test/baseResults/spv.texture.sampler.transform.frag.out
+++ b/Test/baseResults/spv.texture.sampler.transform.frag.out
@@ -1,6 +1,6 @@
spv.texture.sampler.transform.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 20
Capability Shader
diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out
index 544a0f31..35053f38 100644
--- a/Test/baseResults/spv.texture.vert.out
+++ b/Test/baseResults/spv.texture.vert.out
@@ -1,6 +1,6 @@
spv.texture.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 150
Capability Shader
diff --git a/Test/baseResults/spv.textureBuffer.vert.out b/Test/baseResults/spv.textureBuffer.vert.out
index d18c6561..f5b271f6 100644
--- a/Test/baseResults/spv.textureBuffer.vert.out
+++ b/Test/baseResults/spv.textureBuffer.vert.out
@@ -1,6 +1,6 @@
spv.textureBuffer.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 42
Capability Shader
diff --git a/Test/baseResults/spv.textureGatherBiasLod.frag.out b/Test/baseResults/spv.textureGatherBiasLod.frag.out
index 3a9bb802..f47e16a7 100644
--- a/Test/baseResults/spv.textureGatherBiasLod.frag.out
+++ b/Test/baseResults/spv.textureGatherBiasLod.frag.out
@@ -1,6 +1,6 @@
spv.textureGatherBiasLod.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 298
Capability Shader
diff --git a/Test/baseResults/spv.types.frag.out b/Test/baseResults/spv.types.frag.out
index 3e35da27..6a0e0f01 100644
--- a/Test/baseResults/spv.types.frag.out
+++ b/Test/baseResults/spv.types.frag.out
@@ -1,6 +1,6 @@
spv.types.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 260
Capability Shader
diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out
index 7dbc3b37..a78acae4 100644
--- a/Test/baseResults/spv.uint.frag.out
+++ b/Test/baseResults/spv.uint.frag.out
@@ -1,6 +1,6 @@
spv.uint.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 213
Capability Shader
diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out
index fa66f2bb..09cd3532 100644
--- a/Test/baseResults/spv.uniformArray.frag.out
+++ b/Test/baseResults/spv.uniformArray.frag.out
@@ -1,6 +1,6 @@
spv.uniformArray.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 60
Capability Shader
diff --git a/Test/baseResults/spv.uniformInitializer.frag.out b/Test/baseResults/spv.uniformInitializer.frag.out
index 63595aee..abebf625 100644
--- a/Test/baseResults/spv.uniformInitializer.frag.out
+++ b/Test/baseResults/spv.uniformInitializer.frag.out
@@ -1,6 +1,6 @@
spv.uniformInitializer.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 16
Capability Shader
diff --git a/Test/baseResults/spv.uniformInitializerStruct.frag.out b/Test/baseResults/spv.uniformInitializerStruct.frag.out
index 5ce854dc..058bc34f 100644
--- a/Test/baseResults/spv.uniformInitializerStruct.frag.out
+++ b/Test/baseResults/spv.uniformInitializerStruct.frag.out
@@ -1,6 +1,6 @@
spv.uniformInitializerStruct.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 63
Capability Shader
diff --git a/Test/baseResults/spv.unit1.frag.out b/Test/baseResults/spv.unit1.frag.out
index 02ddfece..b4de7bd8 100644
--- a/Test/baseResults/spv.unit1.frag.out
+++ b/Test/baseResults/spv.unit1.frag.out
@@ -193,7 +193,7 @@ gl_FragCoord origin is upper left
0:? 'h3' ( global highp float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 69
Capability Shader
diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out
index ee57d43d..f78119c2 100644
--- a/Test/baseResults/spv.variableArrayIndex.frag.out
+++ b/Test/baseResults/spv.variableArrayIndex.frag.out
@@ -1,6 +1,6 @@
spv.variableArrayIndex.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 93
Capability Shader
diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out
index 1e6334ad..9d001bc0 100644
--- a/Test/baseResults/spv.varyingArray.frag.out
+++ b/Test/baseResults/spv.varyingArray.frag.out
@@ -1,6 +1,6 @@
spv.varyingArray.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 61
Capability Shader
diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out
index ac9d192b..00135f6e 100644
--- a/Test/baseResults/spv.varyingArrayIndirect.frag.out
+++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out
@@ -1,6 +1,6 @@
spv.varyingArrayIndirect.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 70
Capability Shader
diff --git a/Test/baseResults/spv.vecMatConstruct.frag.out b/Test/baseResults/spv.vecMatConstruct.frag.out
index bfe5ae76..5f3a233f 100644
--- a/Test/baseResults/spv.vecMatConstruct.frag.out
+++ b/Test/baseResults/spv.vecMatConstruct.frag.out
@@ -1,6 +1,6 @@
spv.vecMatConstruct.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 62
Capability Shader
diff --git a/Test/baseResults/spv.viewportArray2.tesc.out b/Test/baseResults/spv.viewportArray2.tesc.out
index e95ada49..f719a97e 100644
--- a/Test/baseResults/spv.viewportArray2.tesc.out
+++ b/Test/baseResults/spv.viewportArray2.tesc.out
@@ -1,6 +1,6 @@
spv.viewportArray2.tesc
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 23
Capability Tessellation
diff --git a/Test/baseResults/spv.viewportArray2.vert.out b/Test/baseResults/spv.viewportArray2.vert.out
index cf29cd79..d916b4d6 100644
--- a/Test/baseResults/spv.viewportArray2.vert.out
+++ b/Test/baseResults/spv.viewportArray2.vert.out
@@ -1,6 +1,6 @@
spv.viewportArray2.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 19
Capability Shader
diff --git a/Test/baseResults/spv.viewportindex.tese.out b/Test/baseResults/spv.viewportindex.tese.out
index 12a30cf4..46b1faa6 100644
--- a/Test/baseResults/spv.viewportindex.tese.out
+++ b/Test/baseResults/spv.viewportindex.tese.out
@@ -1,6 +1,6 @@
spv.viewportindex.tese
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 10
Capability Tessellation
diff --git a/Test/baseResults/spv.voidFunction.frag.out b/Test/baseResults/spv.voidFunction.frag.out
index c77285b1..4a0cc260 100644
--- a/Test/baseResults/spv.voidFunction.frag.out
+++ b/Test/baseResults/spv.voidFunction.frag.out
@@ -1,6 +1,6 @@
spv.voidFunction.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 43
Capability Shader
diff --git a/Test/baseResults/spv.volatileAtomic.comp.out b/Test/baseResults/spv.volatileAtomic.comp.out
index 0364d907..53673d35 100644
--- a/Test/baseResults/spv.volatileAtomic.comp.out
+++ b/Test/baseResults/spv.volatileAtomic.comp.out
@@ -1,6 +1,6 @@
spv.volatileAtomic.comp
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 18
Capability Shader
diff --git a/Test/baseResults/spv.vulkan110.int16.frag.out b/Test/baseResults/spv.vulkan110.int16.frag.out
index 47388a2b..d5c83d52 100644
--- a/Test/baseResults/spv.vulkan110.int16.frag.out
+++ b/Test/baseResults/spv.vulkan110.int16.frag.out
@@ -1,6 +1,6 @@
spv.vulkan110.int16.frag
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 535
Capability Shader
diff --git a/Test/baseResults/spv.vulkan110.storageBuffer.vert.out b/Test/baseResults/spv.vulkan110.storageBuffer.vert.out
index 0774960a..ab88c581 100644
--- a/Test/baseResults/spv.vulkan110.storageBuffer.vert.out
+++ b/Test/baseResults/spv.vulkan110.storageBuffer.vert.out
@@ -1,6 +1,6 @@
spv.vulkan110.storageBuffer.vert
// Module Version 10300
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 31
Capability Shader
diff --git a/Test/baseResults/spv.while-continue-break.vert.out b/Test/baseResults/spv.while-continue-break.vert.out
index 246e5fd4..7a0bfb0c 100644
--- a/Test/baseResults/spv.while-continue-break.vert.out
+++ b/Test/baseResults/spv.while-continue-break.vert.out
@@ -1,6 +1,6 @@
spv.while-continue-break.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 41
Capability Shader
diff --git a/Test/baseResults/spv.while-simple.vert.out b/Test/baseResults/spv.while-simple.vert.out
index 894dea1d..922860fe 100644
--- a/Test/baseResults/spv.while-simple.vert.out
+++ b/Test/baseResults/spv.while-simple.vert.out
@@ -1,6 +1,6 @@
spv.while-simple.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 22
Capability Shader
diff --git a/Test/baseResults/spv.whileLoop.frag.out b/Test/baseResults/spv.whileLoop.frag.out
index 6155f7bd..b796b292 100644
--- a/Test/baseResults/spv.whileLoop.frag.out
+++ b/Test/baseResults/spv.whileLoop.frag.out
@@ -1,6 +1,6 @@
spv.whileLoop.frag
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 35
Capability Shader
diff --git a/Test/baseResults/spv.xfb.vert.out b/Test/baseResults/spv.xfb.vert.out
index 3fdc60b2..4283e200 100644
--- a/Test/baseResults/spv.xfb.vert.out
+++ b/Test/baseResults/spv.xfb.vert.out
@@ -1,6 +1,6 @@
spv.xfb.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 16
Capability Shader
diff --git a/Test/baseResults/spv.xfb2.vert.out b/Test/baseResults/spv.xfb2.vert.out
index cbb8fc63..b4b09bd0 100644
--- a/Test/baseResults/spv.xfb2.vert.out
+++ b/Test/baseResults/spv.xfb2.vert.out
@@ -1,6 +1,6 @@
spv.xfb2.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 35
Capability Shader
diff --git a/Test/baseResults/spv.xfb3.vert.out b/Test/baseResults/spv.xfb3.vert.out
index ef53b9aa..a7e88566 100644
--- a/Test/baseResults/spv.xfb3.vert.out
+++ b/Test/baseResults/spv.xfb3.vert.out
@@ -1,6 +1,6 @@
spv.xfb3.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 35
Capability Shader
diff --git a/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out b/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out
index e2c6093b..eb911002 100644
--- a/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out
+++ b/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out
@@ -1,6 +1,6 @@
spv.xfbOffsetOnBlockMembersAssignment.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability Shader
diff --git a/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out b/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out
index 499ac8c1..467a5aec 100644
--- a/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out
+++ b/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out
@@ -1,6 +1,6 @@
spv.xfbOffsetOnStructMembersAssignment.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 40
Capability Shader
diff --git a/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out b/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out
index f7476c7b..633558d4 100644
--- a/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out
+++ b/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out
@@ -1,6 +1,6 @@
spv.xfbOverlapOffsetCheckWithBlockAndMember.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
diff --git a/Test/baseResults/spv.xfbStrideJustOnce.vert.out b/Test/baseResults/spv.xfbStrideJustOnce.vert.out
index bbd7768d..8bf1f0d9 100644
--- a/Test/baseResults/spv.xfbStrideJustOnce.vert.out
+++ b/Test/baseResults/spv.xfbStrideJustOnce.vert.out
@@ -1,6 +1,6 @@
spv.xfbStrideJustOnce.vert
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 33
Capability Shader
diff --git a/Test/baseResults/struct.error.frag.out b/Test/baseResults/struct.error.frag.out
new file mode 100644
index 00000000..5b0993a1
--- /dev/null
+++ b/Test/baseResults/struct.error.frag.out
@@ -0,0 +1,37 @@
+struct.error.frag
+ERROR: 0:12: 'z' : no such field in structure
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 460
+ERROR: node is still EOpNull!
+0:7 Function Definition: test( ( global structure{ global float x})
+0:7 Function Parameters:
+0:8 Sequence
+0:8 Branch: Return with expression
+0:8 Constant:
+0:8 1.000000
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 Function Call: test( ( global structure{ global float x})
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 460
+ERROR: node is still EOpNull!
+0:7 Function Definition: test( ( global structure{ global float x})
+0:7 Function Parameters:
+0:8 Sequence
+0:8 Branch: Return with expression
+0:8 Constant:
+0:8 1.000000
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 Function Call: test( ( global structure{ global float x})
+0:? Linker Objects
+
diff --git a/Test/baseResults/vk.relaxed.changeSet.vert.out b/Test/baseResults/vk.relaxed.changeSet.vert.out
index d2beff93..d7502a3a 100755
--- a/Test/baseResults/vk.relaxed.changeSet.vert.out
+++ b/Test/baseResults/vk.relaxed.changeSet.vert.out
@@ -139,7 +139,7 @@ gl_FragCoord origin is upper left
0:? 'UV' ( smooth in highp 2-component vector of float)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 46
Capability Shader
@@ -232,7 +232,7 @@ gl_FragCoord origin is upper left
Return
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 27
Capability Shader
diff --git a/Test/baseResults/vk.relaxed.frag.out b/Test/baseResults/vk.relaxed.frag.out
index d98910e6..c88782f3 100644
--- a/Test/baseResults/vk.relaxed.frag.out
+++ b/Test/baseResults/vk.relaxed.frag.out
@@ -553,7 +553,7 @@ gl_FragCoord origin is upper left
0:? 'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 163
Capability Shader
diff --git a/Test/baseResults/vk.relaxed.link1.frag.out b/Test/baseResults/vk.relaxed.link1.frag.out
index 9dac4c64..1e67646c 100644
--- a/Test/baseResults/vk.relaxed.link1.frag.out
+++ b/Test/baseResults/vk.relaxed.link1.frag.out
@@ -348,7 +348,7 @@ gl_FragCoord origin is upper left
0:? 'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2, coherent volatile buffer highp uint counter3})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 105
Capability Shader
diff --git a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out
index bcd4e2af..37532ed6 100755
--- a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out
+++ b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out
@@ -7014,7 +7014,7 @@ gl_FragCoord origin is upper left
0:? 'sTDInstanceColor' (layout( binding=17) uniform highp samplerBuffer)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 939
Capability Shader
@@ -8567,7 +8567,7 @@ gl_FragCoord origin is upper left
ReturnValue 893
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 1297
Capability Shader
diff --git a/Test/baseResults/vk.relaxed.stagelink.vert.out b/Test/baseResults/vk.relaxed.stagelink.vert.out
index b9173f24..47e1b4fa 100644
--- a/Test/baseResults/vk.relaxed.stagelink.vert.out
+++ b/Test/baseResults/vk.relaxed.stagelink.vert.out
@@ -435,7 +435,7 @@ gl_FragCoord origin is upper left
0:? 'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1, coherent volatile buffer highp uint counter2})
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 92
Capability Shader
@@ -593,7 +593,7 @@ gl_FragCoord origin is upper left
ReturnValue 64
FunctionEnd
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 74
Capability Shader
diff --git a/Test/baseResults/vulkan.ast.vert.out b/Test/baseResults/vulkan.ast.vert.out
index 68e892b4..c893103c 100644
--- a/Test/baseResults/vulkan.ast.vert.out
+++ b/Test/baseResults/vulkan.ast.vert.out
@@ -258,7 +258,7 @@ Shader version: 450
0:? 2 (const int)
// Module Version 10000
-// Generated by (magic number): 8000a
+// Generated by (magic number): 8000b
// Id's are bound by 50
Capability Shader
diff --git a/Test/baseResults/vulkan.frag.out b/Test/baseResults/vulkan.frag.out
index 78aea821..8e6bfcc9 100644
--- a/Test/baseResults/vulkan.frag.out
+++ b/Test/baseResults/vulkan.frag.out
@@ -6,7 +6,7 @@ ERROR: 0:6: 'binding' : sampler/texture/image requires layout(binding=X)
ERROR: 0:8: 'binding' : sampler/texture/image requires layout(binding=X)
ERROR: 0:9: 'binding' : sampler/texture/image requires layout(binding=X)
ERROR: 0:10: 'binding' : sampler/texture/image requires layout(binding=X)
-ERROR: 0:14: 'sampler2D' : sampler-constructor requires two arguments
+ERROR: 0:14: 'sampler2D' : sampler-constructor requires the extension GL_ARB_bindless_texture enabled
ERROR: 0:15: 'sampler2D' : sampler-constructor first argument must be a scalar *texture* type
ERROR: 0:16: 'sampler2D' : sampler-constructor first argument must be a scalar *texture* type
ERROR: 0:17: 'sampler2D' : sampler-constructor second argument must be a scalar sampler or samplerShadow
diff --git a/Test/implicitArraySize.frag b/Test/implicitArraySize.frag
new file mode 100644
index 00000000..ca3eeb3f
--- /dev/null
+++ b/Test/implicitArraySize.frag
@@ -0,0 +1,9 @@
+#version 460 core
+in float a[];
+in float c[3];
+out float b[5];
+
+void main(){
+ b[0] = a[1];
+ b[1] = c[1];
+} \ No newline at end of file
diff --git a/Test/implicitArraySize.vert b/Test/implicitArraySize.vert
new file mode 100644
index 00000000..93e7495b
--- /dev/null
+++ b/Test/implicitArraySize.vert
@@ -0,0 +1,8 @@
+#version 460 core
+out float a[];
+out float c[];
+
+void main(){
+ a[0] = 0.1;
+ c[5] = 0.1;
+} \ No newline at end of file
diff --git a/Test/implicitArraySize1.geom b/Test/implicitArraySize1.geom
new file mode 100644
index 00000000..b3b52ead
--- /dev/null
+++ b/Test/implicitArraySize1.geom
@@ -0,0 +1,14 @@
+#version 460 core
+
+layout(triangles) in;
+layout(line_strip, max_vertices = 204) out;
+
+void f();
+
+in float g[][3];
+out float o[3];
+
+void main(){
+ f();
+ o[1] = g[2][1];
+} \ No newline at end of file
diff --git a/Test/implicitArraySize2.geom b/Test/implicitArraySize2.geom
new file mode 100644
index 00000000..0bb65cd4
--- /dev/null
+++ b/Test/implicitArraySize2.geom
@@ -0,0 +1,8 @@
+#version 460 core
+
+in float g[][3];
+out float o[];
+
+void f(){
+ o[1] = g[1][1];
+} \ No newline at end of file
diff --git a/Test/implicitArraySizeBuiltin.geom b/Test/implicitArraySizeBuiltin.geom
new file mode 100644
index 00000000..419b6331
--- /dev/null
+++ b/Test/implicitArraySizeBuiltin.geom
@@ -0,0 +1,20 @@
+#version 460 core
+
+layout(triangles) in;
+layout(line_strip, max_vertices = 204) out;
+
+void f2(float x)
+{
+ gl_ClipDistance[6] = gl_in[0].gl_ClipDistance[6];
+}
+void f3(float x)
+{
+ gl_CullDistance[1] = gl_in[0].gl_CullDistance[1];
+}
+
+void main(){
+ #if defined(CLIP)
+ f2(0.1);
+ #endif
+ f3(0.1);
+} \ No newline at end of file
diff --git a/Test/implicitArraySizeBuiltin.vert b/Test/implicitArraySizeBuiltin.vert
new file mode 100644
index 00000000..251e9756
--- /dev/null
+++ b/Test/implicitArraySizeBuiltin.vert
@@ -0,0 +1,11 @@
+#version 460 core
+
+void f1(float x)
+{
+ gl_ClipDistance[6] = x;
+ gl_CullDistance[1] = x;
+}
+
+void main(){
+ f1(0.1);
+} \ No newline at end of file
diff --git a/Test/spv.1.6.helperInvocation.memmodel.frag b/Test/spv.1.6.helperInvocation.memmodel.frag
new file mode 100644
index 00000000..b727f8e0
--- /dev/null
+++ b/Test/spv.1.6.helperInvocation.memmodel.frag
@@ -0,0 +1,16 @@
+#version 310 es
+
+#pragma use_vulkan_memory_model
+
+#extension GL_EXT_demote_to_helper_invocation : require
+
+precision highp float;
+
+layout (set=0, binding=0) buffer B {
+ float o;
+};
+
+void main() {
+ demote;
+ o = gl_HelperInvocation ? 1.0 : 0.0;
+}
diff --git a/Test/spv.ARMCoreBuiltIns.frag b/Test/spv.ARMCoreBuiltIns.frag
new file mode 100644
index 00000000..deb3e553
--- /dev/null
+++ b/Test/spv.ARMCoreBuiltIns.frag
@@ -0,0 +1,8 @@
+#version 450
+#extension GL_ARM_shader_core_builtins: enable
+layout(location = 0) out uvec4 data;
+void main (void)
+{
+ uint temp = gl_WarpMaxIDARM;
+ data = uvec4(gl_CoreIDARM, gl_CoreCountARM, gl_CoreMaxIDARM, gl_WarpIDARM + temp);
+}
diff --git a/Test/spv.ARMCoreBuiltIns.vert b/Test/spv.ARMCoreBuiltIns.vert
new file mode 100644
index 00000000..2bed18e8
--- /dev/null
+++ b/Test/spv.ARMCoreBuiltIns.vert
@@ -0,0 +1,12 @@
+#version 450
+#extension GL_ARM_shader_core_builtins: enable
+layout(set = 0, binding = 0, std430) buffer Output
+{
+ uvec4 result;
+};
+
+void main (void)
+{
+ uint temp = gl_WarpMaxIDARM;
+ result = uvec4(gl_CoreIDARM, gl_CoreCountARM, gl_CoreMaxIDARM, gl_WarpIDARM + temp);
+}
diff --git a/Test/spv.debuginfo.const_params.glsl.comp b/Test/spv.debuginfo.const_params.glsl.comp
new file mode 100644
index 00000000..112628fe
--- /dev/null
+++ b/Test/spv.debuginfo.const_params.glsl.comp
@@ -0,0 +1,14 @@
+#version 450
+
+void function(
+ const float f,
+ const vec2 f2,
+ const vec3 f3,
+ const vec4 f4)
+{
+}
+
+void main()
+{
+ function(0, vec2(0), vec3(0), vec4(0));
+}
diff --git a/Test/spv.nv.hitobject-allops.rchit b/Test/spv.nv.hitobject-allops.rchit
new file mode 100644
index 00000000..e7db3593
--- /dev/null
+++ b/Test/spv.nv.hitobject-allops.rchit
@@ -0,0 +1,55 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_NV_shader_invocation_reorder : enable
+#extension GL_NV_ray_tracing_motion_blur : enable
+layout(location = 1) rayPayloadEXT vec4 payload;
+layout(location = 2) rayPayloadEXT pBlock { vec2 val1; vec2 val2; };
+layout(location = 2) hitObjectAttributeNV vec2 attr;
+layout(location = 3) hitObjectAttributeNV hBlock { float attrval;};
+layout(binding = 0) uniform accelerationStructureEXT as;
+layout(binding = 1) buffer block {
+ float op;
+};
+void main()
+{
+ hitObjectNV hObj;
+ hitObjectNV hObjHit, hObjMiss, hObjNop;
+ attr = vec2(1.0);
+ attrval = 2.0;
+ hitObjectTraceRayNV(hObj, as, 1U, 1U, 1U, 1U, 1U, vec3(0.5), 0.5, vec3(1), 1.0, 1);
+ hitObjectTraceRayMotionNV(hObj, as, 1U, 1U, 1U, 1U, 1U, vec3(0.5), 0.5, vec3(1), 1.0, 10.0, 2);
+ hitObjectRecordHitNV(hObj, as, 1, 1, 1, 2U, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 2);
+ hitObjectRecordHitMotionNV(hObj, as, 1, 1, 1, 2U, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 4.0f, 2);
+ hitObjectRecordHitWithIndexNV(hObjHit, as, 1, 1, 1, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 3);
+ hitObjectRecordHitWithIndexMotionNV(hObjHit, as, 1, 1, 1, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 4.0f, 3);
+ hitObjectRecordEmptyNV(hObjNop);
+ hitObjectRecordMissNV(hObjMiss, 1U, vec3(0.5), 2.0, vec3(1.5), 5.0);
+ hitObjectRecordMissMotionNV(hObjMiss, 1U, vec3(0.5), 2.0, vec3(1.5), 5.0, 8.0f);
+ hitObjectExecuteShaderNV(hObjHit, 2);
+ if (hitObjectIsHitNV(hObj)) {
+ op = 1.0f;
+ } else if (hitObjectIsMissNV(hObj)) {
+ op = 2.0f;
+ } else if (hitObjectIsEmptyNV(hObj)) {
+ op = 3.0f;
+ }
+
+
+ float tmin = hitObjectGetRayTMinNV(hObjHit);
+ float tmax = hitObjectGetRayTMaxNV(hObjHit);
+ vec3 orig = hitObjectGetWorldRayOriginNV(hObjHit);
+ vec3 dir = hitObjectGetWorldRayDirectionNV(hObjHit);
+ vec3 oorig = hitObjectGetObjectRayOriginNV(hObjHit);
+ vec3 odir = hitObjectGetObjectRayDirectionNV(hObjHit);
+ mat4x3 otw = hitObjectGetObjectToWorldNV(hObjHit);
+ mat4x3 wto = hitObjectGetWorldToObjectNV(hObjHit);
+ int cid = hitObjectGetInstanceCustomIndexNV(hObjMiss);
+ int iid = hitObjectGetInstanceIdNV(hObjNop);
+ int pid = hitObjectGetPrimitiveIndexNV(hObj);
+ int gid = hitObjectGetGeometryIndexNV(hObj);
+ uint hkind = hitObjectGetHitKindNV(hObj);
+ hitObjectGetAttributesNV(hObj, 2);
+ uvec2 handle = hitObjectGetShaderRecordBufferHandleNV(hObj);
+ uint rid = hitObjectGetShaderBindingTableRecordIndexNV(hObj);
+
+}
diff --git a/Test/spv.nv.hitobject-allops.rgen b/Test/spv.nv.hitobject-allops.rgen
new file mode 100644
index 00000000..f2f37f74
--- /dev/null
+++ b/Test/spv.nv.hitobject-allops.rgen
@@ -0,0 +1,61 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_NV_shader_invocation_reorder : enable
+#extension GL_NV_ray_tracing_motion_blur : enable
+layout(location = 1) rayPayloadEXT vec4 payload;
+layout(location = 2) rayPayloadEXT pBlock { vec2 val1; vec2 val2; };
+layout(location = 2) hitObjectAttributeNV vec2 attr;
+layout(location = 3) hitObjectAttributeNV hBlock { float attrval;};
+layout(binding = 0) uniform accelerationStructureEXT as;
+layout(binding = 1) buffer block {
+ float op;
+};
+void main()
+{
+ hitObjectNV hObj;
+ hitObjectNV hObjHit, hObjMiss, hObjNop;
+ attr = vec2(1.0);
+ attrval = 2.0;
+ hitObjectTraceRayNV(hObj, as, 1U, 1U, 1U, 1U, 1U, vec3(0.5), 0.5, vec3(1), 1.0, 1);
+ hitObjectTraceRayMotionNV(hObj, as, 1U, 1U, 1U, 1U, 1U, vec3(0.5), 0.5, vec3(1), 1.0, 10.0, 2);
+ hitObjectRecordHitNV(hObj, as, 1, 1, 1, 2U, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 2);
+ hitObjectRecordHitMotionNV(hObj, as, 1, 1, 1, 2U, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 4.0f, 2);
+ hitObjectRecordHitWithIndexNV(hObjHit, as, 1, 1, 1, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 3);
+ hitObjectRecordHitWithIndexMotionNV(hObjHit, as, 1, 1, 1, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 4.0f, 3);
+ hitObjectRecordEmptyNV(hObjNop);
+ hitObjectRecordMissNV(hObjMiss, 1U, vec3(0.5), 2.0, vec3(1.5), 5.0);
+ hitObjectRecordMissMotionNV(hObjMiss, 1U, vec3(0.5), 2.0, vec3(1.5), 5.0, 8.0f);
+ hitObjectExecuteShaderNV(hObjHit, 1);
+ if (hitObjectIsHitNV(hObj)) {
+ op = 1.0f;
+ } else if (hitObjectIsMissNV(hObj)) {
+ op = 2.0f;
+ } else if (hitObjectIsEmptyNV(hObj)) {
+ op = 3.0f;
+ }
+
+
+ float tmin = hitObjectGetRayTMinNV(hObjHit);
+ float tmax = hitObjectGetRayTMaxNV(hObjHit);
+ vec3 orig = hitObjectGetWorldRayOriginNV(hObjHit);
+ vec3 dir = hitObjectGetWorldRayDirectionNV(hObjHit);
+ vec3 oorig = hitObjectGetObjectRayOriginNV(hObjHit);
+ vec3 odir = hitObjectGetObjectRayDirectionNV(hObjHit);
+ mat4x3 otw = hitObjectGetObjectToWorldNV(hObjHit);
+ mat4x3 wto = hitObjectGetWorldToObjectNV(hObjHit);
+ int cid = hitObjectGetInstanceCustomIndexNV(hObjMiss);
+ int iid = hitObjectGetInstanceIdNV(hObjNop);
+ int pid = hitObjectGetPrimitiveIndexNV(hObj);
+ int gid = hitObjectGetGeometryIndexNV(hObj);
+ uint hkind = hitObjectGetHitKindNV(hObj);
+ hitObjectGetAttributesNV(hObj, 2);
+ uvec2 handle = hitObjectGetShaderRecordBufferHandleNV(hObj);
+ uint rid = hitObjectGetShaderBindingTableRecordIndexNV(hObj);
+ reorderThreadNV(4,4);
+ reorderThreadNV(hObjHit);
+ reorderThreadNV(hObjHit, 4, 2);
+
+
+
+
+}
diff --git a/Test/spv.nv.hitobject-allops.rmiss b/Test/spv.nv.hitobject-allops.rmiss
new file mode 100644
index 00000000..045e4a5a
--- /dev/null
+++ b/Test/spv.nv.hitobject-allops.rmiss
@@ -0,0 +1,58 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_NV_shader_invocation_reorder : enable
+#extension GL_NV_ray_tracing_motion_blur : enable
+layout(location = 1) rayPayloadEXT vec4 payload;
+layout(location = 2) rayPayloadEXT pBlock { vec2 val1; vec2 val2; };
+layout(location = 2) hitObjectAttributeNV vec2 attr;
+layout(location = 3) hitObjectAttributeNV hBlock { float attrval;};
+layout(binding = 0) uniform accelerationStructureEXT as;
+layout(binding = 1) buffer block {
+ float op;
+};
+void main()
+{
+ hitObjectNV hObj;
+ hitObjectNV hObjHit, hObjMiss, hObjNop;
+ attr = vec2(1.0);
+ attrval = 2.0;
+ hitObjectTraceRayNV(hObj, as, 1U, 1U, 1U, 1U, 1U, vec3(0.5), 0.5, vec3(1), 1.0, 1);
+ hitObjectTraceRayMotionNV(hObj, as, 1U, 1U, 1U, 1U, 1U, vec3(0.5), 0.5, vec3(1), 1.0, 10.0, 2);
+ hitObjectRecordHitNV(hObj, as, 1, 1, 1, 2U, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 2);
+ hitObjectRecordHitMotionNV(hObj, as, 1, 1, 1, 2U, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 4.0f, 2);
+ hitObjectRecordHitWithIndexNV(hObjHit, as, 1, 1, 1, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 3);
+ hitObjectRecordHitWithIndexMotionNV(hObjHit, as, 1, 1, 1, 2U, 2U, vec3(1), 1.0f, vec3(2), 2.0f, 4.0f, 3);
+ hitObjectRecordEmptyNV(hObjNop);
+ hitObjectRecordMissNV(hObjMiss, 1U, vec3(0.5), 2.0, vec3(1.5), 5.0);
+ hitObjectRecordMissMotionNV(hObjMiss, 1U, vec3(0.5), 2.0, vec3(1.5), 5.0, 8.0f);
+ hitObjectExecuteShaderNV(hObjHit, 2);
+ if (hitObjectIsHitNV(hObj)) {
+ op = 1.0f;
+ } else if (hitObjectIsMissNV(hObj)) {
+ op = 2.0f;
+ } else if (hitObjectIsEmptyNV(hObj)) {
+ op = 3.0f;
+ }
+
+
+ float tmin = hitObjectGetRayTMinNV(hObjHit);
+ float tmax = hitObjectGetRayTMaxNV(hObjHit);
+ vec3 orig = hitObjectGetWorldRayOriginNV(hObjHit);
+ vec3 dir = hitObjectGetWorldRayDirectionNV(hObjHit);
+ vec3 oorig = hitObjectGetObjectRayOriginNV(hObjHit);
+ vec3 odir = hitObjectGetObjectRayDirectionNV(hObjHit);
+ mat4x3 otw = hitObjectGetObjectToWorldNV(hObjHit);
+ mat4x3 wto = hitObjectGetWorldToObjectNV(hObjHit);
+ int cid = hitObjectGetInstanceCustomIndexNV(hObjMiss);
+ int iid = hitObjectGetInstanceIdNV(hObjNop);
+ int pid = hitObjectGetPrimitiveIndexNV(hObj);
+ int gid = hitObjectGetGeometryIndexNV(hObj);
+ uint hkind = hitObjectGetHitKindNV(hObj);
+ hitObjectGetAttributesNV(hObj, 2);
+ uvec2 handle = hitObjectGetShaderRecordBufferHandleNV(hObj);
+ uint rid = hitObjectGetShaderBindingTableRecordIndexNV(hObj);
+
+
+
+
+}
diff --git a/Test/struct.error.frag b/Test/struct.error.frag
new file mode 100644
index 00000000..29aba00b
--- /dev/null
+++ b/Test/struct.error.frag
@@ -0,0 +1,14 @@
+#version 460
+
+struct A {
+ float x;
+};
+
+A test() {
+ return A(1.0);
+}
+
+void main() {
+ test().z; // A.z does not exist, causes a crash
+}
+
diff --git a/gen_extension_headers.py b/gen_extension_headers.py
index 2838c962..0638720a 100755
--- a/gen_extension_headers.py
+++ b/gen_extension_headers.py
@@ -57,7 +57,7 @@ def generate_main(glsl_files, output_header_file):
contents += '\tfor (int i = 0; i < n; i++) {\n'
for symbol_name in symbol_name_list:
- contents += '\t\tif (strstr(shaders[i], "%s") != NULL) {\n' % (symbol_name)
+ contents += '\t\tif (strstr(shaders[i], "%s") != nullptr) {\n' % (symbol_name)
contents += '\t\t shaderString.append(%s_GLSL);\n' % (symbol_name)
contents += '\t\t}\n'
diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp
index ead005c3..1465ce17 100644
--- a/glslang/CInterface/glslang_c_interface.cpp
+++ b/glslang/CInterface/glslang_c_interface.cpp
@@ -33,7 +33,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "glslang/Include/glslang_c_interface.h"
#include "StandAlone/DirStackFileIncluder.h"
-#include "StandAlone/ResourceLimits.h"
+#include "glslang/Public/ResourceLimits.h"
#include "glslang/Include/ShHandle.h"
#include "glslang/Include/ResourceLimits.h"
@@ -351,6 +351,10 @@ GLSLANG_EXPORT glslang_shader_t* glslang_shader_create(const glslang_input_t* in
return shader;
}
+GLSLANG_EXPORT void glslang_shader_set_preamble(glslang_shader_t* shader, const char* s) {
+ shader->shader->setPreamble(s);
+}
+
GLSLANG_EXPORT void glslang_shader_shift_binding(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base)
{
const glslang::TResourceType res_type = glslang::TResourceType(res);
diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
index 72e82b48..7709f098 100644
--- a/glslang/CMakeLists.txt
+++ b/glslang/CMakeLists.txt
@@ -149,6 +149,8 @@ set(GLSLANG_SOURCES
set(GLSLANG_HEADERS
Public/ShaderLang.h
+ Public/ResourceLimits.h
+ Public/resource_limits_c.h
Include/arrays.h
Include/BaseTypes.h
Include/Common.h
@@ -210,7 +212,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `glslangTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::glslang)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
if(${BUILD_SHARED_LIBS})
diff --git a/glslang/GenericCodeGen/Link.cpp b/glslang/GenericCodeGen/Link.cpp
index c38db0f6..5e28405f 100644
--- a/glslang/GenericCodeGen/Link.cpp
+++ b/glslang/GenericCodeGen/Link.cpp
@@ -82,7 +82,7 @@ void DeleteUniformMap(TUniformMap* map)
TShHandleBase* ConstructBindings()
{
- return 0;
+ return nullptr;
}
void DeleteBindingList(TShHandleBase* bindingList)
diff --git a/glslang/HLSL/hlslGrammar.cpp b/glslang/HLSL/hlslGrammar.cpp
index a01f2403..19a792b9 100644
--- a/glslang/HLSL/hlslGrammar.cpp
+++ b/glslang/HLSL/hlslGrammar.cpp
@@ -3794,7 +3794,7 @@ bool HlslGrammar::acceptIterationStatement(TIntermNode*& statement, const TAttri
parseContext.unnestLooping();
--parseContext.controlFlowNestingLevel;
- loopNode = intermediate.addLoop(statement, condition, 0, false, loc);
+ loopNode = intermediate.addLoop(statement, condition, nullptr, false, loc);
statement = loopNode;
break;
diff --git a/glslang/HLSL/hlslParseHelper.cpp b/glslang/HLSL/hlslParseHelper.cpp
index 62e46a09..6e0d314a 100644
--- a/glslang/HLSL/hlslParseHelper.cpp
+++ b/glslang/HLSL/hlslParseHelper.cpp
@@ -1596,7 +1596,7 @@ void HlslParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFunction
//
bool builtIn;
TSymbol* symbol = symbolTable.find(function.getMangledName(), &builtIn);
- const TFunction* prevDec = symbol ? symbol->getAsFunction() : 0;
+ const TFunction* prevDec = symbol ? symbol->getAsFunction() : nullptr;
if (prototype) {
// All built-in functions are defined, even though they don't have a body.
@@ -2472,7 +2472,7 @@ TIntermNode* HlslParseContext::handleReturnValue(const TSourceLoc& loc, TIntermT
void HlslParseContext::handleFunctionArgument(TFunction* function,
TIntermTyped*& arguments, TIntermTyped* newArg)
{
- TParameter param = { 0, new TType, nullptr };
+ TParameter param = { nullptr, new TType, nullptr };
param.type->shallowCopy(newArg->getType());
function->addParameter(param);
@@ -7790,18 +7790,18 @@ const TFunction* HlslParseContext::findFunction(const TSourceLoc& loc, TFunction
// Handle aggregates: put all args into the new function call
for (int arg = 0; arg < int(args->getAsAggregate()->getSequence().size()); ++arg) {
// TODO: But for constness, we could avoid the new & shallowCopy, and use the pointer directly.
- TParameter param = { 0, new TType, nullptr };
+ TParameter param = { nullptr, new TType, nullptr };
param.type->shallowCopy(args->getAsAggregate()->getSequence()[arg]->getAsTyped()->getType());
convertedCall.addParameter(param);
}
} else if (args->getAsUnaryNode()) {
// Handle unaries: put all args into the new function call
- TParameter param = { 0, new TType, nullptr };
+ TParameter param = { nullptr, new TType, nullptr };
param.type->shallowCopy(args->getAsUnaryNode()->getOperand()->getAsTyped()->getType());
convertedCall.addParameter(param);
} else if (args->getAsTyped()) {
// Handle bare e.g, floats, not in an aggregate.
- TParameter param = { 0, new TType, nullptr };
+ TParameter param = { nullptr, new TType, nullptr };
param.type->shallowCopy(args->getAsTyped()->getType());
convertedCall.addParameter(param);
} else {
diff --git a/glslang/HLSL/hlslParseHelper.h b/glslang/HLSL/hlslParseHelper.h
index 96d85f43..97c52d45 100644
--- a/glslang/HLSL/hlslParseHelper.h
+++ b/glslang/HLSL/hlslParseHelper.h
@@ -147,14 +147,14 @@ public:
void declareTypedef(const TSourceLoc&, const TString& identifier, const TType&);
void declareStruct(const TSourceLoc&, TString& structName, TType&);
TSymbol* lookupUserType(const TString&, TType&);
- TIntermNode* declareVariable(const TSourceLoc&, const TString& identifier, TType&, TIntermTyped* initializer = 0);
+ TIntermNode* declareVariable(const TSourceLoc&, const TString& identifier, TType&, TIntermTyped* initializer = nullptr);
void lengthenList(const TSourceLoc&, TIntermSequence& list, int size, TIntermTyped* scalarInit);
TIntermTyped* handleConstructor(const TSourceLoc&, TIntermTyped*, const TType&);
TIntermTyped* addConstructor(const TSourceLoc&, TIntermTyped*, const TType&);
TIntermTyped* convertArray(TIntermTyped*, 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);
+ void declareBlock(const TSourceLoc&, TType&, const TString* instanceName = nullptr);
void declareStructBufferCounter(const TSourceLoc& loc, const TType& bufferType, const TString& name);
void fixBlockLocations(const TSourceLoc&, TQualifier&, TTypeList&, bool memberWithLocation, bool memberWithoutLocation);
void fixXfbOffsets(TQualifier&, TTypeList&);
@@ -171,10 +171,10 @@ public:
void unnestAnnotations() { --annotationNestingLevel; }
int getAnnotationNestingLevel() { return annotationNestingLevel; }
void pushScope() { symbolTable.push(); }
- void popScope() { symbolTable.pop(0); }
+ void popScope() { symbolTable.pop(nullptr); }
void pushThisScope(const TType&, const TVector<TFunctionDeclarator>&);
- void popThisScope() { symbolTable.pop(0); }
+ void popThisScope() { symbolTable.pop(nullptr); }
void pushImplicitThis(TVariable* thisParameter) { implicitThisStack.push_back(thisParameter); }
void popImplicitThis() { implicitThisStack.pop_back(); }
diff --git a/glslang/Include/BaseTypes.h b/glslang/Include/BaseTypes.h
index 156d98b9..cf93193d 100644
--- a/glslang/Include/BaseTypes.h
+++ b/glslang/Include/BaseTypes.h
@@ -65,6 +65,7 @@ enum TBasicType {
EbtAccStruct,
EbtReference,
EbtRayQuery,
+ EbtHitObjectNV,
#ifndef GLSLANG_WEB
// SPIR-V type defined by spirv_type
EbtSpirvType,
@@ -104,6 +105,7 @@ enum TStorageQualifier {
EvqHitAttr,
EvqCallableData,
EvqCallableDataIn,
+ EvqHitObjectAttrNV,
EvqtaskPayloadSharedEXT,
@@ -316,6 +318,13 @@ enum TBuiltInVariable {
EbvByteAddressBuffer,
EbvRWByteAddressBuffer,
+ // ARM specific core builtins
+ EbvCoreCountARM,
+ EbvCoreIDARM,
+ EbvCoreMaxIDARM,
+ EbvWarpIDARM,
+ EbvWarpMaxIDARM,
+
EbvLast
};
@@ -368,6 +377,7 @@ __inline const char* GetStorageQualifierString(TStorageQualifier q)
case EvqCallableData: return "callableDataNV"; break;
case EvqCallableDataIn: return "callableDataInNV"; break;
case EvqtaskPayloadSharedEXT: return "taskPayloadSharedEXT"; break;
+ case EvqHitObjectAttrNV:return "hitObjectAttributeNV"; break;
default: return "unknown qualifier";
}
}
diff --git a/glslang/Include/PoolAlloc.h b/glslang/Include/PoolAlloc.h
index 1f5cac76..3e67d6ed 100644
--- a/glslang/Include/PoolAlloc.h
+++ b/glslang/Include/PoolAlloc.h
@@ -37,7 +37,7 @@
#ifndef _POOLALLOC_INCLUDED_
#define _POOLALLOC_INCLUDED_
-#ifdef _DEBUG
+#ifndef NDEBUG
# define GUARD_BLOCKS // define to enable guard block sanity checking
#endif
@@ -74,7 +74,7 @@ namespace glslang {
class TAllocation {
public:
- TAllocation(size_t size, unsigned char* mem, TAllocation* prev = 0) :
+ TAllocation(size_t size, unsigned char* mem, TAllocation* prev = nullptr) :
size(size), mem(mem), prevAlloc(prev) {
// Allocations are bracketed:
// [allocationHeader][initialGuardBlock][userData][finalGuardBlock]
@@ -171,7 +171,7 @@ public:
void popAll();
//
- // Call allocate() to actually acquire memory. Returns 0 if no memory
+ // Call allocate() to actually acquire memory. Returns nullptr if no memory
// available, otherwise a properly aligned pointer to 'numBytes' of memory.
//
void* allocate(size_t numBytes);
@@ -189,7 +189,7 @@ protected:
struct tHeader {
tHeader(tHeader* nextPage, size_t pageCount) :
#ifdef GUARD_BLOCKS
- lastAllocation(0),
+ lastAllocation(nullptr),
#endif
nextPage(nextPage), pageCount(pageCount) { }
diff --git a/glslang/Include/ShHandle.h b/glslang/Include/ShHandle.h
index df07bd8e..dee47c0d 100644
--- a/glslang/Include/ShHandle.h
+++ b/glslang/Include/ShHandle.h
@@ -58,9 +58,9 @@ class TShHandleBase {
public:
TShHandleBase() { pool = new glslang::TPoolAllocator; }
virtual ~TShHandleBase() { delete pool; }
- virtual TCompiler* getAsCompiler() { return 0; }
- virtual TLinker* getAsLinker() { return 0; }
- virtual TUniformMap* getAsUniformMap() { return 0; }
+ virtual TCompiler* getAsCompiler() { return nullptr; }
+ virtual TLinker* getAsLinker() { return nullptr; }
+ virtual TUniformMap* getAsUniformMap() { return nullptr; }
virtual glslang::TPoolAllocator* getPool() const { return pool; }
private:
glslang::TPoolAllocator* pool;
@@ -123,11 +123,11 @@ public:
infoSink(iSink),
executable(e),
haveReturnableObjectCode(false),
- appAttributeBindings(0),
- fixedAttributeBindings(0),
- excludedAttributes(0),
+ appAttributeBindings(nullptr),
+ fixedAttributeBindings(nullptr),
+ excludedAttributes(nullptr),
excludedCount(0),
- uniformBindings(0) { }
+ uniformBindings(nullptr) { }
virtual TLinker* getAsLinker() { return this; }
virtual ~TLinker() { }
virtual bool link(TCompilerList&, TUniformMap*) = 0;
@@ -137,7 +137,7 @@ public:
virtual void getAttributeBindings(ShBindingTable const **t) const = 0;
virtual void setExcludedAttributes(const int* attributes, int count) { excludedAttributes = attributes; excludedCount = count; }
virtual ShBindingTable* getUniformBindings() const { return uniformBindings; }
- virtual const void* getObjectCode() const { return 0; } // a real compiler would be returning object code here
+ virtual const void* getObjectCode() const { return nullptr; } // a real compiler would be returning object code here
virtual TInfoSink& getInfoSink() { return infoSink; }
TInfoSink& infoSink;
protected:
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index a6f47e84..59a447c9 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -429,6 +429,12 @@ enum TLayoutFormat {
ElfR16ui,
ElfR8ui,
ElfR64ui,
+ ElfExtSizeGuard, // to help with comparisons
+ ElfSize1x8,
+ ElfSize1x16,
+ ElfSize1x32,
+ ElfSize2x32,
+ ElfSize4x32,
ElfCount
};
@@ -863,6 +869,9 @@ public:
bool isAnyCallable() const {
return storage == EvqCallableData || storage == EvqCallableDataIn;
}
+ bool isHitObjectAttrNV() const {
+ return storage == EvqHitObjectAttrNV;
+ }
// True if this type of IO is supposed to be arrayed with extra level for per-vertex data
bool isArrayedIo(EShLanguage language) const
@@ -898,6 +907,9 @@ public:
// -2048 as the default value indicating layoutSecondaryViewportRelative is not set
layoutSecondaryViewportRelativeOffset = -2048;
layoutShaderRecord = false;
+ layoutHitObjectShaderRecordNV = false;
+ layoutBindlessSampler = false;
+ layoutBindlessImage = false;
layoutBufferReferenceAlign = layoutBufferReferenceAlignEnd;
layoutFormat = ElfNone;
#endif
@@ -997,10 +1009,14 @@ public:
bool layoutViewportRelative;
int layoutSecondaryViewportRelativeOffset;
bool layoutShaderRecord;
+ bool layoutHitObjectShaderRecordNV;
// GL_EXT_spirv_intrinsics
int spirvStorageClass;
TSpirvDecorate* spirvDecorate;
+
+ bool layoutBindlessSampler;
+ bool layoutBindlessImage;
#endif
bool hasUniformLayout() const
@@ -1123,6 +1139,7 @@ public:
TLayoutFormat getFormat() const { return layoutFormat; }
bool isPushConstant() const { return layoutPushConstant; }
bool isShaderRecord() const { return layoutShaderRecord; }
+ bool hasHitObjectShaderRecordNV() const { return layoutHitObjectShaderRecordNV; }
bool hasBufferReference() const { return layoutBufferReference; }
bool hasBufferReferenceAlign() const
{
@@ -1132,6 +1149,14 @@ public:
{
return nonUniform;
}
+ bool isBindlessSampler() const
+ {
+ return layoutBindlessSampler;
+ }
+ bool isBindlessImage() const
+ {
+ return layoutBindlessImage;
+ }
// GL_EXT_spirv_intrinsics
bool hasSprivDecorate() const { return spirvDecorate != nullptr; }
@@ -1241,6 +1266,11 @@ public:
case ElfR8ui: return "r8ui";
case ElfR64ui: return "r64ui";
case ElfR64i: return "r64i";
+ case ElfSize1x8: return "size1x8";
+ case ElfSize1x16: return "size1x16";
+ case ElfSize1x32: return "size1x32";
+ case ElfSize2x32: return "size2x32";
+ case ElfSize4x32: return "size4x32";
default: return "none";
}
}
@@ -1864,9 +1894,11 @@ public:
virtual bool isArray() const { return arraySizes != nullptr; }
virtual bool isSizedArray() const { return isArray() && arraySizes->isSized(); }
virtual bool isUnsizedArray() const { return isArray() && !arraySizes->isSized(); }
+ virtual bool isImplicitlySizedArray() const { return isArray() && arraySizes->isImplicitlySized(); }
virtual bool isArrayVariablyIndexed() const { assert(isArray()); return arraySizes->isVariablyIndexed(); }
virtual void setArrayVariablyIndexed() { assert(isArray()); arraySizes->setVariablyIndexed(); }
virtual void updateImplicitArraySize(int size) { assert(isArray()); arraySizes->updateImplicitSize(size); }
+ virtual void setImplicitlySized(bool isImplicitSized) { arraySizes->setImplicitlySized(isImplicitSized); }
virtual bool isStruct() const { return basicType == EbtStruct || basicType == EbtBlock; }
virtual bool isFloatingDomain() const { return basicType == EbtFloat || basicType == EbtDouble || basicType == EbtFloat16; }
virtual bool isIntegerDomain() const
@@ -1889,7 +1921,8 @@ public:
}
virtual bool isOpaque() const { return basicType == EbtSampler
#ifndef GLSLANG_WEB
- || basicType == EbtAtomicUint || basicType == EbtAccStruct || basicType == EbtRayQuery
+ || basicType == EbtAtomicUint || basicType == EbtAccStruct || basicType == EbtRayQuery
+ || basicType == EbtHitObjectNV
#endif
; }
virtual bool isBuiltIn() const { return getQualifier().builtIn != EbvNone; }
@@ -1898,6 +1931,8 @@ public:
virtual bool isImage() const { return basicType == EbtSampler && getSampler().isImage(); }
virtual bool isSubpass() const { return basicType == EbtSampler && getSampler().isSubpass(); }
virtual bool isTexture() const { return basicType == EbtSampler && getSampler().isTexture(); }
+ virtual bool isBindlessImage() const { return isImage() && qualifier.layoutBindlessImage; }
+ virtual bool isBindlessTexture() const { return isTexture() && qualifier.layoutBindlessSampler; }
// Check the block-name convention of creating a block without populating it's members:
virtual bool isUnusableName() const { return isStruct() && structure == nullptr; }
virtual bool isParameterized() const { return typeParameters != nullptr; }
@@ -1954,6 +1989,11 @@ public:
return contains([](const TType* t) { return t->isOpaque(); } );
}
+ virtual bool containsSampler() const
+ {
+ return contains([](const TType* t) { return t->isTexture() || t->isImage(); });
+ }
+
// Recursively checks if the type contains a built-in variable
virtual bool containsBuiltIn() const
{
@@ -2087,8 +2127,12 @@ public:
// an explicit array.
void adoptImplicitArraySizes(bool skipNonvariablyIndexed)
{
- if (isUnsizedArray() && !(skipNonvariablyIndexed || isArrayVariablyIndexed()))
+ if (isUnsizedArray() &&
+ (qualifier.builtIn == EbvSampleMask ||
+ !(skipNonvariablyIndexed || isArrayVariablyIndexed()))) {
changeOuterArraySize(getImplicitArraySize());
+ setImplicitlySized(true);
+ }
// For multi-dim per-view arrays, set unsized inner dimension size to 1
if (qualifier.isPerView() && arraySizes && arraySizes->isInnerUnsized())
arraySizes->clearInnerUnsized();
@@ -2283,8 +2327,16 @@ public:
appendStr(" layoutSecondaryViewportRelativeOffset=");
appendInt(qualifier.layoutSecondaryViewportRelativeOffset);
}
+
if (qualifier.layoutShaderRecord)
appendStr(" shaderRecordNV");
+ if (qualifier.layoutHitObjectShaderRecordNV)
+ appendStr(" hitobjectshaderrecordnv");
+
+ if (qualifier.layoutBindlessSampler)
+ appendStr(" layoutBindlessSampler");
+ if (qualifier.layoutBindlessImage)
+ appendStr(" layoutBindlessImage");
appendStr(")");
}
@@ -2544,6 +2596,7 @@ public:
void setStruct(TTypeList* s) { assert(isStruct()); structure = s; }
TTypeList* getWritableStruct() const { assert(isStruct()); return structure; } // This should only be used when known to not be sharing with other threads
void setBasicType(const TBasicType& t) { basicType = t; }
+ void setVectorSize(int s) { vectorSize = s; }
int computeNumComponents() const
{
@@ -2711,7 +2764,10 @@ public:
bool sameArrayness(const TType& right) const
{
return ((arraySizes == nullptr && right.arraySizes == nullptr) ||
- (arraySizes != nullptr && right.arraySizes != nullptr && *arraySizes == *right.arraySizes));
+ (arraySizes != nullptr && right.arraySizes != nullptr &&
+ (*arraySizes == *right.arraySizes ||
+ (arraySizes->isImplicitlySized() && right.arraySizes->isDefaultImplicitlySized()) ||
+ (right.arraySizes->isImplicitlySized() && arraySizes->isDefaultImplicitlySized()))));
}
// See if two type's arrayness match in everything except their outer dimension
diff --git a/glslang/Include/arrays.h b/glslang/Include/arrays.h
index 7f047d9f..1da14d09 100644
--- a/glslang/Include/arrays.h
+++ b/glslang/Include/arrays.h
@@ -222,7 +222,7 @@ protected:
struct TArraySizes {
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
- TArraySizes() : implicitArraySize(1), variablyIndexed(false) { }
+ TArraySizes() : implicitArraySize(0), implicitlySized(true), variablyIndexed(false){ }
// For breaking into two non-shared copies, independently modifiable.
TArraySizes& operator=(const TArraySizes& from)
@@ -230,6 +230,7 @@ struct TArraySizes {
implicitArraySize = from.implicitArraySize;
variablyIndexed = from.variablyIndexed;
sizes = from.sizes;
+ implicitlySized = from.implicitlySized;
return *this;
}
@@ -256,11 +257,17 @@ struct TArraySizes {
void addInnerSize(int s, TIntermTyped* n) { sizes.push_back((unsigned)s, n); }
void addInnerSize(TArraySize pair) {
sizes.push_back(pair.size, pair.node);
+ implicitlySized = false;
}
void addInnerSizes(const TArraySizes& s) { sizes.push_back(s.sizes); }
- void changeOuterSize(int s) { sizes.changeFront((unsigned)s); }
- int getImplicitSize() const { return implicitArraySize; }
- void updateImplicitSize(int s) { implicitArraySize = std::max(implicitArraySize, s); }
+ void changeOuterSize(int s) {
+ sizes.changeFront((unsigned)s);
+ implicitlySized = false;
+ }
+ int getImplicitSize() const { return implicitArraySize > 0 ? implicitArraySize : 1; }
+ void updateImplicitSize(int s) {
+ implicitArraySize = (std::max)(implicitArraySize, s);
+ }
bool isInnerUnsized() const
{
for (int d = 1; d < sizes.size(); ++d) {
@@ -295,6 +302,9 @@ struct TArraySizes {
bool hasUnsized() const { return getOuterSize() == UnsizedArraySize || isInnerUnsized(); }
bool isSized() const { return getOuterSize() != UnsizedArraySize; }
+ bool isImplicitlySized() const { return implicitlySized; }
+ bool isDefaultImplicitlySized() const { return implicitlySized && implicitArraySize == 0; }
+ void setImplicitlySized(bool isImplicitSizing) { implicitlySized = isImplicitSizing; }
void dereference() { sizes.pop_front(); }
void copyDereferenced(const TArraySizes& rhs)
{
@@ -333,6 +343,7 @@ protected:
// the implicit size of the array, if not variably indexed and
// otherwise legal.
int implicitArraySize;
+ bool implicitlySized;
bool variablyIndexed; // true if array is indexed with a non compile-time constant
};
diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h
index 9e5608c5..28d52330 100644
--- a/glslang/Include/glslang_c_interface.h
+++ b/glslang/Include/glslang_c_interface.h
@@ -157,7 +157,13 @@ typedef struct glslang_resource_s {
int max_task_work_group_size_y_ext;
int max_task_work_group_size_z_ext;
int max_mesh_view_count_ext;
- int maxDualSourceDrawBuffersEXT;
+ union
+ {
+ int max_dual_source_draw_buffers_ext;
+
+ /* Incorrectly capitalized name retained for backward compatibility */
+ int maxDualSourceDrawBuffersEXT;
+ };
glslang_limits_t limits;
} glslang_resource_t;
@@ -245,6 +251,7 @@ GLSLANG_EXPORT void glslang_finalize_process();
GLSLANG_EXPORT glslang_shader_t* glslang_shader_create(const glslang_input_t* input);
GLSLANG_EXPORT void glslang_shader_delete(glslang_shader_t* shader);
+GLSLANG_EXPORT void glslang_shader_set_preamble(glslang_shader_t* shader, const char* s);
GLSLANG_EXPORT void glslang_shader_shift_binding(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base);
GLSLANG_EXPORT void glslang_shader_shift_binding_for_set(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base, unsigned int set);
GLSLANG_EXPORT void glslang_shader_set_options(glslang_shader_t* shader, int options); // glslang_shader_options_t
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index a0240028..ec2b28a9 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -968,7 +968,42 @@ enum TOperator {
EOpRayQueryGetIntersectionObjectToWorld,
EOpRayQueryGetIntersectionWorldToObject,
+ //
+ // GL_NV_shader_invocation_reorder
//
+
+ EOpHitObjectTraceRayNV,
+ EOpHitObjectTraceRayMotionNV,
+ EOpHitObjectRecordHitNV,
+ EOpHitObjectRecordHitMotionNV,
+ EOpHitObjectRecordHitWithIndexNV,
+ EOpHitObjectRecordHitWithIndexMotionNV,
+ EOpHitObjectRecordMissNV,
+ EOpHitObjectRecordMissMotionNV,
+ EOpHitObjectRecordEmptyNV,
+ EOpHitObjectExecuteShaderNV,
+ EOpHitObjectIsEmptyNV,
+ EOpHitObjectIsMissNV,
+ EOpHitObjectIsHitNV,
+ EOpHitObjectGetRayTMinNV,
+ EOpHitObjectGetRayTMaxNV,
+ EOpHitObjectGetObjectRayOriginNV,
+ EOpHitObjectGetObjectRayDirectionNV,
+ EOpHitObjectGetWorldRayOriginNV,
+ EOpHitObjectGetWorldRayDirectionNV,
+ EOpHitObjectGetWorldToObjectNV,
+ EOpHitObjectGetObjectToWorldNV,
+ EOpHitObjectGetInstanceCustomIndexNV,
+ EOpHitObjectGetInstanceIdNV,
+ EOpHitObjectGetGeometryIndexNV,
+ EOpHitObjectGetPrimitiveIndexNV,
+ EOpHitObjectGetHitKindNV,
+ EOpHitObjectGetShaderBindingTableRecordIndexNV,
+ EOpHitObjectGetShaderRecordBufferHandleNV,
+ EOpHitObjectGetAttributesNV,
+ EOpHitObjectGetCurrentTimeNV,
+ EOpReorderThreadNV,
+
// HLSL operations
//
@@ -1086,31 +1121,31 @@ public:
virtual const glslang::TSourceLoc& getLoc() const { return loc; }
virtual void setLoc(const glslang::TSourceLoc& l) { loc = l; }
virtual void traverse(glslang::TIntermTraverser*) = 0;
- virtual glslang::TIntermTyped* getAsTyped() { return 0; }
- virtual glslang::TIntermOperator* getAsOperator() { return 0; }
- virtual glslang::TIntermConstantUnion* getAsConstantUnion() { return 0; }
- virtual glslang::TIntermAggregate* getAsAggregate() { return 0; }
- virtual glslang::TIntermUnary* getAsUnaryNode() { return 0; }
- virtual glslang::TIntermBinary* getAsBinaryNode() { return 0; }
- virtual glslang::TIntermSelection* getAsSelectionNode() { return 0; }
- virtual glslang::TIntermSwitch* getAsSwitchNode() { return 0; }
- virtual glslang::TIntermMethod* getAsMethodNode() { return 0; }
- virtual glslang::TIntermSymbol* getAsSymbolNode() { return 0; }
- virtual glslang::TIntermBranch* getAsBranchNode() { return 0; }
- virtual glslang::TIntermLoop* getAsLoopNode() { return 0; }
-
- virtual const glslang::TIntermTyped* getAsTyped() const { return 0; }
- virtual const glslang::TIntermOperator* getAsOperator() const { return 0; }
- virtual const glslang::TIntermConstantUnion* getAsConstantUnion() const { return 0; }
- virtual const glslang::TIntermAggregate* getAsAggregate() const { return 0; }
- virtual const glslang::TIntermUnary* getAsUnaryNode() const { return 0; }
- virtual const glslang::TIntermBinary* getAsBinaryNode() const { return 0; }
- virtual const glslang::TIntermSelection* getAsSelectionNode() const { return 0; }
- virtual const glslang::TIntermSwitch* getAsSwitchNode() const { return 0; }
- virtual const glslang::TIntermMethod* getAsMethodNode() const { return 0; }
- virtual const glslang::TIntermSymbol* getAsSymbolNode() const { return 0; }
- virtual const glslang::TIntermBranch* getAsBranchNode() const { return 0; }
- virtual const glslang::TIntermLoop* getAsLoopNode() const { return 0; }
+ virtual glslang::TIntermTyped* getAsTyped() { return nullptr; }
+ virtual glslang::TIntermOperator* getAsOperator() { return nullptr; }
+ virtual glslang::TIntermConstantUnion* getAsConstantUnion() { return nullptr; }
+ virtual glslang::TIntermAggregate* getAsAggregate() { return nullptr; }
+ virtual glslang::TIntermUnary* getAsUnaryNode() { return nullptr; }
+ virtual glslang::TIntermBinary* getAsBinaryNode() { return nullptr; }
+ virtual glslang::TIntermSelection* getAsSelectionNode() { return nullptr; }
+ virtual glslang::TIntermSwitch* getAsSwitchNode() { return nullptr; }
+ virtual glslang::TIntermMethod* getAsMethodNode() { return nullptr; }
+ virtual glslang::TIntermSymbol* getAsSymbolNode() { return nullptr; }
+ virtual glslang::TIntermBranch* getAsBranchNode() { return nullptr; }
+ virtual glslang::TIntermLoop* getAsLoopNode() { return nullptr; }
+
+ virtual const glslang::TIntermTyped* getAsTyped() const { return nullptr; }
+ virtual const glslang::TIntermOperator* getAsOperator() const { return nullptr; }
+ virtual const glslang::TIntermConstantUnion* getAsConstantUnion() const { return nullptr; }
+ virtual const glslang::TIntermAggregate* getAsAggregate() const { return nullptr; }
+ virtual const glslang::TIntermUnary* getAsUnaryNode() const { return nullptr; }
+ virtual const glslang::TIntermBinary* getAsBinaryNode() const { return nullptr; }
+ virtual const glslang::TIntermSelection* getAsSelectionNode() const { return nullptr; }
+ virtual const glslang::TIntermSwitch* getAsSwitchNode() const { return nullptr; }
+ virtual const glslang::TIntermMethod* getAsMethodNode() const { return nullptr; }
+ virtual const glslang::TIntermSymbol* getAsSymbolNode() const { return nullptr; }
+ virtual const glslang::TIntermBranch* getAsBranchNode() const { return nullptr; }
+ virtual const glslang::TIntermLoop* getAsLoopNode() const { return nullptr; }
virtual ~TIntermNode() { }
protected:
@@ -1616,8 +1651,8 @@ protected:
//
class TIntermUnary : public TIntermOperator {
public:
- TIntermUnary(TOperator o, TType& t) : TIntermOperator(o, t), operand(0) {}
- TIntermUnary(TOperator o) : TIntermOperator(o), operand(0) {}
+ TIntermUnary(TOperator o, TType& t) : TIntermOperator(o, t), operand(nullptr) {}
+ TIntermUnary(TOperator o) : TIntermOperator(o), operand(nullptr) {}
virtual void traverse(TIntermTraverser*);
virtual void setOperand(TIntermTyped* o) { operand = o; }
virtual TIntermTyped* getOperand() { return operand; }
@@ -1819,7 +1854,7 @@ public:
TIntermNode *getParentNode()
{
- return path.size() == 0 ? NULL : path.back();
+ return path.size() == 0 ? nullptr : path.back();
}
const bool preVisit;
diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp
index 5fc61dbb..40f53bbc 100644
--- a/glslang/MachineIndependent/Constant.cpp
+++ b/glslang/MachineIndependent/Constant.cpp
@@ -226,7 +226,7 @@ TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TIntermTyped* right
newConstArray[i].setU64Const(leftUnionArray[i].getU64Const() / rightUnionArray[i].getU64Const());
break;
default:
- return 0;
+ return nullptr;
#endif
}
}
@@ -354,7 +354,7 @@ TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TIntermTyped* right
break;
default:
- return 0;
+ return nullptr;
}
TIntermConstantUnion *newNode = new TIntermConstantUnion(newConstArray, returnType);
@@ -1345,7 +1345,7 @@ TIntermTyped* TIntermediate::foldDereference(TIntermTyped* node, int index, cons
{
TType dereferencedType(node->getType(), index);
dereferencedType.getQualifier().storage = EvqConst;
- TIntermTyped* result = 0;
+ TIntermTyped* result = nullptr;
int size = dereferencedType.computeNumComponents();
// arrays, vectors, matrices, all use simple multiplicative math
@@ -1365,7 +1365,7 @@ TIntermTyped* TIntermediate::foldDereference(TIntermTyped* node, int index, cons
result = addConstantUnion(TConstUnionArray(node->getAsConstantUnion()->getConstArray(), start, size), node->getType(), loc);
- if (result == 0)
+ if (result == nullptr)
result = node;
else
result->setType(dereferencedType);
@@ -1387,7 +1387,7 @@ TIntermTyped* TIntermediate::foldSwizzle(TIntermTyped* node, TSwizzleSelectors<T
TIntermTyped* result = addConstantUnion(constArray, node->getType(), loc);
- if (result == 0)
+ if (result == nullptr)
result = node;
else
result->setType(TType(node->getBasicType(), EvqConst, selectors.size()));
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
index 0cbb9e78..16287dfd 100644
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -147,10 +147,6 @@ EProfile EDesktopProfile = static_cast<EProfile>(ENoProfile | ECoreProfile | ECo
#ifdef GLSLANG_WEB
const Versioning* Es300Desktop130 = nullptr;
const Versioning* Es310Desktop420 = nullptr;
-#elif defined(GLSLANG_ANGLE)
- const Versioning* Es300Desktop130 = nullptr;
- const Versioning* Es310Desktop420 = nullptr;
- const Versioning* Es310Desktop450 = nullptr;
#else
const Versioning Es300Desktop130Version[] = { { EEsProfile, 0, 300, 0, nullptr },
{ EDesktopProfile, 0, 130, 0, nullptr },
@@ -420,7 +416,7 @@ void AddTabledBuiltin(TString& decls, const BuiltInFunction& function)
// See if the tabled versioning information allows the current version.
bool ValidVersion(const BuiltInFunction& function, int version, EProfile profile, const SpvVersion& /* spVersion */)
{
-#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE)
+#if defined(GLSLANG_WEB)
// all entries in table are valid
return true;
#endif
@@ -505,7 +501,7 @@ TBuiltIns::TBuiltIns()
prefixes[EbtFloat] = "";
prefixes[EbtInt] = "i";
prefixes[EbtUint] = "u";
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
prefixes[EbtFloat16] = "f16";
prefixes[EbtInt8] = "i8";
prefixes[EbtUint8] = "u8";
@@ -524,9 +520,7 @@ TBuiltIns::TBuiltIns()
dimMap[Esd3D] = 3;
dimMap[EsdCube] = 3;
#ifndef GLSLANG_WEB
-#ifndef GLSLANG_ANGLE
dimMap[Esd1D] = 1;
-#endif
dimMap[EsdRect] = 2;
dimMap[EsdBuffer] = 1;
dimMap[EsdSubpass] = 2; // potentially unused for now
@@ -551,9 +545,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
#ifdef GLSLANG_WEB
version = 310;
profile = EEsProfile;
-#elif defined(GLSLANG_ANGLE)
- version = 450;
- profile = ECoreProfile;
#endif
addTabledBuiltins(version, profile, spvVersion);
@@ -599,7 +590,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"vec4 fwidthCoarse(vec4 p);"
);
-#ifndef GLSLANG_ANGLE
TString derivativesAndControl16bits (
"float16_t dFdx(float16_t);"
"f16vec2 dFdx(f16vec2);"
@@ -1393,7 +1383,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n"
);
}
-#endif // !GLSLANG_ANGLE
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 430)) {
@@ -1431,7 +1420,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 440) {
commonBuiltins.append(
"uint64_t atomicMin(coherent volatile inout uint64_t, uint64_t);"
@@ -1511,7 +1499,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void atomicStore(coherent volatile out double, double, int, int, int);"
"\n");
}
-#endif // !GLSLANG_ANGLE
#endif // !GLSLANG_WEB
if ((profile == EEsProfile && version >= 300) ||
@@ -1552,7 +1539,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64
commonBuiltins.append(
"double fma(double, double, double);"
@@ -1570,7 +1556,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"f64vec4 fma(f64vec4, f64vec4, f64vec4 );"
"\n");
}
-#endif
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 400)) {
@@ -1588,7 +1573,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64
commonBuiltins.append(
"double frexp(double, out int);"
@@ -1622,7 +1606,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
#endif
-#endif
if ((profile == EEsProfile && version >= 300) ||
(profile != EEsProfile && version >= 150)) {
@@ -1731,7 +1714,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
}
#ifndef GLSLANG_WEB
-#ifndef GLSLANG_ANGLE
//
// Original-style texture functions existing in all stages.
// (Per-stage functions below.)
@@ -1926,7 +1908,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
}
-#endif // !GLSLANG_ANGLE
// Bitfield
if ((profile == EEsProfile && version >= 310) ||
@@ -2069,7 +2050,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
// GL_ARB_shader_ballot
if (profile != EEsProfile && version >= 450) {
commonBuiltins.append(
@@ -3390,7 +3370,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"bool textureFootprintGradClampNV(sampler2D, vec2, vec2, vec2, float, int, bool, out gl_TextureFootprint2DNV);"
"\n");
}
-#endif // !GLSLANG_ANGLE
if ((profile == EEsProfile && version >= 300 && version < 310) ||
(profile != EEsProfile && version >= 150 && version < 450)) { // GL_EXT_shader_integer_mix
@@ -3410,7 +3389,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
// GL_AMD_gpu_shader_half_float/Explicit types
if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 310)) {
commonBuiltins.append(
@@ -4184,7 +4162,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#endif // !GLSLANG_ANGLE
//============================================================================
//
@@ -4200,7 +4177,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
if (spvVersion.vulkan == 0 && IncludeLegacy(version, profile, spvVersion))
stageBuiltins[EShLangVertex].append("vec4 ftransform();");
-#ifndef GLSLANG_ANGLE
//
// Original-style texture Functions with lod.
//
@@ -4260,7 +4236,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
}
-#endif // !GLSLANG_ANGLE
if ((profile != EEsProfile && version >= 150) ||
(profile == EEsProfile && version >= 310)) {
@@ -4341,7 +4316,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
commonBuiltins.append("void debugPrintfEXT();\n");
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 450) {
// coopMatStoreNV perhaps ought to have "out" on the buf parameter, but
// adding it introduces undesirable tempArgs on the stack. What we want
@@ -4465,7 +4439,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#endif // !GLSLANG_ANGLE
// GL_ARB_derivative_control
if (profile != EEsProfile && version >= 400) {
@@ -4503,7 +4476,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"bool helperInvocationEXT();"
"\n");
-#ifndef GLSLANG_ANGLE
// GL_AMD_shader_explicit_vertex_parameter
if (profile != EEsProfile && version >= 450) {
stageBuiltins[EShLangFragment].append(
@@ -4578,7 +4550,8 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
- // Builtins for GL_NV_ray_tracing/GL_NV_ray_tracing_motion_blur/GL_EXT_ray_tracing/GL_EXT_ray_query
+ // Builtins for GL_NV_ray_tracing/GL_NV_ray_tracing_motion_blur/GL_EXT_ray_tracing/GL_EXT_ray_query/
+ // GL_NV_shader_invocation_reorder
if (profile != EEsProfile && version >= 460) {
commonBuiltins.append("void rayQueryInitializeEXT(rayQueryEXT, accelerationStructureEXT, uint, uint, vec3, float, vec3, float);"
"void rayQueryTerminateEXT(rayQueryEXT);"
@@ -4611,6 +4584,39 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
+ "void hitObjectTraceRayNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectTraceRayMotionNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitMotionNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitWithIndexNV(hitObjectNV, accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitWithIndexMotionNV(hitObjectNV, accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordMissNV(hitObjectNV,uint,vec3,float,vec3,float);"
+ "void hitObjectRecordMissMotionNV(hitObjectNV,uint,vec3,float,vec3,float,float);"
+ "void hitObjectRecordEmptyNV(hitObjectNV);"
+ "void hitObjectExecuteShaderNV(hitObjectNV,int);"
+ "bool hitObjectIsEmptyNV(hitObjectNV);"
+ "bool hitObjectIsMissNV(hitObjectNV);"
+ "bool hitObjectIsHitNV(hitObjectNV);"
+ "float hitObjectGetRayTMinNV(hitObjectNV);"
+ "float hitObjectGetRayTMaxNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayDirectionNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayDirectionNV(hitObjectNV);"
+ "mat4x3 hitObjectGetWorldToObjectNV(hitObjectNV);"
+ "mat4x3 hitObjectGetObjectToWorldNV(hitObjectNV);"
+ "int hitObjectGetInstanceCustomIndexNV(hitObjectNV);"
+ "int hitObjectGetInstanceIdNV(hitObjectNV);"
+ "int hitObjectGetGeometryIndexNV(hitObjectNV);"
+ "int hitObjectGetPrimitiveIndexNV(hitObjectNV);"
+ "uint hitObjectGetHitKindNV(hitObjectNV);"
+ "void hitObjectGetAttributesNV(hitObjectNV,int);"
+ "float hitObjectGetCurrentTimeNV(hitObjectNV);"
+ "uint hitObjectGetShaderBindingTableRecordIndexNV(hitObjectNV);"
+ "uvec2 hitObjectGetShaderRecordBufferHandleNV(hitObjectNV);"
+ "void reorderThreadNV(uint, uint);"
+ "void reorderThreadNV(hitObjectNV);"
+ "void reorderThreadNV(hitObjectNV, uint, uint);"
"\n");
stageBuiltins[EShLangIntersect].append(
"bool reportIntersectionNV(float, uint);"
@@ -4626,6 +4632,36 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
+ "void hitObjectTraceRayNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectTraceRayMotionNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitMotionNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitWithIndexNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitWithIndexMotionNV(hitObjectNV, accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordMissNV(hitObjectNV, uint, vec3, float, vec3, float);"
+ "void hitObjectRecordMissMotionNV(hitObjectNV,uint,vec3,float,vec3,float,float);"
+ "void hitObjectRecordEmptyNV(hitObjectNV);"
+ "void hitObjectExecuteShaderNV(hitObjectNV, int);"
+ "bool hitObjectIsEmptyNV(hitObjectNV);"
+ "bool hitObjectIsMissNV(hitObjectNV);"
+ "bool hitObjectIsHitNV(hitObjectNV);"
+ "float hitObjectGetRayTMinNV(hitObjectNV);"
+ "float hitObjectGetRayTMaxNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayDirectionNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayDirectionNV(hitObjectNV);"
+ "mat4x3 hitObjectGetWorldToObjectNV(hitObjectNV);"
+ "mat4x3 hitObjectGetObjectToWorldNV(hitObjectNV);"
+ "int hitObjectGetInstanceCustomIndexNV(hitObjectNV);"
+ "int hitObjectGetInstanceIdNV(hitObjectNV);"
+ "int hitObjectGetGeometryIndexNV(hitObjectNV);"
+ "int hitObjectGetPrimitiveIndexNV(hitObjectNV);"
+ "uint hitObjectGetHitKindNV(hitObjectNV);"
+ "void hitObjectGetAttributesNV(hitObjectNV,int);"
+ "float hitObjectGetCurrentTimeNV(hitObjectNV);"
+ "uint hitObjectGetShaderBindingTableRecordIndexNV(hitObjectNV);"
+ "uvec2 hitObjectGetShaderRecordBufferHandleNV(hitObjectNV);"
"\n");
stageBuiltins[EShLangMiss].append(
"void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
@@ -4633,20 +4669,48 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
+ "void hitObjectTraceRayNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectTraceRayMotionNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitMotionNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitWithIndexNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitWithIndexMotionNV(hitObjectNV, accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordMissNV(hitObjectNV, uint, vec3, float, vec3, float);"
+ "void hitObjectRecordMissMotionNV(hitObjectNV,uint,vec3,float,vec3,float,float);"
+ "void hitObjectRecordEmptyNV(hitObjectNV);"
+ "void hitObjectExecuteShaderNV(hitObjectNV, int);"
+ "bool hitObjectIsEmptyNV(hitObjectNV);"
+ "bool hitObjectIsMissNV(hitObjectNV);"
+ "bool hitObjectIsHitNV(hitObjectNV);"
+ "float hitObjectGetRayTMinNV(hitObjectNV);"
+ "float hitObjectGetRayTMaxNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayDirectionNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayDirectionNV(hitObjectNV);"
+ "mat4x3 hitObjectGetWorldToObjectNV(hitObjectNV);"
+ "mat4x3 hitObjectGetObjectToWorldNV(hitObjectNV);"
+ "int hitObjectGetInstanceCustomIndexNV(hitObjectNV);"
+ "int hitObjectGetInstanceIdNV(hitObjectNV);"
+ "int hitObjectGetGeometryIndexNV(hitObjectNV);"
+ "int hitObjectGetPrimitiveIndexNV(hitObjectNV);"
+ "uint hitObjectGetHitKindNV(hitObjectNV);"
+ "void hitObjectGetAttributesNV(hitObjectNV,int);"
+ "float hitObjectGetCurrentTimeNV(hitObjectNV);"
+ "uint hitObjectGetShaderBindingTableRecordIndexNV(hitObjectNV);"
+ "uvec2 hitObjectGetShaderRecordBufferHandleNV(hitObjectNV);"
"\n");
stageBuiltins[EShLangCallable].append(
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
"\n");
}
-#endif // !GLSLANG_ANGLE
//E_SPV_NV_compute_shader_derivatives
if ((profile == EEsProfile && version >= 320) || (profile != EEsProfile && version >= 450)) {
stageBuiltins[EShLangCompute].append(derivativeControls);
stageBuiltins[EShLangCompute].append("\n");
}
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 450) {
stageBuiltins[EShLangCompute].append(derivativesAndControl16bits);
stageBuiltins[EShLangCompute].append(derivativesAndControl64bits);
@@ -4670,7 +4734,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void SetMeshOutputsEXT(uint, uint);"
"\n");
}
-#endif // !GLSLANG_ANGLE
#endif // !GLSLANG_WEB
//============================================================================
@@ -4708,7 +4771,7 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (spvVersion.spv == 0 && IncludeLegacy(version, profile, spvVersion)) {
//
// Matrix state. p. 31, 32, 37, 39, 40.
@@ -4826,7 +4889,7 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
//============================================================================
//
@@ -4857,7 +4920,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
}
#ifndef GLSLANG_WEB
-#ifndef GLSLANG_ANGLE
//============================================================================
//
// Define the interface to the mesh/task shader.
@@ -4974,7 +5036,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
}
-#endif // !GLSLANG_ANGLE
//============================================================================
//
@@ -5708,7 +5769,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
// GL_ARB_shader_ballot
if (profile != EEsProfile && version >= 450) {
const char* ballotDecls =
@@ -5771,6 +5831,12 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"in highp uint gl_SMCountNV;"
"in highp uint gl_WarpIDNV;"
"in highp uint gl_SMIDNV;"
+ // GL_ARM_shader_core_builtins
+ "in highp uint gl_CoreIDARM;"
+ "in highp uint gl_CoreCountARM;"
+ "in highp uint gl_CoreMaxIDARM;"
+ "in highp uint gl_WarpIDARM;"
+ "in highp uint gl_WarpMaxIDARM;"
"\n";
const char* fragmentSubgroupDecls =
"flat in mediump uint gl_SubgroupSize;"
@@ -5785,6 +5851,12 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"flat in highp uint gl_SMCountNV;"
"flat in highp uint gl_WarpIDNV;"
"flat in highp uint gl_SMIDNV;"
+ // GL_ARM_shader_core_builtins
+ "flat in highp uint gl_CoreIDARM;"
+ "flat in highp uint gl_CoreCountARM;"
+ "flat in highp uint gl_CoreMaxIDARM;"
+ "flat in highp uint gl_WarpIDARM;"
+ "flat in highp uint gl_WarpMaxIDARM;"
"\n";
const char* computeSubgroupDecls =
"in highp uint gl_NumSubgroups;"
@@ -5804,6 +5876,12 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"in highp uint gl_SMCountNV;"
"in highp volatile uint gl_WarpIDNV;"
"in highp volatile uint gl_SMIDNV;"
+ // GL_ARM_shader_core_builtins
+ "in highp uint gl_CoreIDARM;"
+ "in highp uint gl_CoreCountARM;"
+ "in highp uint gl_CoreMaxIDARM;"
+ "in highp uint gl_WarpIDARM;"
+ "in highp uint gl_WarpMaxIDARM;"
"\n";
stageBuiltins[EShLangVertex] .append(subgroupDecls);
@@ -6067,8 +6145,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
}
}
}
-#endif // !GLSLANG_ANGLE
-
#endif // !GLSLANG_WEB
// printf("%s\n", commonBuiltins.c_str());
@@ -6088,7 +6164,7 @@ void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile, c
// enumerate all the types
const TBasicType bTypes[] = { EbtFloat, EbtInt, EbtUint,
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
EbtFloat16
#endif
};
@@ -6122,11 +6198,7 @@ void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile, c
#ifdef GLSLANG_WEB
for (int dim = Esd2D; dim <= EsdCube; ++dim) { // 2D, 3D, and Cube
#else
-#if defined(GLSLANG_ANGLE)
- for (int dim = Esd2D; dim < EsdNumDims; ++dim) { // 2D, ..., buffer, subpass
-#else
for (int dim = Esd1D; dim < EsdNumDims; ++dim) { // 1D, ..., buffer, subpass
-#endif
if (dim == EsdSubpass && spvVersion.vulkan == 0)
continue;
if (dim == EsdSubpass && (image || shadow || arrayed))
@@ -6578,9 +6650,6 @@ void TBuiltIns::addSamplingFunctions(TSampler sampler, const TString& typeName,
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
//
@@ -6657,7 +6726,7 @@ void TBuiltIns::addSamplingFunctions(TSampler sampler, const TString& typeName,
continue;
// loop over 16-bit floating-point texel addressing
-#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE)
+#if defined(GLSLANG_WEB)
const int f16TexAddr = 0;
#else
for (int f16TexAddr = 0; f16TexAddr <= 1; ++f16TexAddr)
@@ -6670,7 +6739,7 @@ void TBuiltIns::addSamplingFunctions(TSampler sampler, const TString& typeName,
totalDims--;
}
// loop over "bool" lod clamp
-#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE)
+#if defined(GLSLANG_WEB)
const int lodClamp = 0;
#else
for (int lodClamp = 0; lodClamp <= 1 ;++lodClamp)
@@ -6682,7 +6751,7 @@ void TBuiltIns::addSamplingFunctions(TSampler sampler, const TString& typeName,
continue;
// loop over "bool" sparse or not
-#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE)
+#if defined(GLSLANG_WEB)
const int sparse = 0;
#else
for (int sparse = 0; sparse <= 1; ++sparse)
@@ -6866,9 +6935,6 @@ void TBuiltIns::addGatherFunctions(TSampler sampler, const TString& typeName, in
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
switch (sampler.dim) {
@@ -7112,9 +7178,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
#ifdef GLSLANG_WEB
version = 310;
profile = EEsProfile;
-#elif defined(GLSLANG_ANGLE)
- version = 450;
- profile = ECoreProfile;
#endif
//
@@ -7547,7 +7610,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
s.append("\n");
}
-#ifndef GLSLANG_ANGLE
// atomic counters (some in compute below)
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 420)) {
@@ -7584,7 +7646,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
s.append("\n");
}
-#endif // !GLSLANG_ANGLE
// GL_ARB_cull_distance
if (profile != EEsProfile && version >= 450) {
@@ -7601,7 +7662,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
s.append(builtInConstant);
}
-#ifndef GLSLANG_ANGLE
// SPV_NV_mesh_shader
if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) {
snprintf(builtInConstant, maxSize, "const int gl_MaxMeshOutputVerticesNV = %d;", resources.maxMeshOutputVerticesNV);
@@ -7625,7 +7685,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
s.append("\n");
}
#endif
-#endif
s.append("\n");
}
@@ -7731,9 +7790,6 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
#ifdef GLSLANG_WEB
version = 310;
profile = EEsProfile;
-#elif defined(GLSLANG_ANGLE)
- version = 450;
- profile = ECoreProfile;
#endif
//
@@ -8092,6 +8148,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if (language == EShLangGeometry || language == EShLangVertex) {
@@ -8607,6 +8676,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if (profile == EEsProfile) {
@@ -8750,6 +8832,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
// GL_KHR_shader_subgroup
@@ -8793,7 +8888,7 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
#endif // !GLSLANG_WEB
break;
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
case EShLangRayGen:
case EShLangIntersect:
case EShLangAnyHit:
@@ -8851,6 +8946,38 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
symbolTable.setFunctionExtensions("executeCallableNV", 1, &E_GL_NV_ray_tracing);
symbolTable.setFunctionExtensions("executeCallableEXT", 1, &E_GL_EXT_ray_tracing);
+ symbolTable.setFunctionExtensions("hitObjectTraceRayNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectTraceRayMotionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordHitNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordHitMotionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordHitWithIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordHitWithIndexMotionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordMissNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordMissMotionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordEmptyNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectExecuteShaderNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectIsEmptyNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectIsMissNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectIsHitNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetRayTMinNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetRayTMaxNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetObjectRayOriginNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetObjectRayDirectionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetWorldRayOriginNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetWorldRayDirectionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetWorldToObjectNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetbjectToWorldNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetInstanceCustomIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetInstanceIdNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetGeometryIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetPrimitiveIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetHitKindNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetAttributesNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetCurrentTimeNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetShaderBindingTableRecordIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetShaderRecordBufferHandleNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("reorderThreadNV", 1, &E_GL_NV_shader_invocation_reorder);
+
BuiltInVariable("gl_LaunchIDNV", EbvLaunchId, symbolTable);
BuiltInVariable("gl_LaunchIDEXT", EbvLaunchId, symbolTable);
@@ -8944,6 +9071,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 450)) {
@@ -9150,6 +9290,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if ((profile == EEsProfile && version >= 310) ||
@@ -9280,6 +9433,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 450)) {
@@ -9815,6 +9981,38 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
symbolTable.relateToOperator("traceRayEXT", EOpTraceKHR);
symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallableNV);
symbolTable.relateToOperator("executeCallableEXT", EOpExecuteCallableKHR);
+
+ symbolTable.relateToOperator("hitObjectTraceRayNV", EOpHitObjectTraceRayNV);
+ symbolTable.relateToOperator("hitObjectTraceRayMotionNV", EOpHitObjectTraceRayMotionNV);
+ symbolTable.relateToOperator("hitObjectRecordHitNV", EOpHitObjectRecordHitNV);
+ symbolTable.relateToOperator("hitObjectRecordHitMotionNV", EOpHitObjectRecordHitMotionNV);
+ symbolTable.relateToOperator("hitObjectRecordHitWithIndexNV", EOpHitObjectRecordHitWithIndexNV);
+ symbolTable.relateToOperator("hitObjectRecordHitWithIndexMotionNV", EOpHitObjectRecordHitWithIndexMotionNV);
+ symbolTable.relateToOperator("hitObjectRecordMissNV", EOpHitObjectRecordMissNV);
+ symbolTable.relateToOperator("hitObjectRecordMissMotionNV", EOpHitObjectRecordMissMotionNV);
+ symbolTable.relateToOperator("hitObjectRecordEmptyNV", EOpHitObjectRecordEmptyNV);
+ symbolTable.relateToOperator("hitObjectExecuteShaderNV", EOpHitObjectExecuteShaderNV);
+ symbolTable.relateToOperator("hitObjectIsEmptyNV", EOpHitObjectIsEmptyNV);
+ symbolTable.relateToOperator("hitObjectIsMissNV", EOpHitObjectIsMissNV);
+ symbolTable.relateToOperator("hitObjectIsHitNV", EOpHitObjectIsHitNV);
+ symbolTable.relateToOperator("hitObjectGetRayTMinNV", EOpHitObjectGetRayTMinNV);
+ symbolTable.relateToOperator("hitObjectGetRayTMaxNV", EOpHitObjectGetRayTMaxNV);
+ symbolTable.relateToOperator("hitObjectGetObjectRayOriginNV", EOpHitObjectGetObjectRayOriginNV);
+ symbolTable.relateToOperator("hitObjectGetObjectRayDirectionNV", EOpHitObjectGetObjectRayDirectionNV);
+ symbolTable.relateToOperator("hitObjectGetWorldRayOriginNV", EOpHitObjectGetWorldRayOriginNV);
+ symbolTable.relateToOperator("hitObjectGetWorldRayDirectionNV", EOpHitObjectGetWorldRayDirectionNV);
+ symbolTable.relateToOperator("hitObjectGetWorldToObjectNV", EOpHitObjectGetWorldToObjectNV);
+ symbolTable.relateToOperator("hitObjectGetObjectToWorldNV", EOpHitObjectGetObjectToWorldNV);
+ symbolTable.relateToOperator("hitObjectGetInstanceCustomIndexNV", EOpHitObjectGetInstanceCustomIndexNV);
+ symbolTable.relateToOperator("hitObjectGetInstanceIdNV", EOpHitObjectGetInstanceIdNV);
+ symbolTable.relateToOperator("hitObjectGetGeometryIndexNV", EOpHitObjectGetGeometryIndexNV);
+ symbolTable.relateToOperator("hitObjectGetPrimitiveIndexNV", EOpHitObjectGetPrimitiveIndexNV);
+ symbolTable.relateToOperator("hitObjectGetHitKindNV", EOpHitObjectGetHitKindNV);
+ symbolTable.relateToOperator("hitObjectGetAttributesNV", EOpHitObjectGetAttributesNV);
+ symbolTable.relateToOperator("hitObjectGetCurrentTimeNV", EOpHitObjectGetCurrentTimeNV);
+ symbolTable.relateToOperator("hitObjectGetShaderBindingTableRecordIndexNV", EOpHitObjectGetShaderBindingTableRecordIndexNV);
+ symbolTable.relateToOperator("hitObjectGetShaderRecordBufferHandleNV", EOpHitObjectGetShaderRecordBufferHandleNV);
+ symbolTable.relateToOperator("reorderThreadNV", EOpReorderThreadNV);
}
break;
case EShLangIntersect:
@@ -9876,10 +10074,6 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources)
{
#ifndef GLSLANG_WEB
-#if defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
-#endif
if (profile != EEsProfile && version >= 430 && version < 440) {
symbolTable.setVariableExtensions("gl_MaxTransformFeedbackBuffers", 1, &E_GL_ARB_enhanced_layouts);
symbolTable.setVariableExtensions("gl_MaxTransformFeedbackInterleavedComponents", 1, &E_GL_ARB_enhanced_layouts);
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index 6a43ef3e..e542f90c 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -352,7 +352,7 @@ TIntermTyped* TIntermediate::addIndex(TOperator op, TIntermTyped* base, TIntermT
TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermTyped* child,
const TSourceLoc& loc)
{
- if (child == 0)
+ if (child == nullptr)
return nullptr;
if (child->getType().getBasicType() == EbtBlock)
@@ -751,6 +751,11 @@ bool TIntermediate::buildConvertOp(TBasicType dst, TBasicType src, TOperator& ne
case EbtInt64: newOp = EOpConvInt64ToUint; break;
case EbtUint64: newOp = EOpConvUint64ToUint; break;
#endif
+ // For bindless texture type conversion, add a dummy convert op, just
+ // to generate a new TIntermTyped
+ // uvec2(any sampler type)
+ // uvec2(any image type)
+ case EbtSampler: newOp = EOpConvIntToUint; break;
default:
return false;
}
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index 616580f9..758572bb 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -159,7 +159,8 @@ bool TParseContextBase::lValueErrorCheck(const TSourceLoc& loc, const char* op,
//
switch (node->getBasicType()) {
case EbtSampler:
- message = "can't modify a sampler";
+ if (extensionTurnedOn(E_GL_ARB_bindless_texture) == false)
+ message = "can't modify a sampler";
break;
case EbtVoid:
message = "can't modify void";
@@ -174,6 +175,9 @@ bool TParseContextBase::lValueErrorCheck(const TSourceLoc& loc, const char* op,
case EbtRayQuery:
message = "can't modify rayQueryEXT";
break;
+ case EbtHitObjectNV:
+ message = "can't modify hitObjectNV";
+ break;
#endif
default:
break;
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index e2ac43ca..515137b7 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -608,6 +608,15 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn
#ifndef GLSLANG_WEB
if (base->getType().isUnsizedArray()) {
base->getWritableType().updateImplicitArraySize(indexValue + 1);
+ base->getWritableType().setImplicitlySized(true);
+ if (base->getQualifier().builtIn == EbvClipDistance &&
+ indexValue >= resources.maxClipDistances) {
+ error(loc, "gl_ClipDistance", "[", "array index out of range '%d'", indexValue);
+ }
+ else if (base->getQualifier().builtIn == EbvCullDistance &&
+ indexValue >= resources.maxCullDistances) {
+ error(loc, "gl_CullDistance", "[", "array index out of range '%d'", indexValue);
+ }
// For 2D per-view builtin arrays, update the inner dimension size in parent type
if (base->getQualifier().isPerView() && base->getQualifier().builtIn != EbvNone) {
TIntermBinary* binaryNode = base->getAsBinaryNode();
@@ -836,12 +845,16 @@ int TParseContext::getIoArrayImplicitSize(const TQualifier &qualifier, TString *
} else if (language == EShLangMesh) {
unsigned int maxPrimitives =
intermediate.getPrimitives() != TQualifier::layoutNotSet ? intermediate.getPrimitives() : 0;
- if (qualifier.builtIn == EbvPrimitiveIndicesNV || qualifier.builtIn == EbvPrimitiveTriangleIndicesEXT ||
- qualifier.builtIn == EbvPrimitiveLineIndicesEXT || qualifier.builtIn == EbvPrimitivePointIndicesEXT) {
+ if (qualifier.builtIn == EbvPrimitiveIndicesNV) {
expectedSize = maxPrimitives * TQualifier::mapGeometryToSize(intermediate.getOutputPrimitive());
str = "max_primitives*";
str += TQualifier::getGeometryString(intermediate.getOutputPrimitive());
}
+ else if (qualifier.builtIn == EbvPrimitiveTriangleIndicesEXT || qualifier.builtIn == EbvPrimitiveLineIndicesEXT ||
+ qualifier.builtIn == EbvPrimitivePointIndicesEXT) {
+ expectedSize = maxPrimitives;
+ str = "max_primitives";
+ }
else if (qualifier.isPerPrimitive()) {
expectedSize = maxPrimitives;
str = "max_primitives";
@@ -1022,14 +1035,22 @@ TIntermTyped* TParseContext::handleDotDereference(const TSourceLoc& loc, TInterm
inheritMemoryQualifiers(base->getQualifier(), result->getWritableType().getQualifier());
} else {
auto baseSymbol = base;
- while (baseSymbol->getAsSymbolNode() == nullptr)
- baseSymbol = baseSymbol->getAsBinaryNode()->getLeft();
- TString structName;
- structName.append("\'").append(baseSymbol->getAsSymbolNode()->getName().c_str()).append( "\'");
- error(loc, "no such field in structure", field.c_str(), structName.c_str());
+ while (baseSymbol->getAsSymbolNode() == nullptr) {
+ auto binaryNode = baseSymbol->getAsBinaryNode();
+ if (binaryNode == nullptr) break;
+ baseSymbol = binaryNode->getLeft();
+ }
+ if (baseSymbol->getAsSymbolNode() != nullptr) {
+ TString structName;
+ structName.append("\'").append(baseSymbol->getAsSymbolNode()->getName().c_str()).append("\'");
+ error(loc, "no such field in structure", field.c_str(), structName.c_str());
+ } else {
+ error(loc, "no such field in structure", field.c_str(), "");
+ }
}
} else
- error(loc, "does not apply to this type:", field.c_str(), base->getType().getCompleteString(intermediate.getEnhancedMsgs()).c_str());
+ error(loc, "does not apply to this type:", field.c_str(),
+ base->getType().getCompleteString(intermediate.getEnhancedMsgs()).c_str());
// Propagate noContraction up the dereference chain
if (base->getQualifier().isNoContraction())
@@ -1161,7 +1182,7 @@ TFunction* TParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFunct
if (symbol && builtIn && function.getBuiltInOp() == EOpSpirvInst)
symbol = nullptr;
#endif
- const TFunction* prevDec = symbol ? symbol->getAsFunction() : 0;
+ const TFunction* prevDec = symbol ? symbol->getAsFunction() : nullptr;
if (prevDec) {
if (prevDec->isPrototyped() && prototype)
profileRequires(loc, EEsProfile, 300, nullptr, "multiple prototypes for same function");
@@ -1385,7 +1406,8 @@ TIntermTyped* TParseContext::handleFunctionCall(const TSourceLoc& loc, TFunction
#endif
const TType& argType = arg->getAsTyped()->getType();
const TQualifier& argQualifier = argType.getQualifier();
- if (argQualifier.isMemory() && (argType.containsOpaque() || argType.isReference())) {
+ bool containsBindlessSampler = intermediate.getBindlessMode() && argType.containsSampler();
+ if (argQualifier.isMemory() && !containsBindlessSampler && (argType.containsOpaque() || argType.isReference())) {
const char* message = "argument cannot drop memory qualifier when passed to formal parameter";
#ifndef GLSLANG_WEB
if (argQualifier.volatil && ! formalQualifier.volatil)
@@ -1671,9 +1693,13 @@ TIntermNode* TParseContext::handleReturnValue(const TSourceLoc& loc, TIntermType
error(loc, "type does not match, or is not convertible to, the function's return type", "return", "");
branch = intermediate.addBranch(EOpReturn, value, loc);
}
- } else
+ } else {
+ if (value->getType().isTexture() || value->getType().isImage()) {
+ if (!extensionTurnedOn(E_GL_ARB_bindless_texture))
+ error(loc, "sampler or image can be used as return type only when the extension GL_ARB_bindless_texture enabled", "return", "");
+ }
branch = intermediate.addBranch(EOpReturn, value, loc);
-
+ }
branch->updatePrecision(currentFunctionType->getQualifier().precision);
return branch;
}
@@ -1924,6 +1950,9 @@ TIntermTyped* TParseContext::addAssign(const TSourceLoc& loc, TOperator op, TInt
if ((op == EOpAddAssign || op == EOpSubAssign) && left->isReference())
requireExtensions(loc, 1, &E_GL_EXT_buffer_reference2, "+= and -= on a buffer reference");
+ if (op == EOpAssign && left->getBasicType() == EbtSampler && right->getBasicType() == EbtSampler)
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "sampler assignment for bindless texture");
+
return intermediate.addAssign(op, left, right, loc);
}
@@ -2356,6 +2385,79 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
}
break;
+ case EOpHitObjectTraceRayNV:
+ if (!(*argp)[11]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "payload number", "");
+ else {
+ unsigned int location = (*argp)[11]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(0, location) < 0)
+ error(loc, "with layout(location =", "no rayPayloadEXT/rayPayloadInEXT declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectTraceRayMotionNV:
+ if (!(*argp)[12]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "payload number", "");
+ else {
+ unsigned int location = (*argp)[12]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(0, location) < 0)
+ error(loc, "with layout(location =", "no rayPayloadEXT/rayPayloadInEXT declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectExecuteShaderNV:
+ if (!(*argp)[1]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "payload number", "");
+ else {
+ unsigned int location = (*argp)[1]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(0, location) < 0)
+ error(loc, "with layout(location =", "no rayPayloadEXT/rayPayloadInEXT declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectRecordHitNV:
+ if (!(*argp)[12]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[12]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectRecordHitMotionNV:
+ if (!(*argp)[13]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[13]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectRecordHitWithIndexNV:
+ if (!(*argp)[11]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[11]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectRecordHitWithIndexMotionNV:
+ if (!(*argp)[12]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[12]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectGetAttributesNV:
+ if (!(*argp)[1]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[1]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+
case EOpRayQueryGetIntersectionType:
case EOpRayQueryGetIntersectionT:
case EOpRayQueryGetIntersectionInstanceCustomIndex:
@@ -2807,6 +2909,14 @@ TFunction* TParseContext::handleConstructorCall(const TSourceLoc& loc, const TPu
profileRequires(loc, EEsProfile, 300, nullptr, "arrayed constructor");
}
+ // Reuse EOpConstructTextureSampler for bindless image constructor
+ // uvec2 imgHandle;
+ // imageLoad(image1D(imgHandle), 0);
+ if (type.isImage() && extensionTurnedOn(E_GL_ARB_bindless_texture))
+ {
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeFunc);
+ }
+
TOperator op = intermediate.mapTypeToConstructorOp(type);
if (op == EOpNull) {
@@ -3136,7 +3246,7 @@ void TParseContext::reservedPpErrorCheck(const TSourceLoc& loc, const char* iden
ppWarn(loc, "\"defined\" is (un)defined:", op, identifier);
else
ppError(loc, "\"defined\" can't be (un)defined:", op, identifier);
- else if (strstr(identifier, "__") != 0 && !extensionTurnedOn(E_GL_EXT_spirv_intrinsics)) {
+ else if (strstr(identifier, "__") != nullptr && !extensionTurnedOn(E_GL_EXT_spirv_intrinsics)) {
// The extension GL_EXT_spirv_intrinsics allows us to declare macros prefixed with "__".
if (isEsProfile() && version >= 300 &&
(strcmp(identifier, "__LINE__") == 0 ||
@@ -3540,8 +3650,13 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
return true;
}
if (op != EOpConstructStruct && op != EOpConstructNonuniform && typed->getBasicType() == EbtSampler) {
- error(loc, "cannot convert a sampler", constructorString.c_str(), "");
- return true;
+ if (op == EOpConstructUVec2 && extensionTurnedOn(E_GL_ARB_bindless_texture)) {
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeFunc);
+ }
+ else {
+ error(loc, "cannot convert a sampler", constructorString.c_str(), "");
+ return true;
+ }
}
if (op != EOpConstructStruct && typed->isAtomic()) {
error(loc, "cannot convert an atomic_uint", constructorString.c_str(), "");
@@ -3561,6 +3676,26 @@ bool TParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const
{
TString constructorName = function.getType().getBasicTypeString(); // TODO: performance: should not be making copy; interface needs to change
const char* token = constructorName.c_str();
+ // verify the constructor for bindless texture, the input must be ivec2 or uvec2
+ if (function.getParamCount() == 1) {
+ TType* pType = function[0].type;
+ TBasicType basicType = pType->getBasicType();
+ bool isIntegerVec2 = ((basicType == EbtUint || basicType == EbtInt) && pType->getVectorSize() == 2);
+ bool bindlessMode = extensionTurnedOn(E_GL_ARB_bindless_texture);
+ if (isIntegerVec2 && bindlessMode) {
+ if (pType->getSampler().isImage())
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeFunc);
+ else
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeFunc);
+ return false;
+ } else {
+ if (!bindlessMode)
+ error(loc, "sampler-constructor requires the extension GL_ARB_bindless_texture enabled", token, "");
+ else
+ error(loc, "sampler-constructor requires the input to be ivec2 or uvec2", token, "");
+ return true;
+ }
+ }
// exactly two arguments needed
if (function.getParamCount() != 2) {
@@ -3656,13 +3791,32 @@ void TParseContext::samplerCheck(const TSourceLoc& loc, const TType& type, const
if (type.getQualifier().storage == EvqUniform)
return;
- if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtSampler))
- error(loc, "non-uniform struct contains a sampler or image:", type.getBasicTypeString().c_str(), identifier.c_str());
+ if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtSampler)) {
+ // For bindless texture, sampler can be declared as an struct member
+ if (extensionTurnedOn(E_GL_ARB_bindless_texture)) {
+ if (type.getSampler().isImage())
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeVar);
+ else
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeVar);
+ }
+ else {
+ error(loc, "non-uniform struct contains a sampler or image:", type.getBasicTypeString().c_str(), identifier.c_str());
+ }
+ }
else if (type.getBasicType() == EbtSampler && type.getQualifier().storage != EvqUniform) {
- // non-uniform sampler
- // not yet: okay if it has an initializer
- // if (! initializer)
- error(loc, "sampler/image types can only be used in uniform variables or function parameters:", type.getBasicTypeString().c_str(), identifier.c_str());
+ // For bindless texture, sampler can be declared as an input/output/block member
+ if (extensionTurnedOn(E_GL_ARB_bindless_texture)) {
+ if (type.getSampler().isImage())
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeVar);
+ else
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeVar);
+ }
+ else {
+ // non-uniform sampler
+ // not yet: okay if it has an initializer
+ // if (! initializer)
+ error(loc, "sampler/image types can only be used in uniform variables or function parameters:", type.getBasicTypeString().c_str(), identifier.c_str());
+ }
}
}
@@ -3728,7 +3882,7 @@ void TParseContext::memberQualifierCheck(glslang::TPublicType& publicType)
//
// Check/fix just a full qualifier (no variables or types yet, but qualifier is complete) at global level.
//
-void TParseContext::globalQualifierFixCheck(const TSourceLoc& loc, TQualifier& qualifier, bool isMemberCheck)
+void TParseContext::globalQualifierFixCheck(const TSourceLoc& loc, TQualifier& qualifier, bool isMemberCheck, const TPublicType* publicType)
{
bool nonuniformOkay = false;
@@ -3764,6 +3918,11 @@ void TParseContext::globalQualifierFixCheck(const TSourceLoc& loc, TQualifier& q
{
requireExtensions(loc, 1, &E_GL_EXT_scalar_block_layout, "default std430 layout for uniform");
}
+
+ if (publicType != nullptr && publicType->isImage() &&
+ (qualifier.layoutFormat > ElfExtSizeGuard && qualifier.layoutFormat < ElfCount))
+ qualifier.layoutFormat = mapLegacyLayoutFormat(qualifier.layoutFormat, publicType->sampler.getBasicType());
+
break;
default:
break;
@@ -4168,7 +4327,7 @@ void TParseContext::precisionQualifierCheck(const TSourceLoc& loc, TBasicType ba
void TParseContext::parameterTypeCheck(const TSourceLoc& loc, TStorageQualifier qualifier, const TType& type)
{
- if ((qualifier == EvqOut || qualifier == EvqInOut) && type.isOpaque())
+ if ((qualifier == EvqOut || qualifier == EvqInOut) && type.isOpaque() && !intermediate.getBindlessMode())
error(loc, "samplers and atomic_uints cannot be output parameters", type.getBasicTypeString().c_str(), "");
if (!parsingBuiltins && type.contains16BitFloat())
requireFloat16Arithmetic(loc, type.getBasicTypeString().c_str(), "float16 types can only be in uniform block or buffer storage");
@@ -4512,7 +4671,7 @@ void TParseContext::checkRuntimeSizable(const TSourceLoc& loc, const TIntermType
// check for additional things allowed by GL_EXT_nonuniform_qualifier
if (base.getBasicType() == EbtSampler || base.getBasicType() == EbtAccStruct || base.getBasicType() == EbtRayQuery ||
- (base.getBasicType() == EbtBlock && base.getType().getQualifier().isUniformOrBuffer()))
+ base.getBasicType() == EbtHitObjectNV || (base.getBasicType() == EbtBlock && base.getType().getQualifier().isUniformOrBuffer()))
requireExtensions(loc, 1, &E_GL_EXT_nonuniform_qualifier, "variable index");
else
error(loc, "", "[", "array must be redeclared with a size before being indexed with a variable");
@@ -5101,7 +5260,7 @@ void TParseContext::arrayObjectCheck(const TSourceLoc& loc, const TType& type, c
void TParseContext::opaqueCheck(const TSourceLoc& loc, const TType& type, const char* op)
{
- if (containsFieldWithBasicType(type, EbtSampler))
+ if (containsFieldWithBasicType(type, EbtSampler) && !extensionTurnedOn(E_GL_ARB_bindless_texture))
error(loc, "can't use with samplers or structs containing samplers", op, "");
}
@@ -5202,7 +5361,7 @@ void TParseContext::inductiveLoopCheck(const TSourceLoc& loc, TIntermNode* init,
bool badInit = false;
if (! init || ! init->getAsAggregate() || init->getAsAggregate()->getSequence().size() != 1)
badInit = true;
- TIntermBinary* binaryInit = 0;
+ TIntermBinary* binaryInit = nullptr;
if (! badInit) {
// get the declaration assignment
binaryInit = init->getAsAggregate()->getSequence()[0]->getAsBinaryNode();
@@ -5476,6 +5635,28 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
intermediate.setUsePhysicalStorageBuffer();
return;
}
+ if (id == "bindless_sampler") {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "bindless_sampler");
+ publicType.qualifier.layoutBindlessSampler = true;
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeLayout);
+ return;
+ }
+ if (id == "bindless_image") {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "bindless_image");
+ publicType.qualifier.layoutBindlessImage = true;
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeLayout);
+ return;
+ }
+ if (id == "bound_sampler") {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "bound_sampler");
+ publicType.qualifier.layoutBindlessSampler = false;
+ return;
+ }
+ if (id == "bound_image") {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "bound_image");
+ publicType.qualifier.layoutBindlessImage = false;
+ return;
+ }
if (language == EShLangGeometry || language == EShLangTessEvaluation || language == EShLangMesh) {
if (id == TQualifier::getGeometryString(ElgTriangles)) {
publicType.shaderQualifiers.geometry = ElgTriangles;
@@ -5670,6 +5851,10 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
}
publicType.qualifier.layoutShaderRecord = true;
return;
+ } else if (id == "hitobjectshaderrecordnv") {
+ requireExtensions(loc, 1, &E_GL_NV_shader_invocation_reorder, "hitobject shader record NV");
+ publicType.qualifier.layoutHitObjectShaderRecordNV = true;
+ return;
}
}
@@ -5973,8 +6158,14 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
if (id == "max_vertices") {
requireExtensions(loc, Num_AEP_mesh_shader, AEP_mesh_shader, "max_vertices");
publicType.shaderQualifiers.vertices = value;
- if (value > resources.maxMeshOutputVerticesNV)
- error(loc, "too large, must be less than gl_MaxMeshOutputVerticesNV", "max_vertices", "");
+ int max = extensionTurnedOn(E_GL_EXT_mesh_shader) ? resources.maxMeshOutputVerticesEXT
+ : resources.maxMeshOutputVerticesNV;
+ if (value > max) {
+ TString maxsErrtring = "too large, must be less than ";
+ maxsErrtring.append(extensionTurnedOn(E_GL_EXT_mesh_shader) ? "gl_MaxMeshOutputVerticesEXT"
+ : "gl_MaxMeshOutputVerticesNV");
+ error(loc, maxsErrtring.c_str(), "max_vertices", "");
+ }
if (nonLiteral)
error(loc, "needs a literal integer", "max_vertices", "");
return;
@@ -5982,8 +6173,14 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
if (id == "max_primitives") {
requireExtensions(loc, Num_AEP_mesh_shader, AEP_mesh_shader, "max_primitives");
publicType.shaderQualifiers.primitives = value;
- if (value > resources.maxMeshOutputPrimitivesNV)
- error(loc, "too large, must be less than gl_MaxMeshOutputPrimitivesNV", "max_primitives", "");
+ int max = extensionTurnedOn(E_GL_EXT_mesh_shader) ? resources.maxMeshOutputPrimitivesEXT
+ : resources.maxMeshOutputPrimitivesNV;
+ if (value > max) {
+ TString maxsErrtring = "too large, must be less than ";
+ maxsErrtring.append(extensionTurnedOn(E_GL_EXT_mesh_shader) ? "gl_MaxMeshOutputPrimitivesEXT"
+ : "gl_MaxMeshOutputPrimitivesNV");
+ error(loc, maxsErrtring.c_str(), "max_primitives", "");
+ }
if (nonLiteral)
error(loc, "needs a literal integer", "max_primitives", "");
return;
@@ -5999,7 +6196,7 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
if (language == EShLangMesh || language == EShLangTask) {
requireExtensions(loc, Num_AEP_mesh_shader, AEP_mesh_shader, "gl_WorkGroupSize");
} else {
- profileRequires(loc, EEsProfile, 310, 0, "gl_WorkGroupSize");
+ profileRequires(loc, EEsProfile, 310, nullptr, "gl_WorkGroupSize");
profileRequires(loc, ~EEsProfile, 430, E_GL_ARB_compute_shader, "gl_WorkGroupSize");
}
#endif
@@ -6121,10 +6318,16 @@ void TParseContext::mergeObjectLayoutQualifiers(TQualifier& dst, const TQualifie
dst.layoutSecondaryViewportRelativeOffset = src.layoutSecondaryViewportRelativeOffset;
if (src.layoutShaderRecord)
dst.layoutShaderRecord = true;
+ if (src.layoutBindlessSampler)
+ dst.layoutBindlessSampler = true;
+ if (src.layoutBindlessImage)
+ dst.layoutBindlessImage = true;
if (src.pervertexNV)
dst.pervertexNV = true;
if (src.pervertexEXT)
dst.pervertexEXT = true;
+ if (src.layoutHitObjectShaderRecordNV)
+ dst.layoutHitObjectShaderRecordNV = true;
#endif
}
}
@@ -6282,6 +6485,7 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type)
case EvqHitAttr:
case EvqCallableData:
case EvqCallableDataIn:
+ case EvqHitObjectAttrNV:
break;
#endif
default:
@@ -6402,7 +6606,7 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type)
// Image format
if (qualifier.hasFormat()) {
- if (! type.isImage())
+ if (! type.isImage() && !intermediate.getBindlessImageMode())
error(loc, "only apply to images", TQualifier::getLayoutFormatString(qualifier.getFormat()), "");
else {
if (type.getSampler().type == EbtFloat && qualifier.getFormat() > ElfFloatGuard)
@@ -6421,7 +6625,7 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type)
}
}
}
- } else if (type.isImage() && ! qualifier.isWriteOnly()) {
+ } else if (type.isImage() && ! qualifier.isWriteOnly() && !intermediate.getBindlessImageMode()) {
const char *explanation = "image variables not declared 'writeonly' and without a format layout qualifier";
requireProfile(loc, ECoreProfile | ECompatibilityProfile, explanation);
profileRequires(loc, ECoreProfile | ECompatibilityProfile, 0, E_GL_EXT_shader_image_load_formatted, explanation);
@@ -7066,7 +7270,7 @@ TIntermTyped* TParseContext::vkRelaxedRemapFunctionCall(const TSourceLoc& loc, T
realFunc.addParameter(TParameter().copyParam((*function)[i]));
}
- TParameter tmpP = { 0, &uintType };
+ TParameter tmpP = { nullptr, &uintType };
realFunc.addParameter(TParameter().copyParam(tmpP));
arguments = intermediate.growAggregate(arguments, intermediate.addConstantUnion(1, loc, true));
@@ -7083,7 +7287,7 @@ TIntermTyped* TParseContext::vkRelaxedRemapFunctionCall(const TSourceLoc& loc, T
realFunc.addParameter(TParameter().copyParam((*function)[i]));
}
- TParameter tmpP = { 0, &uintType };
+ TParameter tmpP = { nullptr, &uintType };
realFunc.addParameter(TParameter().copyParam(tmpP));
arguments = intermediate.growAggregate(arguments, intermediate.addConstantUnion(-1, loc, true));
@@ -7237,7 +7441,10 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden
if (initializer) {
if (type.getBasicType() == EbtRayQuery) {
error(loc, "ray queries can only be initialized by using the rayQueryInitializeEXT intrinsic:", "=", identifier.c_str());
+ } else if (type.getBasicType() == EbtHitObjectNV) {
+ error(loc, "hit objects cannot be initialized using initializers", "=", identifier.c_str());
}
+
}
if (type.isCoopMat()) {
@@ -7729,12 +7936,14 @@ TIntermTyped* TParseContext::addConstructor(const TSourceLoc& loc, TIntermNode*
// Combined texture-sampler constructors are completely semantic checked
// in constructorTextureSamplerError()
if (op == EOpConstructTextureSampler) {
- if (aggrNode->getSequence()[1]->getAsTyped()->getType().getSampler().shadow) {
- // Transfer depth into the texture (SPIR-V image) type, as a hint
- // for tools to know this texture/image is a depth image.
- aggrNode->getSequence()[0]->getAsTyped()->getWritableType().getSampler().shadow = true;
+ if (aggrNode != nullptr) {
+ if (aggrNode->getSequence()[1]->getAsTyped()->getType().getSampler().shadow) {
+ // Transfer depth into the texture (SPIR-V image) type, as a hint
+ // for tools to know this texture/image is a depth image.
+ aggrNode->getSequence()[0]->getAsTyped()->getWritableType().getSampler().shadow = true;
+ }
+ return intermediate.setAggregateOperator(aggrNode, op, type, loc);
}
- return intermediate.setAggregateOperator(aggrNode, op, type, loc);
}
TTypeList::const_iterator memberTypes;
@@ -7869,6 +8078,16 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
TIntermTyped* newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvPtrToUvec2, true, node,
type);
return newNode;
+ } else if (node->getType().getBasicType() == EbtSampler) {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "sampler conversion to uvec2");
+ // force the basic type of the constructor param to uvec2, otherwise spv builder will
+ // report some errors
+ TIntermTyped* newSrcNode = intermediate.createConversion(EbtUint, node);
+ newSrcNode->getAsTyped()->getWritableType().setVectorSize(2);
+
+ TIntermTyped* newNode =
+ intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConstructUVec2, false, newSrcNode, type);
+ return newNode;
}
case EOpConstructUVec3:
case EOpConstructUVec4:
@@ -7882,7 +8101,15 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
case EOpConstructBool:
basicOp = EOpConstructBool;
break;
-
+ case EOpConstructTextureSampler:
+ if ((node->getType().getBasicType() == EbtUint || node->getType().getBasicType() == EbtInt) &&
+ node->getType().getVectorSize() == 2) {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "ivec2/uvec2 convert to texture handle");
+ // No matter ivec2 or uvec2, Set EOpPackUint2x32 just to generate an opBitcast op code
+ TIntermTyped* newNode =
+ intermediate.addBuiltInFunctionCall(node->getLoc(), EOpPackUint2x32, true, node, type);
+ return newNode;
+ }
#ifndef GLSLANG_WEB
case EOpConstructDVec2:
@@ -8230,6 +8457,30 @@ void TParseContext::inheritMemoryQualifiers(const TQualifier& from, TQualifier&
}
//
+// Update qualifier layoutBindlessImage & layoutBindlessSampler on block member
+//
+void TParseContext::updateBindlessQualifier(TType& memberType)
+{
+ if (memberType.containsSampler()) {
+ if (memberType.isStruct()) {
+ TTypeList* typeList = memberType.getWritableStruct();
+ for (unsigned int member = 0; member < typeList->size(); ++member) {
+ TType* subMemberType = (*typeList)[member].type;
+ updateBindlessQualifier(*subMemberType);
+ }
+ }
+ else if (memberType.getSampler().isImage()) {
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeLayout);
+ memberType.getQualifier().layoutBindlessImage = true;
+ }
+ else {
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeLayout);
+ memberType.getQualifier().layoutBindlessSampler = true;
+ }
+ }
+}
+
+//
// Do everything needed to add an interface block.
//
void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, const TString* instanceName,
@@ -8281,8 +8532,13 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con
}
}
- if (memberType.containsOpaque())
- error(memberLoc, "member of block cannot be or contain a sampler, image, or atomic_uint type", typeList[member].type->getFieldName().c_str(), "");
+ // For bindless texture, sampler can be declared as uniform/storage block member,
+ if (memberType.containsOpaque()) {
+ if (memberType.containsSampler() && extensionTurnedOn(E_GL_ARB_bindless_texture))
+ updateBindlessQualifier(memberType);
+ else
+ error(memberLoc, "member of block cannot be or contain a sampler, image, or atomic_uint type", typeList[member].type->getFieldName().c_str(), "");
+ }
if (memberType.containsCoopMat())
error(memberLoc, "member of block cannot be or contain a cooperative matrix type", typeList[member].type->getFieldName().c_str(), "");
@@ -8615,6 +8871,10 @@ void TParseContext::blockStageIoCheck(const TSourceLoc& loc, const TQualifier& q
profileRequires(loc, ~EEsProfile, 460, 2, extsrt, "callableDataInNV block");
requireStage(loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV block");
break;
+ case EvqHitObjectAttrNV:
+ profileRequires(loc, ~EEsProfile, 460, E_GL_NV_shader_invocation_reorder, "hitObjectAttributeNV block");
+ requireStage(loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask | EShLangMissMask), "hitObjectAttributeNV block");
+ break;
#endif
default:
error(loc, "only uniform, buffer, in, or out blocks are supported", blockName->c_str(), "");
@@ -9456,4 +9716,38 @@ const TTypeList* TParseContext::recordStructCopy(TStructRecord& record, const TT
return originStruct;
}
+TLayoutFormat TParseContext::mapLegacyLayoutFormat(TLayoutFormat legacyLayoutFormat, TBasicType imageType)
+{
+ TLayoutFormat layoutFormat = ElfNone;
+ if (imageType == EbtFloat) {
+ switch (legacyLayoutFormat) {
+ case ElfSize1x16: layoutFormat = ElfR16f; break;
+ case ElfSize1x32: layoutFormat = ElfR32f; break;
+ case ElfSize2x32: layoutFormat = ElfRg32f; break;
+ case ElfSize4x32: layoutFormat = ElfRgba32f; break;
+ default: break;
+ }
+ } else if (imageType == EbtUint) {
+ switch (legacyLayoutFormat) {
+ case ElfSize1x8: layoutFormat = ElfR8ui; break;
+ case ElfSize1x16: layoutFormat = ElfR16ui; break;
+ case ElfSize1x32: layoutFormat = ElfR32ui; break;
+ case ElfSize2x32: layoutFormat = ElfRg32ui; break;
+ case ElfSize4x32: layoutFormat = ElfRgba32ui; break;
+ default: break;
+ }
+ } else if (imageType == EbtInt) {
+ switch (legacyLayoutFormat) {
+ case ElfSize1x8: layoutFormat = ElfR8i; break;
+ case ElfSize1x16: layoutFormat = ElfR16i; break;
+ case ElfSize1x32: layoutFormat = ElfR32i; break;
+ case ElfSize2x32: layoutFormat = ElfRg32i; break;
+ case ElfSize4x32: layoutFormat = ElfRgba32i; break;
+ default: break;
+ }
+ }
+
+ return layoutFormat;
+}
+
} // end namespace glslang
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index 885fd908..8edcfdf8 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -393,7 +393,7 @@ public:
void accStructCheck(const TSourceLoc & loc, const TType & type, const TString & identifier);
void transparentOpaqueCheck(const TSourceLoc&, const TType&, const TString& identifier);
void memberQualifierCheck(glslang::TPublicType&);
- void globalQualifierFixCheck(const TSourceLoc&, TQualifier&, bool isMemberCheck = false);
+ void globalQualifierFixCheck(const TSourceLoc&, TQualifier&, bool isMemberCheck = false, const TPublicType* publicType = nullptr);
void globalQualifierTypeCheck(const TSourceLoc&, const TQualifier&, const TPublicType&);
bool structQualifierErrorCheck(const TSourceLoc&, const TPublicType& pType);
void mergeQualifiers(const TSourceLoc&, TQualifier& dst, const TQualifier& src, bool force);
@@ -438,12 +438,12 @@ public:
const TFunction* findFunction400(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
const TFunction* findFunctionExplicitTypes(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
void declareTypeDefaults(const TSourceLoc&, const TPublicType&);
- TIntermNode* declareVariable(const TSourceLoc&, TString& identifier, const TPublicType&, TArraySizes* typeArray = 0, TIntermTyped* initializer = 0);
+ TIntermNode* declareVariable(const TSourceLoc&, TString& identifier, const TPublicType&, TArraySizes* typeArray = nullptr, TIntermTyped* initializer = nullptr);
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 inheritMemoryQualifiers(const TQualifier& from, TQualifier& to);
- void declareBlock(const TSourceLoc&, TTypeList& typeList, const TString* instanceName = 0, TArraySizes* arraySizes = 0);
+ void declareBlock(const TSourceLoc&, TTypeList& typeList, const TString* instanceName = nullptr, TArraySizes* arraySizes = nullptr);
void blockStorageRemap(const TSourceLoc&, const TString*, TQualifier&);
void blockStageIoCheck(const TSourceLoc&, const TQualifier&);
void blockQualifierCheck(const TSourceLoc&, const TQualifier&, bool instanceName);
@@ -456,9 +456,11 @@ public:
void addQualifierToExisting(const TSourceLoc&, TQualifier, TIdentifierList&);
void invariantCheck(const TSourceLoc&, const TQualifier&);
void updateStandaloneQualifierDefaults(const TSourceLoc&, const TPublicType&);
+ void updateBindlessQualifier(TType& memberType);
void wrapupSwitchSubsequence(TIntermAggregate* statements, TIntermNode* branchNode);
TIntermNode* addSwitch(const TSourceLoc&, TIntermTyped* expression, TIntermAggregate* body);
const TTypeList* recordStructCopy(TStructRecord&, const TType*, const TType*);
+ TLayoutFormat mapLegacyLayoutFormat(TLayoutFormat legacyLayoutFormat, TBasicType imageType);
#ifndef GLSLANG_WEB
TAttributeType attributeFromName(const TString& name) const;
diff --git a/glslang/MachineIndependent/PoolAlloc.cpp b/glslang/MachineIndependent/PoolAlloc.cpp
index 84c40f4e..c3a3928c 100644
--- a/glslang/MachineIndependent/PoolAlloc.cpp
+++ b/glslang/MachineIndependent/PoolAlloc.cpp
@@ -267,8 +267,8 @@ void* TPoolAllocator::allocate(size_t numBytes)
//
size_t numBytesToAlloc = allocationSize + headerSkip;
tHeader* memory = reinterpret_cast<tHeader*>(::new char[numBytesToAlloc]);
- if (memory == 0)
- return 0;
+ if (memory == nullptr)
+ return nullptr;
// Use placement-new to initialize header
new(memory) tHeader(inUseList, (numBytesToAlloc + pageSize - 1) / pageSize);
@@ -289,8 +289,8 @@ void* TPoolAllocator::allocate(size_t numBytes)
freeList = freeList->nextPage;
} else {
memory = reinterpret_cast<tHeader*>(::new char[pageSize]);
- if (memory == 0)
- return 0;
+ if (memory == nullptr)
+ return nullptr;
}
// Use placement-new to initialize header
@@ -308,7 +308,7 @@ void* TPoolAllocator::allocate(size_t numBytes)
//
void TAllocation::checkAllocList() const
{
- for (const TAllocation* alloc = this; alloc != 0; alloc = alloc->prevAlloc)
+ for (const TAllocation* alloc = this; alloc != nullptr; alloc = alloc->prevAlloc)
alloc->check();
}
diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp
index 7f51173e..c20048a9 100644
--- a/glslang/MachineIndependent/Scan.cpp
+++ b/glslang/MachineIndependent/Scan.cpp
@@ -765,6 +765,9 @@ void TScanContext::fillInKeywordMap()
(*KeywordMap)["icoopmatNV"] = ICOOPMATNV;
(*KeywordMap)["ucoopmatNV"] = UCOOPMATNV;
+ (*KeywordMap)["hitObjectNV"] = HITOBJECTNV;
+ (*KeywordMap)["hitObjectAttributeNV"] = HITOBJECTATTRNV;
+
ReservedSet = new std::unordered_set<const char*, str_hash, str_eq>;
ReservedSet->insert("common");
@@ -1789,6 +1792,20 @@ int TScanContext::tokenizeIdentifier()
parseContext.extensionTurnedOn(E_GL_EXT_spirv_intrinsics))
return keyword;
return identifierOrType();
+
+ case HITOBJECTNV:
+ if (parseContext.symbolTable.atBuiltInLevel() ||
+ (!parseContext.isEsProfile() && parseContext.version >= 460
+ && parseContext.extensionTurnedOn(E_GL_NV_shader_invocation_reorder)))
+ return keyword;
+ return identifierOrType();
+
+ case HITOBJECTATTRNV:
+ if (parseContext.symbolTable.atBuiltInLevel() ||
+ (!parseContext.isEsProfile() && parseContext.version >= 460
+ && parseContext.extensionTurnedOn(E_GL_NV_shader_invocation_reorder)))
+ return keyword;
+ return identifierOrType();
#endif
default:
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index 57e3423a..ed40c366 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -298,9 +298,6 @@ void InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int versi
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
(*symbolTables[language]).adoptLevels(*commonTable[CommonIndex(profile, language)]);
@@ -322,9 +319,6 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
std::unique_ptr<TBuiltInParseables> builtInParseables(CreateBuiltInParseables(infoSink, source));
@@ -371,7 +365,6 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS
InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source,
infoSink, commonTable, symbolTables);
-#ifndef GLSLANG_ANGLE
// check for ray tracing stages
if (profile != EEsProfile && version >= 450) {
InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangRayGen, source,
@@ -399,7 +392,6 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS
(profile == EEsProfile && version >= 320))
InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTask, source,
infoSink, commonTable, symbolTables);
-#endif // !GLSLANG_ANGLE
#endif // !GLSLANG_WEB
return true;
@@ -502,7 +494,7 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp
// Function to Print all builtins
void DumpBuiltinSymbolTable(TInfoSink& infoSink, const TSymbolTable& symbolTable)
{
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
infoSink.debug << "BuiltinSymbolTable {\n";
symbolTable.dump(infoSink, true);
@@ -606,7 +598,7 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo
break;
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Correct for stage type...
switch (stage) {
case EShLangGeometry:
@@ -884,7 +876,7 @@ bool ProcessDeferred(
: userInput.scanVersion(version, profile, versionNotFirstToken);
bool versionNotFound = version == 0;
if (forceDefaultVersionAndProfile && source == EShSourceGlsl) {
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (! (messages & EShMsgSuppressWarnings) && ! versionNotFound &&
(version != defaultVersion || profile != defaultProfile)) {
compiler->infoSink.info << "Warning, (version, profile) forced to be ("
@@ -910,13 +902,10 @@ bool ProcessDeferred(
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
bool versionWillBeError = (versionNotFound || (profile == EEsProfile && version >= 300 && versionNotFirst));
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
bool warnVersionNotFirst = false;
if (! versionWillBeError && versionNotFirstToken) {
if (messages & EShMsgRelaxedErrors)
@@ -989,7 +978,7 @@ bool ProcessDeferred(
parseContext->setLimits(*resources);
if (! goodVersion)
parseContext->addError();
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (warnVersionNotFirst) {
TSourceLoc loc;
loc.init();
@@ -1027,7 +1016,7 @@ bool ProcessDeferred(
return success;
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Responsible for keeping track of the most recent source string and line in
// the preprocessor and outputting newlines appropriately if the source string
@@ -1250,16 +1239,14 @@ struct DoFullParse{
parseContext.infoSink.info << parseContext.getNumErrors() << " compilation errors. No code generated.\n\n";
}
-#ifndef GLSLANG_ANGLE
if (messages & EShMsgAST)
intermediate.output(parseContext.infoSink, true);
-#endif
return success;
}
};
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Take a single compilation unit, and run the preprocessor on it.
// Return: True if there were no issues found in preprocessing,
// False if during preprocessing any unknown version, pragmas or
@@ -1370,7 +1357,7 @@ int ShInitialize()
ShHandle ShConstructCompiler(const EShLanguage language, int debugOptions)
{
if (!InitThread())
- return 0;
+ return nullptr;
TShHandleBase* base = static_cast<TShHandleBase*>(ConstructCompiler(language, debugOptions));
@@ -1380,7 +1367,7 @@ ShHandle ShConstructCompiler(const EShLanguage language, int debugOptions)
ShHandle ShConstructLinker(const EShExecutable executable, int debugOptions)
{
if (!InitThread())
- return 0;
+ return nullptr;
TShHandleBase* base = static_cast<TShHandleBase*>(ConstructLinker(executable, debugOptions));
@@ -1390,7 +1377,7 @@ ShHandle ShConstructLinker(const EShExecutable executable, int debugOptions)
ShHandle ShConstructUniformMap()
{
if (!InitThread())
- return 0;
+ return nullptr;
TShHandleBase* base = static_cast<TShHandleBase*>(ConstructUniformMap());
@@ -1399,7 +1386,7 @@ ShHandle ShConstructUniformMap()
void ShDestruct(ShHandle handle)
{
- if (handle == 0)
+ if (handle == nullptr)
return;
TShHandleBase* base = static_cast<TShHandleBase*>(handle);
@@ -1432,7 +1419,7 @@ int ShFinalize()
for (int source = 0; source < SourceCount; ++source) {
for (int stage = 0; stage < EShLangCount; ++stage) {
delete SharedSymbolTables[version][spvVersion][p][source][stage];
- SharedSymbolTables[version][spvVersion][p][source][stage] = 0;
+ SharedSymbolTables[version][spvVersion][p][source][stage] = nullptr;
}
}
}
@@ -1445,7 +1432,7 @@ int ShFinalize()
for (int source = 0; source < SourceCount; ++source) {
for (int pc = 0; pc < EPcCount; ++pc) {
delete CommonSymbolTable[version][spvVersion][p][source][pc];
- CommonSymbolTable[version][spvVersion][p][source][pc] = 0;
+ CommonSymbolTable[version][spvVersion][p][source][pc] = nullptr;
}
}
}
@@ -1488,12 +1475,12 @@ int ShCompile(
)
{
// Map the generic handle to the C++ object
- if (handle == 0)
+ if (handle == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TCompiler* compiler = base->getAsCompiler();
- if (compiler == 0)
+ if (compiler == nullptr)
return 0;
SetThreadPoolAllocator(compiler->getPool());
@@ -1533,13 +1520,13 @@ int ShLinkExt(
const ShHandle compHandles[],
const int numHandles)
{
- if (linkHandle == 0 || numHandles == 0)
+ if (linkHandle == nullptr || numHandles == 0)
return 0;
THandleList cObjects;
for (int i = 0; i < numHandles; ++i) {
- if (compHandles[i] == 0)
+ if (compHandles[i] == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(compHandles[i]);
if (base->getAsLinker()) {
@@ -1548,7 +1535,7 @@ int ShLinkExt(
if (base->getAsCompiler())
cObjects.push_back(base->getAsCompiler());
- if (cObjects[i] == 0)
+ if (cObjects[i] == nullptr)
return 0;
}
@@ -1557,7 +1544,7 @@ int ShLinkExt(
SetThreadPoolAllocator(linker->getPool());
- if (linker == 0)
+ if (linker == nullptr)
return 0;
linker->infoSink.info.erase();
@@ -1582,7 +1569,7 @@ int ShLinkExt(
//
void ShSetEncryptionMethod(ShHandle handle)
{
- if (handle == 0)
+ if (handle == nullptr)
return;
}
@@ -1591,8 +1578,8 @@ void ShSetEncryptionMethod(ShHandle handle)
//
const char* ShGetInfoLog(const ShHandle handle)
{
- if (handle == 0)
- return 0;
+ if (handle == nullptr)
+ return nullptr;
TShHandleBase* base = static_cast<TShHandleBase*>(handle);
TInfoSink* infoSink;
@@ -1602,7 +1589,7 @@ const char* ShGetInfoLog(const ShHandle handle)
else if (base->getAsLinker())
infoSink = &(base->getAsLinker()->getInfoSink());
else
- return 0;
+ return nullptr;
infoSink->info << infoSink->debug.c_str();
return infoSink->info.c_str();
@@ -1614,14 +1601,14 @@ const char* ShGetInfoLog(const ShHandle handle)
//
const void* ShGetExecutable(const ShHandle handle)
{
- if (handle == 0)
- return 0;
+ if (handle == nullptr)
+ return nullptr;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TLinker* linker = static_cast<TLinker*>(base->getAsLinker());
- if (linker == 0)
- return 0;
+ if (linker == nullptr)
+ return nullptr;
return linker->getObjectCode();
}
@@ -1636,13 +1623,13 @@ const void* ShGetExecutable(const ShHandle handle)
//
int ShSetVirtualAttributeBindings(const ShHandle handle, const ShBindingTable* table)
{
- if (handle == 0)
+ if (handle == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TLinker* linker = static_cast<TLinker*>(base->getAsLinker());
- if (linker == 0)
+ if (linker == nullptr)
return 0;
linker->setAppAttributeBindings(table);
@@ -1655,13 +1642,13 @@ int ShSetVirtualAttributeBindings(const ShHandle handle, const ShBindingTable* t
//
int ShSetFixedAttributeBindings(const ShHandle handle, const ShBindingTable* table)
{
- if (handle == 0)
+ if (handle == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TLinker* linker = static_cast<TLinker*>(base->getAsLinker());
- if (linker == 0)
+ if (linker == nullptr)
return 0;
linker->setFixedAttributeBindings(table);
@@ -1673,12 +1660,12 @@ int ShSetFixedAttributeBindings(const ShHandle handle, const ShBindingTable* tab
//
int ShExcludeAttributes(const ShHandle handle, int *attributes, int count)
{
- if (handle == 0)
+ if (handle == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TLinker* linker = static_cast<TLinker*>(base->getAsLinker());
- if (linker == 0)
+ if (linker == nullptr)
return 0;
linker->setExcludedAttributes(attributes, count);
@@ -1694,12 +1681,12 @@ int ShExcludeAttributes(const ShHandle handle, int *attributes, int count)
//
int ShGetUniformLocation(const ShHandle handle, const char* name)
{
- if (handle == 0)
+ if (handle == nullptr)
return -1;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TUniformMap* uniformMap= base->getAsUniformMap();
- if (uniformMap == 0)
+ if (uniformMap == nullptr)
return -1;
return uniformMap->getLocation(name);
@@ -1927,7 +1914,7 @@ bool TShader::parse(const TBuiltInResource* builtInResources, int defaultVersion
&environment);
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Fill in a string with the result of preprocessing ShaderStrings
// Returns true if all extensions, pragmas and version strings were valid.
//
@@ -1966,15 +1953,15 @@ const char* TShader::getInfoDebugLog()
}
TProgram::TProgram() :
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
- reflection(0),
+#if !defined(GLSLANG_WEB)
+ reflection(nullptr),
#endif
linked(false)
{
pool = new TPoolAllocator;
infoSink = new TInfoSink;
for (int s = 0; s < EShLangCount; ++s) {
- intermediate[s] = 0;
+ intermediate[s] = nullptr;
newedIntermediate[s] = false;
}
}
@@ -1982,7 +1969,7 @@ TProgram::TProgram() :
TProgram::~TProgram()
{
delete infoSink;
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
delete reflection;
#endif
@@ -2032,7 +2019,7 @@ bool TProgram::linkStage(EShLanguage stage, EShMessages messages)
if (stages[stage].size() == 0)
return true;
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
int numEsShaders = 0, numNonEsShaders = 0;
for (auto it = stages[stage].begin(); it != stages[stage].end(); ++it) {
if ((*it)->intermediate->getProfile() == EEsProfile) {
@@ -2088,10 +2075,8 @@ bool TProgram::linkStage(EShLanguage stage, EShMessages messages)
#endif
intermediate[stage]->finalCheck(*infoSink, (messages & EShMsgKeepUncalled) != 0);
-#ifndef GLSLANG_ANGLE
if (messages & EShMsgAST)
intermediate[stage]->output(*infoSink, true);
-#endif
return intermediate[stage]->getNumErrors() == 0;
}
@@ -2169,7 +2154,7 @@ const char* TProgram::getInfoDebugLog()
return infoSink->debug.c_str();
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
//
// Reflection implementation.
@@ -2251,6 +2236,6 @@ bool TProgram::mapIO(TIoMapResolver* pResolver, TIoMapper* pIoMapper)
return ioMapper->doMap(pResolver, *infoSink);
}
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
} // end namespace glslang
diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp
index 2f1b5ac3..f5f98a0b 100644
--- a/glslang/MachineIndependent/SymbolTable.cpp
+++ b/glslang/MachineIndependent/SymbolTable.cpp
@@ -78,6 +78,7 @@ void TType::buildMangledName(TString& mangledName) const
case EbtAccStruct: mangledName += "as"; break;
case EbtRayQuery: mangledName += "rq"; break;
case EbtSpirvType: mangledName += "spv-t"; break;
+ case EbtHitObjectNV: mangledName += "ho"; break;
#endif
case EbtSampler:
switch (sampler.type) {
@@ -183,7 +184,7 @@ void TType::buildMangledName(TString& mangledName) const
}
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
//
// Dump functions.
@@ -416,7 +417,7 @@ TAnonMember* TAnonMember::clone() const
// copy of the original container.
assert(0);
- return 0;
+ return nullptr;
}
TSymbolTableLevel* TSymbolTableLevel::clone() const
diff --git a/glslang/MachineIndependent/SymbolTable.h b/glslang/MachineIndependent/SymbolTable.h
index 2e570bb3..c2b386e8 100644
--- a/glslang/MachineIndependent/SymbolTable.h
+++ b/glslang/MachineIndependent/SymbolTable.h
@@ -84,7 +84,7 @@ typedef TVector<const char*> TExtensionList;
class TSymbol {
public:
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
- explicit TSymbol(const TString *n) : name(n), uniqueId(0), extensions(0), writable(true) { }
+ explicit TSymbol(const TString *n) : name(n), uniqueId(0), extensions(nullptr), writable(true) { }
virtual TSymbol* clone() const = 0;
virtual ~TSymbol() { } // rely on all symbol owned memory coming from the pool
@@ -97,18 +97,18 @@ public:
changeName(NewPoolTString(newName.c_str()));
}
virtual const TString& getMangledName() const { return getName(); }
- virtual TFunction* getAsFunction() { return 0; }
- virtual const TFunction* getAsFunction() const { return 0; }
- virtual TVariable* getAsVariable() { return 0; }
- virtual const TVariable* getAsVariable() const { return 0; }
- virtual const TAnonMember* getAsAnonMember() const { return 0; }
+ virtual TFunction* getAsFunction() { return nullptr; }
+ virtual const TFunction* getAsFunction() const { return nullptr; }
+ virtual TVariable* getAsVariable() { return nullptr; }
+ virtual const TVariable* getAsVariable() const { return nullptr; }
+ virtual const TAnonMember* getAsAnonMember() const { return nullptr; }
virtual const TType& getType() const = 0;
virtual TType& getWritableType() = 0;
virtual void setUniqueId(long long id) { uniqueId = id; }
virtual long long getUniqueId() const { return uniqueId; }
virtual void setExtensions(int numExts, const char* const exts[])
{
- assert(extensions == 0);
+ assert(extensions == nullptr);
assert(numExts > 0);
extensions = NewPoolObject(extensions);
for (int e = 0; e < numExts; ++e)
@@ -117,7 +117,7 @@ public:
virtual int getNumExtensions() const { return extensions == nullptr ? 0 : (int)extensions->size(); }
virtual const char** getExtensions() const { return extensions->data(); }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
virtual void dump(TInfoSink& infoSink, bool complete = false) const = 0;
void dumpExtensions(TInfoSink& infoSink) const;
#endif
@@ -196,7 +196,7 @@ public:
}
virtual const char** getMemberExtensions(int member) const { return (*memberExtensions)[member].data(); }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
virtual void dump(TInfoSink& infoSink, bool complete = false) const;
#endif
@@ -229,7 +229,7 @@ struct TParameter {
if (param.name)
name = NewPoolTString(param.name->c_str());
else
- name = 0;
+ name = nullptr;
type = param.type->clone();
defaultValue = param.defaultValue;
return *this;
@@ -243,7 +243,7 @@ struct TParameter {
class TFunction : public TSymbol {
public:
explicit TFunction(TOperator o) :
- TSymbol(0),
+ TSymbol(nullptr),
op(o),
defined(false), prototyped(false), implicitThis(false), illegalImplicitThis(false), defaultParamCount(0) { }
TFunction(const TString *name, const TType& retType, TOperator tOp = EOpNull) :
@@ -319,6 +319,7 @@ public:
virtual TParameter& operator[](int i) { assert(writable); return parameters[i]; }
virtual const TParameter& operator[](int i) const { return parameters[i]; }
+ const TQualifier& getQualifier() const { return returnType.getQualifier(); }
#ifndef GLSLANG_WEB
virtual void setSpirvInstruction(const TSpirvInstruction& inst)
@@ -329,7 +330,7 @@ public:
virtual const TSpirvInstruction& getSpirvInstruction() const { return spirvInst; }
#endif
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
virtual void dump(TInfoSink& infoSink, bool complete = false) const override;
#endif
@@ -395,7 +396,7 @@ public:
virtual const char** getExtensions() const override { return anonContainer.getMemberExtensions(memberNumber); }
virtual int getAnonId() const { return anonId; }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
virtual void dump(TInfoSink& infoSink, bool complete = false) const override;
#endif
@@ -411,7 +412,7 @@ protected:
class TSymbolTableLevel {
public:
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
- TSymbolTableLevel() : defaultPrecision(0), anonId(0), thisLevel(false) { }
+ TSymbolTableLevel() : defaultPrecision(nullptr), anonId(0), thisLevel(false) { }
~TSymbolTableLevel();
bool insert(const TString& name, TSymbol* symbol) {
@@ -493,7 +494,7 @@ public:
{
tLevel::const_iterator it = level.find(name);
if (it == level.end())
- return 0;
+ return nullptr;
else
return (*it).second;
}
@@ -561,7 +562,7 @@ public:
{
// can call multiple times at one scope, will only latch on first call,
// as we're tracking the previous scope's values, not the current values
- if (defaultPrecision != 0)
+ if (defaultPrecision != nullptr)
return;
defaultPrecision = new TPrecisionQualifier[EbtNumTypes];
@@ -573,7 +574,7 @@ public:
{
// can be called for table level pops that didn't set the
// defaults
- if (defaultPrecision == 0 || p == 0)
+ if (defaultPrecision == nullptr || p == nullptr)
return;
for (int t = 0; t < EbtNumTypes; ++t)
@@ -582,7 +583,7 @@ public:
void relateToOperator(const char* name, TOperator op);
void setFunctionExtensions(const char* name, int num, const char* const extensions[]);
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
void dump(TInfoSink& infoSink, bool complete = false) const;
#endif
TSymbolTableLevel* clone() const;
@@ -622,7 +623,7 @@ public:
// don't deallocate levels passed in from elsewhere
while (table.size() > adoptedLevels)
- pop(0);
+ pop(nullptr);
}
void adoptLevels(TSymbolTable& symTable)
@@ -783,7 +784,7 @@ 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* thisDepthP = 0)
+ TSymbol* find(const TString& name, bool* builtIn = nullptr, bool* currentScope = nullptr, int* thisDepthP = nullptr)
{
int level = currentLevel();
TSymbol* symbol;
@@ -827,7 +828,7 @@ public:
++thisDepth;
symbol = table[level]->find(name);
--level;
- } while (symbol == 0 && level >= 0);
+ } while (symbol == nullptr && level >= 0);
if (! table[level + 1]->isThisLevel())
thisDepth = 0;
@@ -912,7 +913,7 @@ public:
}
long long getMaxSymbolId() { return uniqueId; }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
void dump(TInfoSink& infoSink, bool complete = false) const;
#endif
void copyTable(const TSymbolTable& copyOf);
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
index a5fd1075..bf5ce2f6 100644
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -227,6 +227,7 @@ void TParseVersions::initializeExtensionBehavior()
extensionBehavior[E_GL_ARB_texture_query_lod] = EBhDisable;
extensionBehavior[E_GL_ARB_vertex_attrib_64bit] = EBhDisable;
extensionBehavior[E_GL_ARB_draw_instanced] = EBhDisable;
+ extensionBehavior[E_GL_ARB_bindless_texture] = EBhDisable;
extensionBehavior[E_GL_ARB_fragment_coord_conventions] = EBhDisable;
@@ -301,6 +302,11 @@ void TParseVersions::initializeExtensionBehavior()
extensionBehavior[E_GL_NV_shader_sm_builtins] = EBhDisable;
extensionBehavior[E_GL_NV_integer_cooperative_matrix] = EBhDisable;
+ extensionBehavior[E_GL_NV_shader_invocation_reorder] = EBhDisable;
+
+ // ARM
+ extensionBehavior[E_GL_ARM_shader_core_builtins] = EBhDisable;
+
// AEP
extensionBehavior[E_GL_ANDROID_extension_pack_es31a] = EBhDisable;
extensionBehavior[E_GL_KHR_blend_equation_advanced] = EBhDisable;
@@ -370,6 +376,9 @@ void TParseVersions::initializeExtensionBehavior()
extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_float16] = EBhDisable;
extensionBehavior[E_GL_EXT_shader_atomic_float] = EBhDisable;
extensionBehavior[E_GL_EXT_shader_atomic_float2] = EBhDisable;
+
+ // Record extensions not for spv.
+ spvUnsupportedExt.push_back(E_GL_ARB_bindless_texture);
}
#endif // GLSLANG_WEB
@@ -437,7 +446,6 @@ void TParseVersions::getPreamble(std::string& preamble)
} else { // !isEsProfile()
preamble =
- "#define GL_FRAGMENT_PRECISION_HIGH 1\n"
"#define GL_ARB_texture_rectangle 1\n"
"#define GL_ARB_shading_language_420pack 1\n"
"#define GL_ARB_texture_gather 1\n"
@@ -477,6 +485,7 @@ void TParseVersions::getPreamble(std::string& preamble)
"#define GL_ARB_vertex_attrib_64bit 1\n"
"#define GL_ARB_draw_instanced 1\n"
"#define GL_ARB_fragment_coord_conventions 1\n"
+ "#define GL_ARB_bindless_texture 1\n"
"#define GL_EXT_shader_non_constant_global_initializers 1\n"
"#define GL_EXT_shader_image_load_formatted 1\n"
"#define GL_EXT_post_depth_coverage 1\n"
@@ -544,6 +553,7 @@ void TParseVersions::getPreamble(std::string& preamble)
"#define GL_NV_mesh_shader 1\n"
"#define GL_NV_cooperative_matrix 1\n"
"#define GL_NV_integer_cooperative_matrix 1\n"
+ "#define GL_NV_shader_execution_reorder 1\n"
"#define GL_EXT_shader_explicit_arithmetic_types 1\n"
"#define GL_EXT_shader_explicit_arithmetic_types_int8 1\n"
@@ -576,6 +586,10 @@ void TParseVersions::getPreamble(std::string& preamble)
preamble += "#define GL_EXT_null_initializer 1\n";
preamble += "#define GL_EXT_subgroup_uniform_control_flow 1\n";
}
+ if (version >= 130) {
+ preamble +="#define GL_FRAGMENT_PRECISION_HIGH 1\n";
+ }
+
#endif // GLSLANG_WEB
}
@@ -1066,8 +1080,8 @@ void TParseVersions::checkExtensionStage(const TSourceLoc& loc, const char * con
if (strcmp(extension, "GL_NV_mesh_shader") == 0) {
requireStage(loc, (EShLanguageMask)(EShLangTaskMask | EShLangMeshMask | EShLangFragmentMask),
"#extension GL_NV_mesh_shader");
- profileRequires(loc, ECoreProfile, 450, 0, "#extension GL_NV_mesh_shader");
- profileRequires(loc, EEsProfile, 320, 0, "#extension GL_NV_mesh_shader");
+ profileRequires(loc, ECoreProfile, 450, nullptr, "#extension GL_NV_mesh_shader");
+ profileRequires(loc, EEsProfile, 320, nullptr, "#extension GL_NV_mesh_shader");
if (extensionTurnedOn(E_GL_EXT_mesh_shader)) {
error(loc, "GL_EXT_mesh_shader is already turned on, and not allowed with", "#extension", extension);
}
@@ -1075,8 +1089,8 @@ void TParseVersions::checkExtensionStage(const TSourceLoc& loc, const char * con
else if (strcmp(extension, "GL_EXT_mesh_shader") == 0) {
requireStage(loc, (EShLanguageMask)(EShLangTaskMask | EShLangMeshMask | EShLangFragmentMask),
"#extension GL_EXT_mesh_shader");
- profileRequires(loc, ECoreProfile, 450, 0, "#extension GL_EXT_mesh_shader");
- profileRequires(loc, EEsProfile, 320, 0, "#extension GL_EXT_mesh_shader");
+ profileRequires(loc, ECoreProfile, 450, nullptr, "#extension GL_EXT_mesh_shader");
+ profileRequires(loc, EEsProfile, 320, nullptr, "#extension GL_EXT_mesh_shader");
if (extensionTurnedOn(E_GL_NV_mesh_shader)) {
error(loc, "GL_NV_mesh_shader is already turned on, and not allowed with", "#extension", extension);
}
@@ -1099,6 +1113,13 @@ void TParseVersions::extensionRequires(const TSourceLoc &loc, const char * const
minSpvVersion = iter->second;
requireSpv(loc, extension, minSpvVersion);
}
+
+ if (spvVersion.spv != 0){
+ for (auto ext : spvUnsupportedExt){
+ if (strcmp(extension, ext.c_str()) == 0)
+ error(loc, "not allowed when using generating SPIR-V codes", extension, "");
+ }
+ }
}
// Call for any operation needing full GLSL integer data-type support.
diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h
index f06abdd6..9e4c9fea 100644
--- a/glslang/MachineIndependent/Versions.h
+++ b/glslang/MachineIndependent/Versions.h
@@ -163,6 +163,7 @@ const char* const E_GL_ARB_texture_query_lod = "GL_ARB_texture_query_
const char* const E_GL_ARB_vertex_attrib_64bit = "GL_ARB_vertex_attrib_64bit";
const char* const E_GL_ARB_draw_instanced = "GL_ARB_draw_instanced";
const char* const E_GL_ARB_fragment_coord_conventions = "GL_ARB_fragment_coord_conventions";
+const char* const E_GL_ARB_bindless_texture = "GL_ARB_bindless_texture";
const char* const E_GL_KHR_shader_subgroup_basic = "GL_KHR_shader_subgroup_basic";
const char* const E_GL_KHR_shader_subgroup_vote = "GL_KHR_shader_subgroup_vote";
@@ -265,6 +266,9 @@ const char* const E_GL_NV_compute_shader_derivatives = "GL_NV_compute
const char* const E_GL_NV_shader_texture_footprint = "GL_NV_shader_texture_footprint";
const char* const E_GL_NV_mesh_shader = "GL_NV_mesh_shader";
+// ARM
+const char* const E_GL_ARM_shader_core_builtins = "GL_ARM_shader_core_builtins";
+
// Arrays of extensions for the above viewportEXTs duplications
const char* const viewportEXTs[] = { E_GL_ARB_shader_viewport_layer_array, E_GL_NV_viewport_array2 };
@@ -273,6 +277,7 @@ const int Num_viewportEXTs = sizeof(viewportEXTs) / sizeof(viewportEXTs[0]);
const char* const E_GL_NV_cooperative_matrix = "GL_NV_cooperative_matrix";
const char* const E_GL_NV_shader_sm_builtins = "GL_NV_shader_sm_builtins";
const char* const E_GL_NV_integer_cooperative_matrix = "GL_NV_integer_cooperative_matrix";
+const char* const E_GL_NV_shader_invocation_reorder = "GL_NV_shader_invocation_reorder";
// AEP
const char* const E_GL_ANDROID_extension_pack_es31a = "GL_ANDROID_extension_pack_es31a";
diff --git a/glslang/MachineIndependent/glslang.m4 b/glslang/MachineIndependent/glslang.m4
index a59da443..442529be 100644
--- a/glslang/MachineIndependent/glslang.m4
+++ b/glslang/MachineIndependent/glslang.m4
@@ -211,6 +211,7 @@ GLSLANG_WEB_EXCLUDE_ON
%token <lex> ACCSTRUCTEXT
%token <lex> RAYQUERYEXT
%token <lex> FCOOPMATNV ICOOPMATNV UCOOPMATNV
+%token <lex> HITOBJECTNV HITOBJECTATTRNV
// combined image/sampler
%token <lex> SAMPLERCUBEARRAY SAMPLERCUBEARRAYSHADOW
@@ -310,7 +311,7 @@ GLSLANG_WEB_EXCLUDE_ON
%token <lex> DOUBLECONSTANT INT16CONSTANT UINT16CONSTANT FLOAT16CONSTANT INT32CONSTANT UINT32CONSTANT
%token <lex> INT64CONSTANT UINT64CONSTANT
%token <lex> SUBROUTINE DEMOTE
-%token <lex> PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV
+%token <lex> PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV
%token <lex> PAYLOADEXT PAYLOADINEXT HITATTREXT CALLDATAEXT CALLDATAINEXT
%token <lex> PATCH SAMPLE NONUNIFORM
%token <lex> COHERENT VOLATILE RESTRICT READONLY WRITEONLY DEVICECOHERENT QUEUEFAMILYCOHERENT WORKGROUPCOHERENT
@@ -1218,7 +1219,7 @@ fully_specified_type
parseContext.precisionQualifierCheck($$.loc, $$.basicType, $$.qualifier);
}
| type_qualifier type_specifier {
- parseContext.globalQualifierFixCheck($1.loc, $1.qualifier);
+ parseContext.globalQualifierFixCheck($1.loc, $1.qualifier, false, &$2);
parseContext.globalQualifierTypeCheck($1.loc, $1.qualifier, $2);
if ($2.arraySizes) {
@@ -1534,6 +1535,14 @@ GLSLANG_WEB_EXCLUDE_ON
$$.init($1.loc);
$$.qualifier.storage = EvqHitAttr;
}
+ | HITOBJECTATTRNV {
+ parseContext.globalCheck($1.loc, "hitAttributeNV");
+ parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask
+ | EShLangMissMask), "hitObjectAttributeNV");
+ parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_shader_invocation_reorder, "hitObjectAttributeNV");
+ $$.init($1.loc);
+ $$.qualifier.storage = EvqHitObjectAttrNV;
+ }
| HITATTREXT {
parseContext.globalCheck($1.loc, "hitAttributeEXT");
parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -3509,6 +3518,10 @@ GLSLANG_WEB_EXCLUDE_ON
parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V type specifier");
$$ = $1;
}
+ | HITOBJECTNV {
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtHitObjectNV;
+ }
GLSLANG_WEB_EXCLUDE_OFF
| struct_specifier {
$$ = $1;
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index 35242f21..e0a5bcf1 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -151,7 +151,7 @@ extern int yylex(YYSTYPE*, TParseContext&);
%parse-param {glslang::TParseContext* pParseContext}
%lex-param {parseContext}
-%define api.pure // enable thread safety
+%pure-parser // enable thread safety
%expect 1 // One shift reduce conflict because of if | else
%token <lex> CONST BOOL INT UINT FLOAT
@@ -211,6 +211,7 @@ extern int yylex(YYSTYPE*, TParseContext&);
%token <lex> ACCSTRUCTEXT
%token <lex> RAYQUERYEXT
%token <lex> FCOOPMATNV ICOOPMATNV UCOOPMATNV
+%token <lex> HITOBJECTNV HITOBJECTATTRNV
// combined image/sampler
%token <lex> SAMPLERCUBEARRAY SAMPLERCUBEARRAYSHADOW
@@ -310,7 +311,7 @@ extern int yylex(YYSTYPE*, TParseContext&);
%token <lex> DOUBLECONSTANT INT16CONSTANT UINT16CONSTANT FLOAT16CONSTANT INT32CONSTANT UINT32CONSTANT
%token <lex> INT64CONSTANT UINT64CONSTANT
%token <lex> SUBROUTINE DEMOTE
-%token <lex> PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV
+%token <lex> PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV
%token <lex> PAYLOADEXT PAYLOADINEXT HITATTREXT CALLDATAEXT CALLDATAINEXT
%token <lex> PATCH SAMPLE NONUNIFORM
%token <lex> COHERENT VOLATILE RESTRICT READONLY WRITEONLY DEVICECOHERENT QUEUEFAMILYCOHERENT WORKGROUPCOHERENT
@@ -1218,7 +1219,7 @@ fully_specified_type
parseContext.precisionQualifierCheck($$.loc, $$.basicType, $$.qualifier);
}
| type_qualifier type_specifier {
- parseContext.globalQualifierFixCheck($1.loc, $1.qualifier);
+ parseContext.globalQualifierFixCheck($1.loc, $1.qualifier, false, &$2);
parseContext.globalQualifierTypeCheck($1.loc, $1.qualifier, $2);
if ($2.arraySizes) {
@@ -1534,6 +1535,14 @@ storage_qualifier
$$.init($1.loc);
$$.qualifier.storage = EvqHitAttr;
}
+ | HITOBJECTATTRNV {
+ parseContext.globalCheck($1.loc, "hitAttributeNV");
+ parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask
+ | EShLangMissMask), "hitObjectAttributeNV");
+ parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_shader_invocation_reorder, "hitObjectAttributeNV");
+ $$.init($1.loc);
+ $$.qualifier.storage = EvqHitObjectAttrNV;
+ }
| HITATTREXT {
parseContext.globalCheck($1.loc, "hitAttributeEXT");
parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -3509,6 +3518,10 @@ type_specifier_nonarray
parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V type specifier");
$$ = $1;
}
+ | HITOBJECTNV {
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtHitObjectNV;
+ }
| struct_specifier {
$$ = $1;
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index 7ca3e711..5c17c8ce 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -287,429 +287,431 @@ enum yysymbol_kind_t
YYSYMBOL_FCOOPMATNV = 163, /* FCOOPMATNV */
YYSYMBOL_ICOOPMATNV = 164, /* ICOOPMATNV */
YYSYMBOL_UCOOPMATNV = 165, /* UCOOPMATNV */
- YYSYMBOL_SAMPLERCUBEARRAY = 166, /* SAMPLERCUBEARRAY */
- YYSYMBOL_SAMPLERCUBEARRAYSHADOW = 167, /* SAMPLERCUBEARRAYSHADOW */
- YYSYMBOL_ISAMPLERCUBEARRAY = 168, /* ISAMPLERCUBEARRAY */
- YYSYMBOL_USAMPLERCUBEARRAY = 169, /* USAMPLERCUBEARRAY */
- YYSYMBOL_SAMPLER1D = 170, /* SAMPLER1D */
- YYSYMBOL_SAMPLER1DARRAY = 171, /* SAMPLER1DARRAY */
- YYSYMBOL_SAMPLER1DARRAYSHADOW = 172, /* SAMPLER1DARRAYSHADOW */
- YYSYMBOL_ISAMPLER1D = 173, /* ISAMPLER1D */
- YYSYMBOL_SAMPLER1DSHADOW = 174, /* SAMPLER1DSHADOW */
- YYSYMBOL_SAMPLER2DRECT = 175, /* SAMPLER2DRECT */
- YYSYMBOL_SAMPLER2DRECTSHADOW = 176, /* SAMPLER2DRECTSHADOW */
- YYSYMBOL_ISAMPLER2DRECT = 177, /* ISAMPLER2DRECT */
- YYSYMBOL_USAMPLER2DRECT = 178, /* USAMPLER2DRECT */
- YYSYMBOL_SAMPLERBUFFER = 179, /* SAMPLERBUFFER */
- YYSYMBOL_ISAMPLERBUFFER = 180, /* ISAMPLERBUFFER */
- YYSYMBOL_USAMPLERBUFFER = 181, /* USAMPLERBUFFER */
- YYSYMBOL_SAMPLER2DMS = 182, /* SAMPLER2DMS */
- YYSYMBOL_ISAMPLER2DMS = 183, /* ISAMPLER2DMS */
- YYSYMBOL_USAMPLER2DMS = 184, /* USAMPLER2DMS */
- YYSYMBOL_SAMPLER2DMSARRAY = 185, /* SAMPLER2DMSARRAY */
- YYSYMBOL_ISAMPLER2DMSARRAY = 186, /* ISAMPLER2DMSARRAY */
- YYSYMBOL_USAMPLER2DMSARRAY = 187, /* USAMPLER2DMSARRAY */
- YYSYMBOL_SAMPLEREXTERNALOES = 188, /* SAMPLEREXTERNALOES */
- YYSYMBOL_SAMPLEREXTERNAL2DY2YEXT = 189, /* SAMPLEREXTERNAL2DY2YEXT */
- YYSYMBOL_ISAMPLER1DARRAY = 190, /* ISAMPLER1DARRAY */
- YYSYMBOL_USAMPLER1D = 191, /* USAMPLER1D */
- YYSYMBOL_USAMPLER1DARRAY = 192, /* USAMPLER1DARRAY */
- YYSYMBOL_F16SAMPLER1D = 193, /* F16SAMPLER1D */
- YYSYMBOL_F16SAMPLER2D = 194, /* F16SAMPLER2D */
- YYSYMBOL_F16SAMPLER3D = 195, /* F16SAMPLER3D */
- YYSYMBOL_F16SAMPLER2DRECT = 196, /* F16SAMPLER2DRECT */
- YYSYMBOL_F16SAMPLERCUBE = 197, /* F16SAMPLERCUBE */
- YYSYMBOL_F16SAMPLER1DARRAY = 198, /* F16SAMPLER1DARRAY */
- YYSYMBOL_F16SAMPLER2DARRAY = 199, /* F16SAMPLER2DARRAY */
- YYSYMBOL_F16SAMPLERCUBEARRAY = 200, /* F16SAMPLERCUBEARRAY */
- YYSYMBOL_F16SAMPLERBUFFER = 201, /* F16SAMPLERBUFFER */
- YYSYMBOL_F16SAMPLER2DMS = 202, /* F16SAMPLER2DMS */
- YYSYMBOL_F16SAMPLER2DMSARRAY = 203, /* F16SAMPLER2DMSARRAY */
- YYSYMBOL_F16SAMPLER1DSHADOW = 204, /* F16SAMPLER1DSHADOW */
- YYSYMBOL_F16SAMPLER2DSHADOW = 205, /* F16SAMPLER2DSHADOW */
- YYSYMBOL_F16SAMPLER1DARRAYSHADOW = 206, /* F16SAMPLER1DARRAYSHADOW */
- YYSYMBOL_F16SAMPLER2DARRAYSHADOW = 207, /* F16SAMPLER2DARRAYSHADOW */
- YYSYMBOL_F16SAMPLER2DRECTSHADOW = 208, /* F16SAMPLER2DRECTSHADOW */
- YYSYMBOL_F16SAMPLERCUBESHADOW = 209, /* F16SAMPLERCUBESHADOW */
- YYSYMBOL_F16SAMPLERCUBEARRAYSHADOW = 210, /* F16SAMPLERCUBEARRAYSHADOW */
- YYSYMBOL_IMAGE1D = 211, /* IMAGE1D */
- YYSYMBOL_IIMAGE1D = 212, /* IIMAGE1D */
- YYSYMBOL_UIMAGE1D = 213, /* UIMAGE1D */
- YYSYMBOL_IMAGE2D = 214, /* IMAGE2D */
- YYSYMBOL_IIMAGE2D = 215, /* IIMAGE2D */
- YYSYMBOL_UIMAGE2D = 216, /* UIMAGE2D */
- YYSYMBOL_IMAGE3D = 217, /* IMAGE3D */
- YYSYMBOL_IIMAGE3D = 218, /* IIMAGE3D */
- YYSYMBOL_UIMAGE3D = 219, /* UIMAGE3D */
- YYSYMBOL_IMAGE2DRECT = 220, /* IMAGE2DRECT */
- YYSYMBOL_IIMAGE2DRECT = 221, /* IIMAGE2DRECT */
- YYSYMBOL_UIMAGE2DRECT = 222, /* UIMAGE2DRECT */
- YYSYMBOL_IMAGECUBE = 223, /* IMAGECUBE */
- YYSYMBOL_IIMAGECUBE = 224, /* IIMAGECUBE */
- YYSYMBOL_UIMAGECUBE = 225, /* UIMAGECUBE */
- YYSYMBOL_IMAGEBUFFER = 226, /* IMAGEBUFFER */
- YYSYMBOL_IIMAGEBUFFER = 227, /* IIMAGEBUFFER */
- YYSYMBOL_UIMAGEBUFFER = 228, /* UIMAGEBUFFER */
- YYSYMBOL_IMAGE1DARRAY = 229, /* IMAGE1DARRAY */
- YYSYMBOL_IIMAGE1DARRAY = 230, /* IIMAGE1DARRAY */
- YYSYMBOL_UIMAGE1DARRAY = 231, /* UIMAGE1DARRAY */
- YYSYMBOL_IMAGE2DARRAY = 232, /* IMAGE2DARRAY */
- YYSYMBOL_IIMAGE2DARRAY = 233, /* IIMAGE2DARRAY */
- YYSYMBOL_UIMAGE2DARRAY = 234, /* UIMAGE2DARRAY */
- YYSYMBOL_IMAGECUBEARRAY = 235, /* IMAGECUBEARRAY */
- YYSYMBOL_IIMAGECUBEARRAY = 236, /* IIMAGECUBEARRAY */
- YYSYMBOL_UIMAGECUBEARRAY = 237, /* UIMAGECUBEARRAY */
- YYSYMBOL_IMAGE2DMS = 238, /* IMAGE2DMS */
- YYSYMBOL_IIMAGE2DMS = 239, /* IIMAGE2DMS */
- YYSYMBOL_UIMAGE2DMS = 240, /* UIMAGE2DMS */
- YYSYMBOL_IMAGE2DMSARRAY = 241, /* IMAGE2DMSARRAY */
- YYSYMBOL_IIMAGE2DMSARRAY = 242, /* IIMAGE2DMSARRAY */
- YYSYMBOL_UIMAGE2DMSARRAY = 243, /* UIMAGE2DMSARRAY */
- YYSYMBOL_F16IMAGE1D = 244, /* F16IMAGE1D */
- YYSYMBOL_F16IMAGE2D = 245, /* F16IMAGE2D */
- YYSYMBOL_F16IMAGE3D = 246, /* F16IMAGE3D */
- YYSYMBOL_F16IMAGE2DRECT = 247, /* F16IMAGE2DRECT */
- YYSYMBOL_F16IMAGECUBE = 248, /* F16IMAGECUBE */
- YYSYMBOL_F16IMAGE1DARRAY = 249, /* F16IMAGE1DARRAY */
- YYSYMBOL_F16IMAGE2DARRAY = 250, /* F16IMAGE2DARRAY */
- YYSYMBOL_F16IMAGECUBEARRAY = 251, /* F16IMAGECUBEARRAY */
- YYSYMBOL_F16IMAGEBUFFER = 252, /* F16IMAGEBUFFER */
- YYSYMBOL_F16IMAGE2DMS = 253, /* F16IMAGE2DMS */
- YYSYMBOL_F16IMAGE2DMSARRAY = 254, /* F16IMAGE2DMSARRAY */
- YYSYMBOL_I64IMAGE1D = 255, /* I64IMAGE1D */
- YYSYMBOL_U64IMAGE1D = 256, /* U64IMAGE1D */
- YYSYMBOL_I64IMAGE2D = 257, /* I64IMAGE2D */
- YYSYMBOL_U64IMAGE2D = 258, /* U64IMAGE2D */
- YYSYMBOL_I64IMAGE3D = 259, /* I64IMAGE3D */
- YYSYMBOL_U64IMAGE3D = 260, /* U64IMAGE3D */
- YYSYMBOL_I64IMAGE2DRECT = 261, /* I64IMAGE2DRECT */
- YYSYMBOL_U64IMAGE2DRECT = 262, /* U64IMAGE2DRECT */
- YYSYMBOL_I64IMAGECUBE = 263, /* I64IMAGECUBE */
- YYSYMBOL_U64IMAGECUBE = 264, /* U64IMAGECUBE */
- YYSYMBOL_I64IMAGEBUFFER = 265, /* I64IMAGEBUFFER */
- YYSYMBOL_U64IMAGEBUFFER = 266, /* U64IMAGEBUFFER */
- YYSYMBOL_I64IMAGE1DARRAY = 267, /* I64IMAGE1DARRAY */
- YYSYMBOL_U64IMAGE1DARRAY = 268, /* U64IMAGE1DARRAY */
- YYSYMBOL_I64IMAGE2DARRAY = 269, /* I64IMAGE2DARRAY */
- YYSYMBOL_U64IMAGE2DARRAY = 270, /* U64IMAGE2DARRAY */
- YYSYMBOL_I64IMAGECUBEARRAY = 271, /* I64IMAGECUBEARRAY */
- YYSYMBOL_U64IMAGECUBEARRAY = 272, /* U64IMAGECUBEARRAY */
- YYSYMBOL_I64IMAGE2DMS = 273, /* I64IMAGE2DMS */
- YYSYMBOL_U64IMAGE2DMS = 274, /* U64IMAGE2DMS */
- YYSYMBOL_I64IMAGE2DMSARRAY = 275, /* I64IMAGE2DMSARRAY */
- YYSYMBOL_U64IMAGE2DMSARRAY = 276, /* U64IMAGE2DMSARRAY */
- YYSYMBOL_TEXTURECUBEARRAY = 277, /* TEXTURECUBEARRAY */
- YYSYMBOL_ITEXTURECUBEARRAY = 278, /* ITEXTURECUBEARRAY */
- YYSYMBOL_UTEXTURECUBEARRAY = 279, /* UTEXTURECUBEARRAY */
- YYSYMBOL_TEXTURE1D = 280, /* TEXTURE1D */
- YYSYMBOL_ITEXTURE1D = 281, /* ITEXTURE1D */
- YYSYMBOL_UTEXTURE1D = 282, /* UTEXTURE1D */
- YYSYMBOL_TEXTURE1DARRAY = 283, /* TEXTURE1DARRAY */
- YYSYMBOL_ITEXTURE1DARRAY = 284, /* ITEXTURE1DARRAY */
- YYSYMBOL_UTEXTURE1DARRAY = 285, /* UTEXTURE1DARRAY */
- YYSYMBOL_TEXTURE2DRECT = 286, /* TEXTURE2DRECT */
- YYSYMBOL_ITEXTURE2DRECT = 287, /* ITEXTURE2DRECT */
- YYSYMBOL_UTEXTURE2DRECT = 288, /* UTEXTURE2DRECT */
- YYSYMBOL_TEXTUREBUFFER = 289, /* TEXTUREBUFFER */
- YYSYMBOL_ITEXTUREBUFFER = 290, /* ITEXTUREBUFFER */
- YYSYMBOL_UTEXTUREBUFFER = 291, /* UTEXTUREBUFFER */
- YYSYMBOL_TEXTURE2DMS = 292, /* TEXTURE2DMS */
- YYSYMBOL_ITEXTURE2DMS = 293, /* ITEXTURE2DMS */
- YYSYMBOL_UTEXTURE2DMS = 294, /* UTEXTURE2DMS */
- YYSYMBOL_TEXTURE2DMSARRAY = 295, /* TEXTURE2DMSARRAY */
- YYSYMBOL_ITEXTURE2DMSARRAY = 296, /* ITEXTURE2DMSARRAY */
- YYSYMBOL_UTEXTURE2DMSARRAY = 297, /* UTEXTURE2DMSARRAY */
- YYSYMBOL_F16TEXTURE1D = 298, /* F16TEXTURE1D */
- YYSYMBOL_F16TEXTURE2D = 299, /* F16TEXTURE2D */
- YYSYMBOL_F16TEXTURE3D = 300, /* F16TEXTURE3D */
- YYSYMBOL_F16TEXTURE2DRECT = 301, /* F16TEXTURE2DRECT */
- YYSYMBOL_F16TEXTURECUBE = 302, /* F16TEXTURECUBE */
- YYSYMBOL_F16TEXTURE1DARRAY = 303, /* F16TEXTURE1DARRAY */
- YYSYMBOL_F16TEXTURE2DARRAY = 304, /* F16TEXTURE2DARRAY */
- YYSYMBOL_F16TEXTURECUBEARRAY = 305, /* F16TEXTURECUBEARRAY */
- YYSYMBOL_F16TEXTUREBUFFER = 306, /* F16TEXTUREBUFFER */
- YYSYMBOL_F16TEXTURE2DMS = 307, /* F16TEXTURE2DMS */
- YYSYMBOL_F16TEXTURE2DMSARRAY = 308, /* F16TEXTURE2DMSARRAY */
- YYSYMBOL_SUBPASSINPUT = 309, /* SUBPASSINPUT */
- YYSYMBOL_SUBPASSINPUTMS = 310, /* SUBPASSINPUTMS */
- YYSYMBOL_ISUBPASSINPUT = 311, /* ISUBPASSINPUT */
- YYSYMBOL_ISUBPASSINPUTMS = 312, /* ISUBPASSINPUTMS */
- YYSYMBOL_USUBPASSINPUT = 313, /* USUBPASSINPUT */
- YYSYMBOL_USUBPASSINPUTMS = 314, /* USUBPASSINPUTMS */
- YYSYMBOL_F16SUBPASSINPUT = 315, /* F16SUBPASSINPUT */
- YYSYMBOL_F16SUBPASSINPUTMS = 316, /* F16SUBPASSINPUTMS */
- YYSYMBOL_SPIRV_INSTRUCTION = 317, /* SPIRV_INSTRUCTION */
- YYSYMBOL_SPIRV_EXECUTION_MODE = 318, /* SPIRV_EXECUTION_MODE */
- YYSYMBOL_SPIRV_EXECUTION_MODE_ID = 319, /* SPIRV_EXECUTION_MODE_ID */
- YYSYMBOL_SPIRV_DECORATE = 320, /* SPIRV_DECORATE */
- YYSYMBOL_SPIRV_DECORATE_ID = 321, /* SPIRV_DECORATE_ID */
- YYSYMBOL_SPIRV_DECORATE_STRING = 322, /* SPIRV_DECORATE_STRING */
- YYSYMBOL_SPIRV_TYPE = 323, /* SPIRV_TYPE */
- YYSYMBOL_SPIRV_STORAGE_CLASS = 324, /* SPIRV_STORAGE_CLASS */
- YYSYMBOL_SPIRV_BY_REFERENCE = 325, /* SPIRV_BY_REFERENCE */
- YYSYMBOL_SPIRV_LITERAL = 326, /* SPIRV_LITERAL */
- YYSYMBOL_LEFT_OP = 327, /* LEFT_OP */
- YYSYMBOL_RIGHT_OP = 328, /* RIGHT_OP */
- YYSYMBOL_INC_OP = 329, /* INC_OP */
- YYSYMBOL_DEC_OP = 330, /* DEC_OP */
- YYSYMBOL_LE_OP = 331, /* LE_OP */
- YYSYMBOL_GE_OP = 332, /* GE_OP */
- YYSYMBOL_EQ_OP = 333, /* EQ_OP */
- YYSYMBOL_NE_OP = 334, /* NE_OP */
- YYSYMBOL_AND_OP = 335, /* AND_OP */
- YYSYMBOL_OR_OP = 336, /* OR_OP */
- YYSYMBOL_XOR_OP = 337, /* XOR_OP */
- YYSYMBOL_MUL_ASSIGN = 338, /* MUL_ASSIGN */
- YYSYMBOL_DIV_ASSIGN = 339, /* DIV_ASSIGN */
- YYSYMBOL_ADD_ASSIGN = 340, /* ADD_ASSIGN */
- YYSYMBOL_MOD_ASSIGN = 341, /* MOD_ASSIGN */
- YYSYMBOL_LEFT_ASSIGN = 342, /* LEFT_ASSIGN */
- YYSYMBOL_RIGHT_ASSIGN = 343, /* RIGHT_ASSIGN */
- YYSYMBOL_AND_ASSIGN = 344, /* AND_ASSIGN */
- YYSYMBOL_XOR_ASSIGN = 345, /* XOR_ASSIGN */
- YYSYMBOL_OR_ASSIGN = 346, /* OR_ASSIGN */
- YYSYMBOL_SUB_ASSIGN = 347, /* SUB_ASSIGN */
- YYSYMBOL_STRING_LITERAL = 348, /* STRING_LITERAL */
- YYSYMBOL_LEFT_PAREN = 349, /* LEFT_PAREN */
- YYSYMBOL_RIGHT_PAREN = 350, /* RIGHT_PAREN */
- YYSYMBOL_LEFT_BRACKET = 351, /* LEFT_BRACKET */
- YYSYMBOL_RIGHT_BRACKET = 352, /* RIGHT_BRACKET */
- YYSYMBOL_LEFT_BRACE = 353, /* LEFT_BRACE */
- YYSYMBOL_RIGHT_BRACE = 354, /* RIGHT_BRACE */
- YYSYMBOL_DOT = 355, /* DOT */
- YYSYMBOL_COMMA = 356, /* COMMA */
- YYSYMBOL_COLON = 357, /* COLON */
- YYSYMBOL_EQUAL = 358, /* EQUAL */
- YYSYMBOL_SEMICOLON = 359, /* SEMICOLON */
- YYSYMBOL_BANG = 360, /* BANG */
- YYSYMBOL_DASH = 361, /* DASH */
- YYSYMBOL_TILDE = 362, /* TILDE */
- YYSYMBOL_PLUS = 363, /* PLUS */
- YYSYMBOL_STAR = 364, /* STAR */
- YYSYMBOL_SLASH = 365, /* SLASH */
- YYSYMBOL_PERCENT = 366, /* PERCENT */
- YYSYMBOL_LEFT_ANGLE = 367, /* LEFT_ANGLE */
- YYSYMBOL_RIGHT_ANGLE = 368, /* RIGHT_ANGLE */
- YYSYMBOL_VERTICAL_BAR = 369, /* VERTICAL_BAR */
- YYSYMBOL_CARET = 370, /* CARET */
- YYSYMBOL_AMPERSAND = 371, /* AMPERSAND */
- YYSYMBOL_QUESTION = 372, /* QUESTION */
- YYSYMBOL_INVARIANT = 373, /* INVARIANT */
- YYSYMBOL_HIGH_PRECISION = 374, /* HIGH_PRECISION */
- YYSYMBOL_MEDIUM_PRECISION = 375, /* MEDIUM_PRECISION */
- YYSYMBOL_LOW_PRECISION = 376, /* LOW_PRECISION */
- YYSYMBOL_PRECISION = 377, /* PRECISION */
- YYSYMBOL_PACKED = 378, /* PACKED */
- YYSYMBOL_RESOURCE = 379, /* RESOURCE */
- YYSYMBOL_SUPERP = 380, /* SUPERP */
- YYSYMBOL_FLOATCONSTANT = 381, /* FLOATCONSTANT */
- YYSYMBOL_INTCONSTANT = 382, /* INTCONSTANT */
- YYSYMBOL_UINTCONSTANT = 383, /* UINTCONSTANT */
- YYSYMBOL_BOOLCONSTANT = 384, /* BOOLCONSTANT */
- YYSYMBOL_IDENTIFIER = 385, /* IDENTIFIER */
- YYSYMBOL_TYPE_NAME = 386, /* TYPE_NAME */
- YYSYMBOL_CENTROID = 387, /* CENTROID */
- YYSYMBOL_IN = 388, /* IN */
- YYSYMBOL_OUT = 389, /* OUT */
- YYSYMBOL_INOUT = 390, /* INOUT */
- YYSYMBOL_STRUCT = 391, /* STRUCT */
- YYSYMBOL_VOID = 392, /* VOID */
- YYSYMBOL_WHILE = 393, /* WHILE */
- YYSYMBOL_BREAK = 394, /* BREAK */
- YYSYMBOL_CONTINUE = 395, /* CONTINUE */
- YYSYMBOL_DO = 396, /* DO */
- YYSYMBOL_ELSE = 397, /* ELSE */
- YYSYMBOL_FOR = 398, /* FOR */
- YYSYMBOL_IF = 399, /* IF */
- YYSYMBOL_DISCARD = 400, /* DISCARD */
- YYSYMBOL_RETURN = 401, /* RETURN */
- YYSYMBOL_SWITCH = 402, /* SWITCH */
- YYSYMBOL_CASE = 403, /* CASE */
- YYSYMBOL_DEFAULT = 404, /* DEFAULT */
- YYSYMBOL_TERMINATE_INVOCATION = 405, /* TERMINATE_INVOCATION */
- YYSYMBOL_TERMINATE_RAY = 406, /* TERMINATE_RAY */
- YYSYMBOL_IGNORE_INTERSECTION = 407, /* IGNORE_INTERSECTION */
- YYSYMBOL_UNIFORM = 408, /* UNIFORM */
- YYSYMBOL_SHARED = 409, /* SHARED */
- YYSYMBOL_BUFFER = 410, /* BUFFER */
- YYSYMBOL_FLAT = 411, /* FLAT */
- YYSYMBOL_SMOOTH = 412, /* SMOOTH */
- YYSYMBOL_LAYOUT = 413, /* LAYOUT */
- YYSYMBOL_DOUBLECONSTANT = 414, /* DOUBLECONSTANT */
- YYSYMBOL_INT16CONSTANT = 415, /* INT16CONSTANT */
- YYSYMBOL_UINT16CONSTANT = 416, /* UINT16CONSTANT */
- YYSYMBOL_FLOAT16CONSTANT = 417, /* FLOAT16CONSTANT */
- YYSYMBOL_INT32CONSTANT = 418, /* INT32CONSTANT */
- YYSYMBOL_UINT32CONSTANT = 419, /* UINT32CONSTANT */
- YYSYMBOL_INT64CONSTANT = 420, /* INT64CONSTANT */
- YYSYMBOL_UINT64CONSTANT = 421, /* UINT64CONSTANT */
- YYSYMBOL_SUBROUTINE = 422, /* SUBROUTINE */
- YYSYMBOL_DEMOTE = 423, /* DEMOTE */
- YYSYMBOL_PAYLOADNV = 424, /* PAYLOADNV */
- YYSYMBOL_PAYLOADINNV = 425, /* PAYLOADINNV */
- YYSYMBOL_HITATTRNV = 426, /* HITATTRNV */
- YYSYMBOL_CALLDATANV = 427, /* CALLDATANV */
- YYSYMBOL_CALLDATAINNV = 428, /* CALLDATAINNV */
- YYSYMBOL_PAYLOADEXT = 429, /* PAYLOADEXT */
- YYSYMBOL_PAYLOADINEXT = 430, /* PAYLOADINEXT */
- YYSYMBOL_HITATTREXT = 431, /* HITATTREXT */
- YYSYMBOL_CALLDATAEXT = 432, /* CALLDATAEXT */
- YYSYMBOL_CALLDATAINEXT = 433, /* CALLDATAINEXT */
- YYSYMBOL_PATCH = 434, /* PATCH */
- YYSYMBOL_SAMPLE = 435, /* SAMPLE */
- YYSYMBOL_NONUNIFORM = 436, /* NONUNIFORM */
- YYSYMBOL_COHERENT = 437, /* COHERENT */
- YYSYMBOL_VOLATILE = 438, /* VOLATILE */
- YYSYMBOL_RESTRICT = 439, /* RESTRICT */
- YYSYMBOL_READONLY = 440, /* READONLY */
- YYSYMBOL_WRITEONLY = 441, /* WRITEONLY */
- YYSYMBOL_DEVICECOHERENT = 442, /* DEVICECOHERENT */
- YYSYMBOL_QUEUEFAMILYCOHERENT = 443, /* QUEUEFAMILYCOHERENT */
- YYSYMBOL_WORKGROUPCOHERENT = 444, /* WORKGROUPCOHERENT */
- YYSYMBOL_SUBGROUPCOHERENT = 445, /* SUBGROUPCOHERENT */
- YYSYMBOL_NONPRIVATE = 446, /* NONPRIVATE */
- YYSYMBOL_SHADERCALLCOHERENT = 447, /* SHADERCALLCOHERENT */
- YYSYMBOL_NOPERSPECTIVE = 448, /* NOPERSPECTIVE */
- YYSYMBOL_EXPLICITINTERPAMD = 449, /* EXPLICITINTERPAMD */
- YYSYMBOL_PERVERTEXEXT = 450, /* PERVERTEXEXT */
- YYSYMBOL_PERVERTEXNV = 451, /* PERVERTEXNV */
- YYSYMBOL_PERPRIMITIVENV = 452, /* PERPRIMITIVENV */
- YYSYMBOL_PERVIEWNV = 453, /* PERVIEWNV */
- YYSYMBOL_PERTASKNV = 454, /* PERTASKNV */
- YYSYMBOL_PERPRIMITIVEEXT = 455, /* PERPRIMITIVEEXT */
- YYSYMBOL_TASKPAYLOADWORKGROUPEXT = 456, /* TASKPAYLOADWORKGROUPEXT */
- YYSYMBOL_PRECISE = 457, /* PRECISE */
- YYSYMBOL_YYACCEPT = 458, /* $accept */
- YYSYMBOL_variable_identifier = 459, /* variable_identifier */
- YYSYMBOL_primary_expression = 460, /* primary_expression */
- YYSYMBOL_postfix_expression = 461, /* postfix_expression */
- YYSYMBOL_integer_expression = 462, /* integer_expression */
- YYSYMBOL_function_call = 463, /* function_call */
- YYSYMBOL_function_call_or_method = 464, /* function_call_or_method */
- YYSYMBOL_function_call_generic = 465, /* function_call_generic */
- YYSYMBOL_function_call_header_no_parameters = 466, /* function_call_header_no_parameters */
- YYSYMBOL_function_call_header_with_parameters = 467, /* function_call_header_with_parameters */
- YYSYMBOL_function_call_header = 468, /* function_call_header */
- YYSYMBOL_function_identifier = 469, /* function_identifier */
- YYSYMBOL_unary_expression = 470, /* unary_expression */
- YYSYMBOL_unary_operator = 471, /* unary_operator */
- YYSYMBOL_multiplicative_expression = 472, /* multiplicative_expression */
- YYSYMBOL_additive_expression = 473, /* additive_expression */
- YYSYMBOL_shift_expression = 474, /* shift_expression */
- YYSYMBOL_relational_expression = 475, /* relational_expression */
- YYSYMBOL_equality_expression = 476, /* equality_expression */
- YYSYMBOL_and_expression = 477, /* and_expression */
- YYSYMBOL_exclusive_or_expression = 478, /* exclusive_or_expression */
- YYSYMBOL_inclusive_or_expression = 479, /* inclusive_or_expression */
- YYSYMBOL_logical_and_expression = 480, /* logical_and_expression */
- YYSYMBOL_logical_xor_expression = 481, /* logical_xor_expression */
- YYSYMBOL_logical_or_expression = 482, /* logical_or_expression */
- YYSYMBOL_conditional_expression = 483, /* conditional_expression */
- YYSYMBOL_484_1 = 484, /* $@1 */
- YYSYMBOL_assignment_expression = 485, /* assignment_expression */
- YYSYMBOL_assignment_operator = 486, /* assignment_operator */
- YYSYMBOL_expression = 487, /* expression */
- YYSYMBOL_constant_expression = 488, /* constant_expression */
- YYSYMBOL_declaration = 489, /* declaration */
- YYSYMBOL_block_structure = 490, /* block_structure */
- YYSYMBOL_491_2 = 491, /* $@2 */
- YYSYMBOL_identifier_list = 492, /* identifier_list */
- YYSYMBOL_function_prototype = 493, /* function_prototype */
- YYSYMBOL_function_declarator = 494, /* function_declarator */
- YYSYMBOL_function_header_with_parameters = 495, /* function_header_with_parameters */
- YYSYMBOL_function_header = 496, /* function_header */
- YYSYMBOL_parameter_declarator = 497, /* parameter_declarator */
- YYSYMBOL_parameter_declaration = 498, /* parameter_declaration */
- YYSYMBOL_parameter_type_specifier = 499, /* parameter_type_specifier */
- YYSYMBOL_init_declarator_list = 500, /* init_declarator_list */
- YYSYMBOL_single_declaration = 501, /* single_declaration */
- YYSYMBOL_fully_specified_type = 502, /* fully_specified_type */
- YYSYMBOL_invariant_qualifier = 503, /* invariant_qualifier */
- YYSYMBOL_interpolation_qualifier = 504, /* interpolation_qualifier */
- YYSYMBOL_layout_qualifier = 505, /* layout_qualifier */
- YYSYMBOL_layout_qualifier_id_list = 506, /* layout_qualifier_id_list */
- YYSYMBOL_layout_qualifier_id = 507, /* layout_qualifier_id */
- YYSYMBOL_precise_qualifier = 508, /* precise_qualifier */
- YYSYMBOL_type_qualifier = 509, /* type_qualifier */
- YYSYMBOL_single_type_qualifier = 510, /* single_type_qualifier */
- YYSYMBOL_storage_qualifier = 511, /* storage_qualifier */
- YYSYMBOL_non_uniform_qualifier = 512, /* non_uniform_qualifier */
- YYSYMBOL_type_name_list = 513, /* type_name_list */
- YYSYMBOL_type_specifier = 514, /* type_specifier */
- YYSYMBOL_array_specifier = 515, /* array_specifier */
- YYSYMBOL_type_parameter_specifier_opt = 516, /* type_parameter_specifier_opt */
- YYSYMBOL_type_parameter_specifier = 517, /* type_parameter_specifier */
- YYSYMBOL_type_parameter_specifier_list = 518, /* type_parameter_specifier_list */
- YYSYMBOL_type_specifier_nonarray = 519, /* type_specifier_nonarray */
- YYSYMBOL_precision_qualifier = 520, /* precision_qualifier */
- YYSYMBOL_struct_specifier = 521, /* struct_specifier */
- YYSYMBOL_522_3 = 522, /* $@3 */
- YYSYMBOL_523_4 = 523, /* $@4 */
- YYSYMBOL_struct_declaration_list = 524, /* struct_declaration_list */
- YYSYMBOL_struct_declaration = 525, /* struct_declaration */
- YYSYMBOL_struct_declarator_list = 526, /* struct_declarator_list */
- YYSYMBOL_struct_declarator = 527, /* struct_declarator */
- YYSYMBOL_initializer = 528, /* initializer */
- YYSYMBOL_initializer_list = 529, /* initializer_list */
- YYSYMBOL_declaration_statement = 530, /* declaration_statement */
- YYSYMBOL_statement = 531, /* statement */
- YYSYMBOL_simple_statement = 532, /* simple_statement */
- YYSYMBOL_demote_statement = 533, /* demote_statement */
- YYSYMBOL_compound_statement = 534, /* compound_statement */
- YYSYMBOL_535_5 = 535, /* $@5 */
- YYSYMBOL_536_6 = 536, /* $@6 */
- YYSYMBOL_statement_no_new_scope = 537, /* statement_no_new_scope */
- YYSYMBOL_statement_scoped = 538, /* statement_scoped */
- YYSYMBOL_539_7 = 539, /* $@7 */
- YYSYMBOL_540_8 = 540, /* $@8 */
- YYSYMBOL_compound_statement_no_new_scope = 541, /* compound_statement_no_new_scope */
- YYSYMBOL_statement_list = 542, /* statement_list */
- YYSYMBOL_expression_statement = 543, /* expression_statement */
- YYSYMBOL_selection_statement = 544, /* selection_statement */
- YYSYMBOL_selection_statement_nonattributed = 545, /* selection_statement_nonattributed */
- YYSYMBOL_selection_rest_statement = 546, /* selection_rest_statement */
- YYSYMBOL_condition = 547, /* condition */
- YYSYMBOL_switch_statement = 548, /* switch_statement */
- YYSYMBOL_switch_statement_nonattributed = 549, /* switch_statement_nonattributed */
- YYSYMBOL_550_9 = 550, /* $@9 */
- YYSYMBOL_switch_statement_list = 551, /* switch_statement_list */
- YYSYMBOL_case_label = 552, /* case_label */
- YYSYMBOL_iteration_statement = 553, /* iteration_statement */
- YYSYMBOL_iteration_statement_nonattributed = 554, /* iteration_statement_nonattributed */
- YYSYMBOL_555_10 = 555, /* $@10 */
- YYSYMBOL_556_11 = 556, /* $@11 */
- YYSYMBOL_557_12 = 557, /* $@12 */
- YYSYMBOL_for_init_statement = 558, /* for_init_statement */
- YYSYMBOL_conditionopt = 559, /* conditionopt */
- YYSYMBOL_for_rest_statement = 560, /* for_rest_statement */
- YYSYMBOL_jump_statement = 561, /* jump_statement */
- YYSYMBOL_translation_unit = 562, /* translation_unit */
- YYSYMBOL_external_declaration = 563, /* external_declaration */
- YYSYMBOL_function_definition = 564, /* function_definition */
- YYSYMBOL_565_13 = 565, /* $@13 */
- YYSYMBOL_attribute = 566, /* attribute */
- YYSYMBOL_attribute_list = 567, /* attribute_list */
- YYSYMBOL_single_attribute = 568, /* single_attribute */
- YYSYMBOL_spirv_requirements_list = 569, /* spirv_requirements_list */
- YYSYMBOL_spirv_requirements_parameter = 570, /* spirv_requirements_parameter */
- YYSYMBOL_spirv_extension_list = 571, /* spirv_extension_list */
- YYSYMBOL_spirv_capability_list = 572, /* spirv_capability_list */
- YYSYMBOL_spirv_execution_mode_qualifier = 573, /* spirv_execution_mode_qualifier */
- YYSYMBOL_spirv_execution_mode_parameter_list = 574, /* spirv_execution_mode_parameter_list */
- YYSYMBOL_spirv_execution_mode_parameter = 575, /* spirv_execution_mode_parameter */
- YYSYMBOL_spirv_execution_mode_id_parameter_list = 576, /* spirv_execution_mode_id_parameter_list */
- YYSYMBOL_spirv_storage_class_qualifier = 577, /* spirv_storage_class_qualifier */
- YYSYMBOL_spirv_decorate_qualifier = 578, /* spirv_decorate_qualifier */
- YYSYMBOL_spirv_decorate_parameter_list = 579, /* spirv_decorate_parameter_list */
- YYSYMBOL_spirv_decorate_parameter = 580, /* spirv_decorate_parameter */
- YYSYMBOL_spirv_decorate_id_parameter_list = 581, /* spirv_decorate_id_parameter_list */
- YYSYMBOL_spirv_decorate_string_parameter_list = 582, /* spirv_decorate_string_parameter_list */
- YYSYMBOL_spirv_type_specifier = 583, /* spirv_type_specifier */
- YYSYMBOL_spirv_type_parameter_list = 584, /* spirv_type_parameter_list */
- YYSYMBOL_spirv_type_parameter = 585, /* spirv_type_parameter */
- YYSYMBOL_spirv_instruction_qualifier = 586, /* spirv_instruction_qualifier */
- YYSYMBOL_spirv_instruction_qualifier_list = 587, /* spirv_instruction_qualifier_list */
- YYSYMBOL_spirv_instruction_qualifier_id = 588 /* spirv_instruction_qualifier_id */
+ YYSYMBOL_HITOBJECTNV = 166, /* HITOBJECTNV */
+ YYSYMBOL_HITOBJECTATTRNV = 167, /* HITOBJECTATTRNV */
+ YYSYMBOL_SAMPLERCUBEARRAY = 168, /* SAMPLERCUBEARRAY */
+ YYSYMBOL_SAMPLERCUBEARRAYSHADOW = 169, /* SAMPLERCUBEARRAYSHADOW */
+ YYSYMBOL_ISAMPLERCUBEARRAY = 170, /* ISAMPLERCUBEARRAY */
+ YYSYMBOL_USAMPLERCUBEARRAY = 171, /* USAMPLERCUBEARRAY */
+ YYSYMBOL_SAMPLER1D = 172, /* SAMPLER1D */
+ YYSYMBOL_SAMPLER1DARRAY = 173, /* SAMPLER1DARRAY */
+ YYSYMBOL_SAMPLER1DARRAYSHADOW = 174, /* SAMPLER1DARRAYSHADOW */
+ YYSYMBOL_ISAMPLER1D = 175, /* ISAMPLER1D */
+ YYSYMBOL_SAMPLER1DSHADOW = 176, /* SAMPLER1DSHADOW */
+ YYSYMBOL_SAMPLER2DRECT = 177, /* SAMPLER2DRECT */
+ YYSYMBOL_SAMPLER2DRECTSHADOW = 178, /* SAMPLER2DRECTSHADOW */
+ YYSYMBOL_ISAMPLER2DRECT = 179, /* ISAMPLER2DRECT */
+ YYSYMBOL_USAMPLER2DRECT = 180, /* USAMPLER2DRECT */
+ YYSYMBOL_SAMPLERBUFFER = 181, /* SAMPLERBUFFER */
+ YYSYMBOL_ISAMPLERBUFFER = 182, /* ISAMPLERBUFFER */
+ YYSYMBOL_USAMPLERBUFFER = 183, /* USAMPLERBUFFER */
+ YYSYMBOL_SAMPLER2DMS = 184, /* SAMPLER2DMS */
+ YYSYMBOL_ISAMPLER2DMS = 185, /* ISAMPLER2DMS */
+ YYSYMBOL_USAMPLER2DMS = 186, /* USAMPLER2DMS */
+ YYSYMBOL_SAMPLER2DMSARRAY = 187, /* SAMPLER2DMSARRAY */
+ YYSYMBOL_ISAMPLER2DMSARRAY = 188, /* ISAMPLER2DMSARRAY */
+ YYSYMBOL_USAMPLER2DMSARRAY = 189, /* USAMPLER2DMSARRAY */
+ YYSYMBOL_SAMPLEREXTERNALOES = 190, /* SAMPLEREXTERNALOES */
+ YYSYMBOL_SAMPLEREXTERNAL2DY2YEXT = 191, /* SAMPLEREXTERNAL2DY2YEXT */
+ YYSYMBOL_ISAMPLER1DARRAY = 192, /* ISAMPLER1DARRAY */
+ YYSYMBOL_USAMPLER1D = 193, /* USAMPLER1D */
+ YYSYMBOL_USAMPLER1DARRAY = 194, /* USAMPLER1DARRAY */
+ YYSYMBOL_F16SAMPLER1D = 195, /* F16SAMPLER1D */
+ YYSYMBOL_F16SAMPLER2D = 196, /* F16SAMPLER2D */
+ YYSYMBOL_F16SAMPLER3D = 197, /* F16SAMPLER3D */
+ YYSYMBOL_F16SAMPLER2DRECT = 198, /* F16SAMPLER2DRECT */
+ YYSYMBOL_F16SAMPLERCUBE = 199, /* F16SAMPLERCUBE */
+ YYSYMBOL_F16SAMPLER1DARRAY = 200, /* F16SAMPLER1DARRAY */
+ YYSYMBOL_F16SAMPLER2DARRAY = 201, /* F16SAMPLER2DARRAY */
+ YYSYMBOL_F16SAMPLERCUBEARRAY = 202, /* F16SAMPLERCUBEARRAY */
+ YYSYMBOL_F16SAMPLERBUFFER = 203, /* F16SAMPLERBUFFER */
+ YYSYMBOL_F16SAMPLER2DMS = 204, /* F16SAMPLER2DMS */
+ YYSYMBOL_F16SAMPLER2DMSARRAY = 205, /* F16SAMPLER2DMSARRAY */
+ YYSYMBOL_F16SAMPLER1DSHADOW = 206, /* F16SAMPLER1DSHADOW */
+ YYSYMBOL_F16SAMPLER2DSHADOW = 207, /* F16SAMPLER2DSHADOW */
+ YYSYMBOL_F16SAMPLER1DARRAYSHADOW = 208, /* F16SAMPLER1DARRAYSHADOW */
+ YYSYMBOL_F16SAMPLER2DARRAYSHADOW = 209, /* F16SAMPLER2DARRAYSHADOW */
+ YYSYMBOL_F16SAMPLER2DRECTSHADOW = 210, /* F16SAMPLER2DRECTSHADOW */
+ YYSYMBOL_F16SAMPLERCUBESHADOW = 211, /* F16SAMPLERCUBESHADOW */
+ YYSYMBOL_F16SAMPLERCUBEARRAYSHADOW = 212, /* F16SAMPLERCUBEARRAYSHADOW */
+ YYSYMBOL_IMAGE1D = 213, /* IMAGE1D */
+ YYSYMBOL_IIMAGE1D = 214, /* IIMAGE1D */
+ YYSYMBOL_UIMAGE1D = 215, /* UIMAGE1D */
+ YYSYMBOL_IMAGE2D = 216, /* IMAGE2D */
+ YYSYMBOL_IIMAGE2D = 217, /* IIMAGE2D */
+ YYSYMBOL_UIMAGE2D = 218, /* UIMAGE2D */
+ YYSYMBOL_IMAGE3D = 219, /* IMAGE3D */
+ YYSYMBOL_IIMAGE3D = 220, /* IIMAGE3D */
+ YYSYMBOL_UIMAGE3D = 221, /* UIMAGE3D */
+ YYSYMBOL_IMAGE2DRECT = 222, /* IMAGE2DRECT */
+ YYSYMBOL_IIMAGE2DRECT = 223, /* IIMAGE2DRECT */
+ YYSYMBOL_UIMAGE2DRECT = 224, /* UIMAGE2DRECT */
+ YYSYMBOL_IMAGECUBE = 225, /* IMAGECUBE */
+ YYSYMBOL_IIMAGECUBE = 226, /* IIMAGECUBE */
+ YYSYMBOL_UIMAGECUBE = 227, /* UIMAGECUBE */
+ YYSYMBOL_IMAGEBUFFER = 228, /* IMAGEBUFFER */
+ YYSYMBOL_IIMAGEBUFFER = 229, /* IIMAGEBUFFER */
+ YYSYMBOL_UIMAGEBUFFER = 230, /* UIMAGEBUFFER */
+ YYSYMBOL_IMAGE1DARRAY = 231, /* IMAGE1DARRAY */
+ YYSYMBOL_IIMAGE1DARRAY = 232, /* IIMAGE1DARRAY */
+ YYSYMBOL_UIMAGE1DARRAY = 233, /* UIMAGE1DARRAY */
+ YYSYMBOL_IMAGE2DARRAY = 234, /* IMAGE2DARRAY */
+ YYSYMBOL_IIMAGE2DARRAY = 235, /* IIMAGE2DARRAY */
+ YYSYMBOL_UIMAGE2DARRAY = 236, /* UIMAGE2DARRAY */
+ YYSYMBOL_IMAGECUBEARRAY = 237, /* IMAGECUBEARRAY */
+ YYSYMBOL_IIMAGECUBEARRAY = 238, /* IIMAGECUBEARRAY */
+ YYSYMBOL_UIMAGECUBEARRAY = 239, /* UIMAGECUBEARRAY */
+ YYSYMBOL_IMAGE2DMS = 240, /* IMAGE2DMS */
+ YYSYMBOL_IIMAGE2DMS = 241, /* IIMAGE2DMS */
+ YYSYMBOL_UIMAGE2DMS = 242, /* UIMAGE2DMS */
+ YYSYMBOL_IMAGE2DMSARRAY = 243, /* IMAGE2DMSARRAY */
+ YYSYMBOL_IIMAGE2DMSARRAY = 244, /* IIMAGE2DMSARRAY */
+ YYSYMBOL_UIMAGE2DMSARRAY = 245, /* UIMAGE2DMSARRAY */
+ YYSYMBOL_F16IMAGE1D = 246, /* F16IMAGE1D */
+ YYSYMBOL_F16IMAGE2D = 247, /* F16IMAGE2D */
+ YYSYMBOL_F16IMAGE3D = 248, /* F16IMAGE3D */
+ YYSYMBOL_F16IMAGE2DRECT = 249, /* F16IMAGE2DRECT */
+ YYSYMBOL_F16IMAGECUBE = 250, /* F16IMAGECUBE */
+ YYSYMBOL_F16IMAGE1DARRAY = 251, /* F16IMAGE1DARRAY */
+ YYSYMBOL_F16IMAGE2DARRAY = 252, /* F16IMAGE2DARRAY */
+ YYSYMBOL_F16IMAGECUBEARRAY = 253, /* F16IMAGECUBEARRAY */
+ YYSYMBOL_F16IMAGEBUFFER = 254, /* F16IMAGEBUFFER */
+ YYSYMBOL_F16IMAGE2DMS = 255, /* F16IMAGE2DMS */
+ YYSYMBOL_F16IMAGE2DMSARRAY = 256, /* F16IMAGE2DMSARRAY */
+ YYSYMBOL_I64IMAGE1D = 257, /* I64IMAGE1D */
+ YYSYMBOL_U64IMAGE1D = 258, /* U64IMAGE1D */
+ YYSYMBOL_I64IMAGE2D = 259, /* I64IMAGE2D */
+ YYSYMBOL_U64IMAGE2D = 260, /* U64IMAGE2D */
+ YYSYMBOL_I64IMAGE3D = 261, /* I64IMAGE3D */
+ YYSYMBOL_U64IMAGE3D = 262, /* U64IMAGE3D */
+ YYSYMBOL_I64IMAGE2DRECT = 263, /* I64IMAGE2DRECT */
+ YYSYMBOL_U64IMAGE2DRECT = 264, /* U64IMAGE2DRECT */
+ YYSYMBOL_I64IMAGECUBE = 265, /* I64IMAGECUBE */
+ YYSYMBOL_U64IMAGECUBE = 266, /* U64IMAGECUBE */
+ YYSYMBOL_I64IMAGEBUFFER = 267, /* I64IMAGEBUFFER */
+ YYSYMBOL_U64IMAGEBUFFER = 268, /* U64IMAGEBUFFER */
+ YYSYMBOL_I64IMAGE1DARRAY = 269, /* I64IMAGE1DARRAY */
+ YYSYMBOL_U64IMAGE1DARRAY = 270, /* U64IMAGE1DARRAY */
+ YYSYMBOL_I64IMAGE2DARRAY = 271, /* I64IMAGE2DARRAY */
+ YYSYMBOL_U64IMAGE2DARRAY = 272, /* U64IMAGE2DARRAY */
+ YYSYMBOL_I64IMAGECUBEARRAY = 273, /* I64IMAGECUBEARRAY */
+ YYSYMBOL_U64IMAGECUBEARRAY = 274, /* U64IMAGECUBEARRAY */
+ YYSYMBOL_I64IMAGE2DMS = 275, /* I64IMAGE2DMS */
+ YYSYMBOL_U64IMAGE2DMS = 276, /* U64IMAGE2DMS */
+ YYSYMBOL_I64IMAGE2DMSARRAY = 277, /* I64IMAGE2DMSARRAY */
+ YYSYMBOL_U64IMAGE2DMSARRAY = 278, /* U64IMAGE2DMSARRAY */
+ YYSYMBOL_TEXTURECUBEARRAY = 279, /* TEXTURECUBEARRAY */
+ YYSYMBOL_ITEXTURECUBEARRAY = 280, /* ITEXTURECUBEARRAY */
+ YYSYMBOL_UTEXTURECUBEARRAY = 281, /* UTEXTURECUBEARRAY */
+ YYSYMBOL_TEXTURE1D = 282, /* TEXTURE1D */
+ YYSYMBOL_ITEXTURE1D = 283, /* ITEXTURE1D */
+ YYSYMBOL_UTEXTURE1D = 284, /* UTEXTURE1D */
+ YYSYMBOL_TEXTURE1DARRAY = 285, /* TEXTURE1DARRAY */
+ YYSYMBOL_ITEXTURE1DARRAY = 286, /* ITEXTURE1DARRAY */
+ YYSYMBOL_UTEXTURE1DARRAY = 287, /* UTEXTURE1DARRAY */
+ YYSYMBOL_TEXTURE2DRECT = 288, /* TEXTURE2DRECT */
+ YYSYMBOL_ITEXTURE2DRECT = 289, /* ITEXTURE2DRECT */
+ YYSYMBOL_UTEXTURE2DRECT = 290, /* UTEXTURE2DRECT */
+ YYSYMBOL_TEXTUREBUFFER = 291, /* TEXTUREBUFFER */
+ YYSYMBOL_ITEXTUREBUFFER = 292, /* ITEXTUREBUFFER */
+ YYSYMBOL_UTEXTUREBUFFER = 293, /* UTEXTUREBUFFER */
+ YYSYMBOL_TEXTURE2DMS = 294, /* TEXTURE2DMS */
+ YYSYMBOL_ITEXTURE2DMS = 295, /* ITEXTURE2DMS */
+ YYSYMBOL_UTEXTURE2DMS = 296, /* UTEXTURE2DMS */
+ YYSYMBOL_TEXTURE2DMSARRAY = 297, /* TEXTURE2DMSARRAY */
+ YYSYMBOL_ITEXTURE2DMSARRAY = 298, /* ITEXTURE2DMSARRAY */
+ YYSYMBOL_UTEXTURE2DMSARRAY = 299, /* UTEXTURE2DMSARRAY */
+ YYSYMBOL_F16TEXTURE1D = 300, /* F16TEXTURE1D */
+ YYSYMBOL_F16TEXTURE2D = 301, /* F16TEXTURE2D */
+ YYSYMBOL_F16TEXTURE3D = 302, /* F16TEXTURE3D */
+ YYSYMBOL_F16TEXTURE2DRECT = 303, /* F16TEXTURE2DRECT */
+ YYSYMBOL_F16TEXTURECUBE = 304, /* F16TEXTURECUBE */
+ YYSYMBOL_F16TEXTURE1DARRAY = 305, /* F16TEXTURE1DARRAY */
+ YYSYMBOL_F16TEXTURE2DARRAY = 306, /* F16TEXTURE2DARRAY */
+ YYSYMBOL_F16TEXTURECUBEARRAY = 307, /* F16TEXTURECUBEARRAY */
+ YYSYMBOL_F16TEXTUREBUFFER = 308, /* F16TEXTUREBUFFER */
+ YYSYMBOL_F16TEXTURE2DMS = 309, /* F16TEXTURE2DMS */
+ YYSYMBOL_F16TEXTURE2DMSARRAY = 310, /* F16TEXTURE2DMSARRAY */
+ YYSYMBOL_SUBPASSINPUT = 311, /* SUBPASSINPUT */
+ YYSYMBOL_SUBPASSINPUTMS = 312, /* SUBPASSINPUTMS */
+ YYSYMBOL_ISUBPASSINPUT = 313, /* ISUBPASSINPUT */
+ YYSYMBOL_ISUBPASSINPUTMS = 314, /* ISUBPASSINPUTMS */
+ YYSYMBOL_USUBPASSINPUT = 315, /* USUBPASSINPUT */
+ YYSYMBOL_USUBPASSINPUTMS = 316, /* USUBPASSINPUTMS */
+ YYSYMBOL_F16SUBPASSINPUT = 317, /* F16SUBPASSINPUT */
+ YYSYMBOL_F16SUBPASSINPUTMS = 318, /* F16SUBPASSINPUTMS */
+ YYSYMBOL_SPIRV_INSTRUCTION = 319, /* SPIRV_INSTRUCTION */
+ YYSYMBOL_SPIRV_EXECUTION_MODE = 320, /* SPIRV_EXECUTION_MODE */
+ YYSYMBOL_SPIRV_EXECUTION_MODE_ID = 321, /* SPIRV_EXECUTION_MODE_ID */
+ YYSYMBOL_SPIRV_DECORATE = 322, /* SPIRV_DECORATE */
+ YYSYMBOL_SPIRV_DECORATE_ID = 323, /* SPIRV_DECORATE_ID */
+ YYSYMBOL_SPIRV_DECORATE_STRING = 324, /* SPIRV_DECORATE_STRING */
+ YYSYMBOL_SPIRV_TYPE = 325, /* SPIRV_TYPE */
+ YYSYMBOL_SPIRV_STORAGE_CLASS = 326, /* SPIRV_STORAGE_CLASS */
+ YYSYMBOL_SPIRV_BY_REFERENCE = 327, /* SPIRV_BY_REFERENCE */
+ YYSYMBOL_SPIRV_LITERAL = 328, /* SPIRV_LITERAL */
+ YYSYMBOL_LEFT_OP = 329, /* LEFT_OP */
+ YYSYMBOL_RIGHT_OP = 330, /* RIGHT_OP */
+ YYSYMBOL_INC_OP = 331, /* INC_OP */
+ YYSYMBOL_DEC_OP = 332, /* DEC_OP */
+ YYSYMBOL_LE_OP = 333, /* LE_OP */
+ YYSYMBOL_GE_OP = 334, /* GE_OP */
+ YYSYMBOL_EQ_OP = 335, /* EQ_OP */
+ YYSYMBOL_NE_OP = 336, /* NE_OP */
+ YYSYMBOL_AND_OP = 337, /* AND_OP */
+ YYSYMBOL_OR_OP = 338, /* OR_OP */
+ YYSYMBOL_XOR_OP = 339, /* XOR_OP */
+ YYSYMBOL_MUL_ASSIGN = 340, /* MUL_ASSIGN */
+ YYSYMBOL_DIV_ASSIGN = 341, /* DIV_ASSIGN */
+ YYSYMBOL_ADD_ASSIGN = 342, /* ADD_ASSIGN */
+ YYSYMBOL_MOD_ASSIGN = 343, /* MOD_ASSIGN */
+ YYSYMBOL_LEFT_ASSIGN = 344, /* LEFT_ASSIGN */
+ YYSYMBOL_RIGHT_ASSIGN = 345, /* RIGHT_ASSIGN */
+ YYSYMBOL_AND_ASSIGN = 346, /* AND_ASSIGN */
+ YYSYMBOL_XOR_ASSIGN = 347, /* XOR_ASSIGN */
+ YYSYMBOL_OR_ASSIGN = 348, /* OR_ASSIGN */
+ YYSYMBOL_SUB_ASSIGN = 349, /* SUB_ASSIGN */
+ YYSYMBOL_STRING_LITERAL = 350, /* STRING_LITERAL */
+ YYSYMBOL_LEFT_PAREN = 351, /* LEFT_PAREN */
+ YYSYMBOL_RIGHT_PAREN = 352, /* RIGHT_PAREN */
+ YYSYMBOL_LEFT_BRACKET = 353, /* LEFT_BRACKET */
+ YYSYMBOL_RIGHT_BRACKET = 354, /* RIGHT_BRACKET */
+ YYSYMBOL_LEFT_BRACE = 355, /* LEFT_BRACE */
+ YYSYMBOL_RIGHT_BRACE = 356, /* RIGHT_BRACE */
+ YYSYMBOL_DOT = 357, /* DOT */
+ YYSYMBOL_COMMA = 358, /* COMMA */
+ YYSYMBOL_COLON = 359, /* COLON */
+ YYSYMBOL_EQUAL = 360, /* EQUAL */
+ YYSYMBOL_SEMICOLON = 361, /* SEMICOLON */
+ YYSYMBOL_BANG = 362, /* BANG */
+ YYSYMBOL_DASH = 363, /* DASH */
+ YYSYMBOL_TILDE = 364, /* TILDE */
+ YYSYMBOL_PLUS = 365, /* PLUS */
+ YYSYMBOL_STAR = 366, /* STAR */
+ YYSYMBOL_SLASH = 367, /* SLASH */
+ YYSYMBOL_PERCENT = 368, /* PERCENT */
+ YYSYMBOL_LEFT_ANGLE = 369, /* LEFT_ANGLE */
+ YYSYMBOL_RIGHT_ANGLE = 370, /* RIGHT_ANGLE */
+ YYSYMBOL_VERTICAL_BAR = 371, /* VERTICAL_BAR */
+ YYSYMBOL_CARET = 372, /* CARET */
+ YYSYMBOL_AMPERSAND = 373, /* AMPERSAND */
+ YYSYMBOL_QUESTION = 374, /* QUESTION */
+ YYSYMBOL_INVARIANT = 375, /* INVARIANT */
+ YYSYMBOL_HIGH_PRECISION = 376, /* HIGH_PRECISION */
+ YYSYMBOL_MEDIUM_PRECISION = 377, /* MEDIUM_PRECISION */
+ YYSYMBOL_LOW_PRECISION = 378, /* LOW_PRECISION */
+ YYSYMBOL_PRECISION = 379, /* PRECISION */
+ YYSYMBOL_PACKED = 380, /* PACKED */
+ YYSYMBOL_RESOURCE = 381, /* RESOURCE */
+ YYSYMBOL_SUPERP = 382, /* SUPERP */
+ YYSYMBOL_FLOATCONSTANT = 383, /* FLOATCONSTANT */
+ YYSYMBOL_INTCONSTANT = 384, /* INTCONSTANT */
+ YYSYMBOL_UINTCONSTANT = 385, /* UINTCONSTANT */
+ YYSYMBOL_BOOLCONSTANT = 386, /* BOOLCONSTANT */
+ YYSYMBOL_IDENTIFIER = 387, /* IDENTIFIER */
+ YYSYMBOL_TYPE_NAME = 388, /* TYPE_NAME */
+ YYSYMBOL_CENTROID = 389, /* CENTROID */
+ YYSYMBOL_IN = 390, /* IN */
+ YYSYMBOL_OUT = 391, /* OUT */
+ YYSYMBOL_INOUT = 392, /* INOUT */
+ YYSYMBOL_STRUCT = 393, /* STRUCT */
+ YYSYMBOL_VOID = 394, /* VOID */
+ YYSYMBOL_WHILE = 395, /* WHILE */
+ YYSYMBOL_BREAK = 396, /* BREAK */
+ YYSYMBOL_CONTINUE = 397, /* CONTINUE */
+ YYSYMBOL_DO = 398, /* DO */
+ YYSYMBOL_ELSE = 399, /* ELSE */
+ YYSYMBOL_FOR = 400, /* FOR */
+ YYSYMBOL_IF = 401, /* IF */
+ YYSYMBOL_DISCARD = 402, /* DISCARD */
+ YYSYMBOL_RETURN = 403, /* RETURN */
+ YYSYMBOL_SWITCH = 404, /* SWITCH */
+ YYSYMBOL_CASE = 405, /* CASE */
+ YYSYMBOL_DEFAULT = 406, /* DEFAULT */
+ YYSYMBOL_TERMINATE_INVOCATION = 407, /* TERMINATE_INVOCATION */
+ YYSYMBOL_TERMINATE_RAY = 408, /* TERMINATE_RAY */
+ YYSYMBOL_IGNORE_INTERSECTION = 409, /* IGNORE_INTERSECTION */
+ YYSYMBOL_UNIFORM = 410, /* UNIFORM */
+ YYSYMBOL_SHARED = 411, /* SHARED */
+ YYSYMBOL_BUFFER = 412, /* BUFFER */
+ YYSYMBOL_FLAT = 413, /* FLAT */
+ YYSYMBOL_SMOOTH = 414, /* SMOOTH */
+ YYSYMBOL_LAYOUT = 415, /* LAYOUT */
+ YYSYMBOL_DOUBLECONSTANT = 416, /* DOUBLECONSTANT */
+ YYSYMBOL_INT16CONSTANT = 417, /* INT16CONSTANT */
+ YYSYMBOL_UINT16CONSTANT = 418, /* UINT16CONSTANT */
+ YYSYMBOL_FLOAT16CONSTANT = 419, /* FLOAT16CONSTANT */
+ YYSYMBOL_INT32CONSTANT = 420, /* INT32CONSTANT */
+ YYSYMBOL_UINT32CONSTANT = 421, /* UINT32CONSTANT */
+ YYSYMBOL_INT64CONSTANT = 422, /* INT64CONSTANT */
+ YYSYMBOL_UINT64CONSTANT = 423, /* UINT64CONSTANT */
+ YYSYMBOL_SUBROUTINE = 424, /* SUBROUTINE */
+ YYSYMBOL_DEMOTE = 425, /* DEMOTE */
+ YYSYMBOL_PAYLOADNV = 426, /* PAYLOADNV */
+ YYSYMBOL_PAYLOADINNV = 427, /* PAYLOADINNV */
+ YYSYMBOL_HITATTRNV = 428, /* HITATTRNV */
+ YYSYMBOL_CALLDATANV = 429, /* CALLDATANV */
+ YYSYMBOL_CALLDATAINNV = 430, /* CALLDATAINNV */
+ YYSYMBOL_PAYLOADEXT = 431, /* PAYLOADEXT */
+ YYSYMBOL_PAYLOADINEXT = 432, /* PAYLOADINEXT */
+ YYSYMBOL_HITATTREXT = 433, /* HITATTREXT */
+ YYSYMBOL_CALLDATAEXT = 434, /* CALLDATAEXT */
+ YYSYMBOL_CALLDATAINEXT = 435, /* CALLDATAINEXT */
+ YYSYMBOL_PATCH = 436, /* PATCH */
+ YYSYMBOL_SAMPLE = 437, /* SAMPLE */
+ YYSYMBOL_NONUNIFORM = 438, /* NONUNIFORM */
+ YYSYMBOL_COHERENT = 439, /* COHERENT */
+ YYSYMBOL_VOLATILE = 440, /* VOLATILE */
+ YYSYMBOL_RESTRICT = 441, /* RESTRICT */
+ YYSYMBOL_READONLY = 442, /* READONLY */
+ YYSYMBOL_WRITEONLY = 443, /* WRITEONLY */
+ YYSYMBOL_DEVICECOHERENT = 444, /* DEVICECOHERENT */
+ YYSYMBOL_QUEUEFAMILYCOHERENT = 445, /* QUEUEFAMILYCOHERENT */
+ YYSYMBOL_WORKGROUPCOHERENT = 446, /* WORKGROUPCOHERENT */
+ YYSYMBOL_SUBGROUPCOHERENT = 447, /* SUBGROUPCOHERENT */
+ YYSYMBOL_NONPRIVATE = 448, /* NONPRIVATE */
+ YYSYMBOL_SHADERCALLCOHERENT = 449, /* SHADERCALLCOHERENT */
+ YYSYMBOL_NOPERSPECTIVE = 450, /* NOPERSPECTIVE */
+ YYSYMBOL_EXPLICITINTERPAMD = 451, /* EXPLICITINTERPAMD */
+ YYSYMBOL_PERVERTEXEXT = 452, /* PERVERTEXEXT */
+ YYSYMBOL_PERVERTEXNV = 453, /* PERVERTEXNV */
+ YYSYMBOL_PERPRIMITIVENV = 454, /* PERPRIMITIVENV */
+ YYSYMBOL_PERVIEWNV = 455, /* PERVIEWNV */
+ YYSYMBOL_PERTASKNV = 456, /* PERTASKNV */
+ YYSYMBOL_PERPRIMITIVEEXT = 457, /* PERPRIMITIVEEXT */
+ YYSYMBOL_TASKPAYLOADWORKGROUPEXT = 458, /* TASKPAYLOADWORKGROUPEXT */
+ YYSYMBOL_PRECISE = 459, /* PRECISE */
+ YYSYMBOL_YYACCEPT = 460, /* $accept */
+ YYSYMBOL_variable_identifier = 461, /* variable_identifier */
+ YYSYMBOL_primary_expression = 462, /* primary_expression */
+ YYSYMBOL_postfix_expression = 463, /* postfix_expression */
+ YYSYMBOL_integer_expression = 464, /* integer_expression */
+ YYSYMBOL_function_call = 465, /* function_call */
+ YYSYMBOL_function_call_or_method = 466, /* function_call_or_method */
+ YYSYMBOL_function_call_generic = 467, /* function_call_generic */
+ YYSYMBOL_function_call_header_no_parameters = 468, /* function_call_header_no_parameters */
+ YYSYMBOL_function_call_header_with_parameters = 469, /* function_call_header_with_parameters */
+ YYSYMBOL_function_call_header = 470, /* function_call_header */
+ YYSYMBOL_function_identifier = 471, /* function_identifier */
+ YYSYMBOL_unary_expression = 472, /* unary_expression */
+ YYSYMBOL_unary_operator = 473, /* unary_operator */
+ YYSYMBOL_multiplicative_expression = 474, /* multiplicative_expression */
+ YYSYMBOL_additive_expression = 475, /* additive_expression */
+ YYSYMBOL_shift_expression = 476, /* shift_expression */
+ YYSYMBOL_relational_expression = 477, /* relational_expression */
+ YYSYMBOL_equality_expression = 478, /* equality_expression */
+ YYSYMBOL_and_expression = 479, /* and_expression */
+ YYSYMBOL_exclusive_or_expression = 480, /* exclusive_or_expression */
+ YYSYMBOL_inclusive_or_expression = 481, /* inclusive_or_expression */
+ YYSYMBOL_logical_and_expression = 482, /* logical_and_expression */
+ YYSYMBOL_logical_xor_expression = 483, /* logical_xor_expression */
+ YYSYMBOL_logical_or_expression = 484, /* logical_or_expression */
+ YYSYMBOL_conditional_expression = 485, /* conditional_expression */
+ YYSYMBOL_486_1 = 486, /* $@1 */
+ YYSYMBOL_assignment_expression = 487, /* assignment_expression */
+ YYSYMBOL_assignment_operator = 488, /* assignment_operator */
+ YYSYMBOL_expression = 489, /* expression */
+ YYSYMBOL_constant_expression = 490, /* constant_expression */
+ YYSYMBOL_declaration = 491, /* declaration */
+ YYSYMBOL_block_structure = 492, /* block_structure */
+ YYSYMBOL_493_2 = 493, /* $@2 */
+ YYSYMBOL_identifier_list = 494, /* identifier_list */
+ YYSYMBOL_function_prototype = 495, /* function_prototype */
+ YYSYMBOL_function_declarator = 496, /* function_declarator */
+ YYSYMBOL_function_header_with_parameters = 497, /* function_header_with_parameters */
+ YYSYMBOL_function_header = 498, /* function_header */
+ YYSYMBOL_parameter_declarator = 499, /* parameter_declarator */
+ YYSYMBOL_parameter_declaration = 500, /* parameter_declaration */
+ YYSYMBOL_parameter_type_specifier = 501, /* parameter_type_specifier */
+ YYSYMBOL_init_declarator_list = 502, /* init_declarator_list */
+ YYSYMBOL_single_declaration = 503, /* single_declaration */
+ YYSYMBOL_fully_specified_type = 504, /* fully_specified_type */
+ YYSYMBOL_invariant_qualifier = 505, /* invariant_qualifier */
+ YYSYMBOL_interpolation_qualifier = 506, /* interpolation_qualifier */
+ YYSYMBOL_layout_qualifier = 507, /* layout_qualifier */
+ YYSYMBOL_layout_qualifier_id_list = 508, /* layout_qualifier_id_list */
+ YYSYMBOL_layout_qualifier_id = 509, /* layout_qualifier_id */
+ YYSYMBOL_precise_qualifier = 510, /* precise_qualifier */
+ YYSYMBOL_type_qualifier = 511, /* type_qualifier */
+ YYSYMBOL_single_type_qualifier = 512, /* single_type_qualifier */
+ YYSYMBOL_storage_qualifier = 513, /* storage_qualifier */
+ YYSYMBOL_non_uniform_qualifier = 514, /* non_uniform_qualifier */
+ YYSYMBOL_type_name_list = 515, /* type_name_list */
+ YYSYMBOL_type_specifier = 516, /* type_specifier */
+ YYSYMBOL_array_specifier = 517, /* array_specifier */
+ YYSYMBOL_type_parameter_specifier_opt = 518, /* type_parameter_specifier_opt */
+ YYSYMBOL_type_parameter_specifier = 519, /* type_parameter_specifier */
+ YYSYMBOL_type_parameter_specifier_list = 520, /* type_parameter_specifier_list */
+ YYSYMBOL_type_specifier_nonarray = 521, /* type_specifier_nonarray */
+ YYSYMBOL_precision_qualifier = 522, /* precision_qualifier */
+ YYSYMBOL_struct_specifier = 523, /* struct_specifier */
+ YYSYMBOL_524_3 = 524, /* $@3 */
+ YYSYMBOL_525_4 = 525, /* $@4 */
+ YYSYMBOL_struct_declaration_list = 526, /* struct_declaration_list */
+ YYSYMBOL_struct_declaration = 527, /* struct_declaration */
+ YYSYMBOL_struct_declarator_list = 528, /* struct_declarator_list */
+ YYSYMBOL_struct_declarator = 529, /* struct_declarator */
+ YYSYMBOL_initializer = 530, /* initializer */
+ YYSYMBOL_initializer_list = 531, /* initializer_list */
+ YYSYMBOL_declaration_statement = 532, /* declaration_statement */
+ YYSYMBOL_statement = 533, /* statement */
+ YYSYMBOL_simple_statement = 534, /* simple_statement */
+ YYSYMBOL_demote_statement = 535, /* demote_statement */
+ YYSYMBOL_compound_statement = 536, /* compound_statement */
+ YYSYMBOL_537_5 = 537, /* $@5 */
+ YYSYMBOL_538_6 = 538, /* $@6 */
+ YYSYMBOL_statement_no_new_scope = 539, /* statement_no_new_scope */
+ YYSYMBOL_statement_scoped = 540, /* statement_scoped */
+ YYSYMBOL_541_7 = 541, /* $@7 */
+ YYSYMBOL_542_8 = 542, /* $@8 */
+ YYSYMBOL_compound_statement_no_new_scope = 543, /* compound_statement_no_new_scope */
+ YYSYMBOL_statement_list = 544, /* statement_list */
+ YYSYMBOL_expression_statement = 545, /* expression_statement */
+ YYSYMBOL_selection_statement = 546, /* selection_statement */
+ YYSYMBOL_selection_statement_nonattributed = 547, /* selection_statement_nonattributed */
+ YYSYMBOL_selection_rest_statement = 548, /* selection_rest_statement */
+ YYSYMBOL_condition = 549, /* condition */
+ YYSYMBOL_switch_statement = 550, /* switch_statement */
+ YYSYMBOL_switch_statement_nonattributed = 551, /* switch_statement_nonattributed */
+ YYSYMBOL_552_9 = 552, /* $@9 */
+ YYSYMBOL_switch_statement_list = 553, /* switch_statement_list */
+ YYSYMBOL_case_label = 554, /* case_label */
+ YYSYMBOL_iteration_statement = 555, /* iteration_statement */
+ YYSYMBOL_iteration_statement_nonattributed = 556, /* iteration_statement_nonattributed */
+ YYSYMBOL_557_10 = 557, /* $@10 */
+ YYSYMBOL_558_11 = 558, /* $@11 */
+ YYSYMBOL_559_12 = 559, /* $@12 */
+ YYSYMBOL_for_init_statement = 560, /* for_init_statement */
+ YYSYMBOL_conditionopt = 561, /* conditionopt */
+ YYSYMBOL_for_rest_statement = 562, /* for_rest_statement */
+ YYSYMBOL_jump_statement = 563, /* jump_statement */
+ YYSYMBOL_translation_unit = 564, /* translation_unit */
+ YYSYMBOL_external_declaration = 565, /* external_declaration */
+ YYSYMBOL_function_definition = 566, /* function_definition */
+ YYSYMBOL_567_13 = 567, /* $@13 */
+ YYSYMBOL_attribute = 568, /* attribute */
+ YYSYMBOL_attribute_list = 569, /* attribute_list */
+ YYSYMBOL_single_attribute = 570, /* single_attribute */
+ YYSYMBOL_spirv_requirements_list = 571, /* spirv_requirements_list */
+ YYSYMBOL_spirv_requirements_parameter = 572, /* spirv_requirements_parameter */
+ YYSYMBOL_spirv_extension_list = 573, /* spirv_extension_list */
+ YYSYMBOL_spirv_capability_list = 574, /* spirv_capability_list */
+ YYSYMBOL_spirv_execution_mode_qualifier = 575, /* spirv_execution_mode_qualifier */
+ YYSYMBOL_spirv_execution_mode_parameter_list = 576, /* spirv_execution_mode_parameter_list */
+ YYSYMBOL_spirv_execution_mode_parameter = 577, /* spirv_execution_mode_parameter */
+ YYSYMBOL_spirv_execution_mode_id_parameter_list = 578, /* spirv_execution_mode_id_parameter_list */
+ YYSYMBOL_spirv_storage_class_qualifier = 579, /* spirv_storage_class_qualifier */
+ YYSYMBOL_spirv_decorate_qualifier = 580, /* spirv_decorate_qualifier */
+ YYSYMBOL_spirv_decorate_parameter_list = 581, /* spirv_decorate_parameter_list */
+ YYSYMBOL_spirv_decorate_parameter = 582, /* spirv_decorate_parameter */
+ YYSYMBOL_spirv_decorate_id_parameter_list = 583, /* spirv_decorate_id_parameter_list */
+ YYSYMBOL_spirv_decorate_string_parameter_list = 584, /* spirv_decorate_string_parameter_list */
+ YYSYMBOL_spirv_type_specifier = 585, /* spirv_type_specifier */
+ YYSYMBOL_spirv_type_parameter_list = 586, /* spirv_type_parameter_list */
+ YYSYMBOL_spirv_type_parameter = 587, /* spirv_type_parameter */
+ YYSYMBOL_spirv_instruction_qualifier = 588, /* spirv_instruction_qualifier */
+ YYSYMBOL_spirv_instruction_qualifier_list = 589, /* spirv_instruction_qualifier_list */
+ YYSYMBOL_spirv_instruction_qualifier_id = 590 /* spirv_instruction_qualifier_id */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -731,7 +733,7 @@ typedef enum yysymbol_kind_t yysymbol_kind_t;
extern int yylex(YYSTYPE*, TParseContext&);
-#line 735 "MachineIndependent/glslang_tab.cpp"
+#line 737 "MachineIndependent/glslang_tab.cpp"
#ifdef short
@@ -1035,21 +1037,21 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 445
+#define YYFINAL 447
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 12503
+#define YYLAST 12557
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 458
+#define YYNTOKENS 460
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 131
/* YYNRULES -- Number of rules. */
-#define YYNRULES 686
+#define YYNRULES 688
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 932
+#define YYNSTATES 934
/* YYMAXUTOK -- Last valid token kind. */
-#define YYMAXUTOK 712
+#define YYMAXUTOK 714
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -1134,82 +1136,82 @@ static const yytype_int16 yytranslate[] =
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457
+ 455, 456, 457, 458, 459
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 392, 392, 398, 401, 406, 409, 412, 416, 420,
- 423, 427, 431, 435, 439, 443, 447, 453, 461, 464,
- 467, 470, 473, 478, 486, 493, 500, 506, 510, 517,
- 520, 526, 533, 543, 551, 556, 584, 593, 599, 603,
- 607, 627, 628, 629, 630, 636, 637, 642, 647, 656,
- 657, 662, 670, 671, 677, 686, 687, 692, 697, 702,
- 710, 711, 720, 732, 733, 742, 743, 752, 753, 762,
- 763, 771, 772, 780, 781, 789, 790, 790, 808, 809,
- 825, 829, 833, 837, 842, 846, 850, 854, 858, 862,
- 866, 873, 876, 887, 894, 900, 907, 913, 918, 925,
- 929, 933, 937, 942, 947, 956, 956, 967, 971, 978,
- 982, 988, 994, 1004, 1007, 1014, 1022, 1042, 1065, 1080,
- 1105, 1116, 1126, 1136, 1146, 1155, 1158, 1162, 1166, 1171,
- 1179, 1186, 1191, 1196, 1201, 1210, 1220, 1247, 1256, 1263,
- 1271, 1278, 1285, 1293, 1301, 1311, 1321, 1328, 1339, 1345,
- 1348, 1355, 1359, 1363, 1372, 1382, 1385, 1396, 1399, 1402,
- 1406, 1410, 1415, 1419, 1422, 1427, 1431, 1436, 1445, 1449,
- 1454, 1460, 1466, 1473, 1478, 1486, 1492, 1504, 1518, 1524,
- 1529, 1537, 1545, 1553, 1561, 1569, 1577, 1585, 1593, 1600,
- 1607, 1611, 1616, 1621, 1626, 1631, 1636, 1641, 1645, 1649,
- 1653, 1657, 1663, 1669, 1681, 1688, 1691, 1700, 1705, 1715,
- 1720, 1728, 1732, 1742, 1745, 1751, 1757, 1764, 1774, 1778,
- 1782, 1786, 1791, 1795, 1800, 1805, 1810, 1815, 1820, 1825,
- 1830, 1835, 1840, 1846, 1852, 1858, 1863, 1868, 1873, 1878,
- 1883, 1888, 1893, 1898, 1903, 1908, 1913, 1919, 1926, 1931,
- 1936, 1941, 1946, 1951, 1956, 1961, 1966, 1971, 1976, 1981,
- 1989, 1997, 2005, 2011, 2017, 2023, 2029, 2035, 2041, 2047,
- 2053, 2059, 2065, 2071, 2077, 2083, 2089, 2095, 2101, 2107,
- 2113, 2119, 2125, 2131, 2137, 2143, 2149, 2155, 2161, 2167,
- 2173, 2179, 2185, 2191, 2197, 2203, 2211, 2219, 2227, 2235,
- 2243, 2251, 2259, 2267, 2275, 2283, 2291, 2299, 2305, 2311,
- 2317, 2323, 2329, 2335, 2341, 2347, 2353, 2359, 2365, 2371,
- 2377, 2383, 2389, 2395, 2401, 2407, 2413, 2419, 2425, 2431,
- 2437, 2443, 2449, 2455, 2461, 2467, 2473, 2479, 2485, 2491,
- 2497, 2503, 2509, 2515, 2519, 2523, 2527, 2532, 2538, 2543,
- 2548, 2553, 2558, 2563, 2568, 2574, 2579, 2584, 2589, 2594,
- 2599, 2605, 2611, 2617, 2623, 2629, 2635, 2641, 2647, 2653,
- 2659, 2665, 2671, 2677, 2683, 2688, 2693, 2698, 2703, 2708,
- 2713, 2719, 2724, 2729, 2734, 2739, 2744, 2749, 2754, 2760,
- 2765, 2770, 2775, 2780, 2785, 2790, 2795, 2800, 2805, 2810,
- 2815, 2820, 2825, 2830, 2836, 2841, 2846, 2852, 2858, 2863,
- 2868, 2873, 2879, 2884, 2889, 2894, 2900, 2905, 2910, 2915,
- 2921, 2926, 2931, 2936, 2942, 2948, 2954, 2960, 2965, 2971,
- 2977, 2983, 2988, 2993, 2998, 3003, 3008, 3014, 3019, 3024,
- 3029, 3035, 3040, 3045, 3050, 3056, 3061, 3066, 3071, 3077,
- 3082, 3087, 3092, 3098, 3103, 3108, 3113, 3119, 3124, 3129,
- 3134, 3140, 3145, 3150, 3155, 3161, 3166, 3171, 3176, 3182,
- 3187, 3192, 3197, 3203, 3208, 3213, 3218, 3224, 3229, 3234,
- 3239, 3245, 3250, 3255, 3260, 3266, 3271, 3276, 3281, 3287,
- 3292, 3297, 3302, 3308, 3313, 3318, 3323, 3328, 3333, 3338,
- 3343, 3348, 3353, 3358, 3363, 3368, 3373, 3378, 3383, 3388,
- 3393, 3398, 3403, 3408, 3413, 3418, 3423, 3428, 3434, 3440,
- 3446, 3452, 3459, 3466, 3472, 3478, 3484, 3490, 3496, 3502,
- 3508, 3513, 3518, 3534, 3539, 3544, 3552, 3552, 3563, 3563,
- 3573, 3576, 3589, 3611, 3638, 3642, 3648, 3653, 3664, 3668,
- 3674, 3680, 3691, 3694, 3701, 3705, 3706, 3712, 3713, 3714,
- 3715, 3716, 3717, 3718, 3720, 3726, 3735, 3736, 3740, 3736,
- 3752, 3753, 3757, 3757, 3764, 3764, 3778, 3781, 3789, 3797,
- 3808, 3809, 3813, 3817, 3825, 3832, 3836, 3844, 3848, 3861,
- 3865, 3873, 3873, 3893, 3896, 3902, 3914, 3926, 3930, 3938,
- 3938, 3953, 3953, 3971, 3971, 3992, 3995, 4001, 4004, 4010,
- 4014, 4021, 4026, 4031, 4038, 4041, 4045, 4050, 4054, 4064,
- 4068, 4077, 4080, 4084, 4093, 4093, 4135, 4140, 4143, 4148,
- 4151, 4158, 4161, 4166, 4169, 4174, 4177, 4182, 4185, 4190,
- 4194, 4199, 4203, 4208, 4212, 4219, 4222, 4227, 4230, 4233,
- 4236, 4239, 4244, 4253, 4264, 4269, 4277, 4281, 4286, 4290,
- 4295, 4299, 4304, 4308, 4315, 4318, 4323, 4326, 4329, 4332,
- 4337, 4345, 4355, 4359, 4364, 4368, 4373, 4377, 4384, 4387,
- 4392, 4397, 4400, 4406, 4409, 4414, 4417
+ 0, 393, 393, 399, 402, 407, 410, 413, 417, 421,
+ 424, 428, 432, 436, 440, 444, 448, 454, 462, 465,
+ 468, 471, 474, 479, 487, 494, 501, 507, 511, 518,
+ 521, 527, 534, 544, 552, 557, 585, 594, 600, 604,
+ 608, 628, 629, 630, 631, 637, 638, 643, 648, 657,
+ 658, 663, 671, 672, 678, 687, 688, 693, 698, 703,
+ 711, 712, 721, 733, 734, 743, 744, 753, 754, 763,
+ 764, 772, 773, 781, 782, 790, 791, 791, 809, 810,
+ 826, 830, 834, 838, 843, 847, 851, 855, 859, 863,
+ 867, 874, 877, 888, 895, 901, 908, 914, 919, 926,
+ 930, 934, 938, 943, 948, 957, 957, 968, 972, 979,
+ 983, 989, 995, 1005, 1008, 1015, 1023, 1043, 1066, 1081,
+ 1106, 1117, 1127, 1137, 1147, 1156, 1159, 1163, 1167, 1172,
+ 1180, 1187, 1192, 1197, 1202, 1211, 1221, 1248, 1257, 1264,
+ 1272, 1279, 1286, 1294, 1302, 1312, 1322, 1329, 1340, 1346,
+ 1349, 1356, 1360, 1364, 1373, 1383, 1386, 1397, 1400, 1403,
+ 1407, 1411, 1416, 1420, 1423, 1428, 1432, 1437, 1446, 1450,
+ 1455, 1461, 1467, 1474, 1479, 1487, 1493, 1505, 1519, 1525,
+ 1530, 1538, 1546, 1554, 1562, 1570, 1578, 1586, 1594, 1602,
+ 1609, 1616, 1620, 1625, 1630, 1635, 1640, 1645, 1650, 1654,
+ 1658, 1662, 1666, 1672, 1678, 1690, 1697, 1700, 1709, 1714,
+ 1724, 1729, 1737, 1741, 1751, 1754, 1760, 1766, 1773, 1783,
+ 1787, 1791, 1795, 1800, 1804, 1809, 1814, 1819, 1824, 1829,
+ 1834, 1839, 1844, 1849, 1855, 1861, 1867, 1872, 1877, 1882,
+ 1887, 1892, 1897, 1902, 1907, 1912, 1917, 1922, 1928, 1935,
+ 1940, 1945, 1950, 1955, 1960, 1965, 1970, 1975, 1980, 1985,
+ 1990, 1998, 2006, 2014, 2020, 2026, 2032, 2038, 2044, 2050,
+ 2056, 2062, 2068, 2074, 2080, 2086, 2092, 2098, 2104, 2110,
+ 2116, 2122, 2128, 2134, 2140, 2146, 2152, 2158, 2164, 2170,
+ 2176, 2182, 2188, 2194, 2200, 2206, 2212, 2220, 2228, 2236,
+ 2244, 2252, 2260, 2268, 2276, 2284, 2292, 2300, 2308, 2314,
+ 2320, 2326, 2332, 2338, 2344, 2350, 2356, 2362, 2368, 2374,
+ 2380, 2386, 2392, 2398, 2404, 2410, 2416, 2422, 2428, 2434,
+ 2440, 2446, 2452, 2458, 2464, 2470, 2476, 2482, 2488, 2494,
+ 2500, 2506, 2512, 2518, 2524, 2528, 2532, 2536, 2541, 2547,
+ 2552, 2557, 2562, 2567, 2572, 2577, 2583, 2588, 2593, 2598,
+ 2603, 2608, 2614, 2620, 2626, 2632, 2638, 2644, 2650, 2656,
+ 2662, 2668, 2674, 2680, 2686, 2692, 2697, 2702, 2707, 2712,
+ 2717, 2722, 2728, 2733, 2738, 2743, 2748, 2753, 2758, 2763,
+ 2769, 2774, 2779, 2784, 2789, 2794, 2799, 2804, 2809, 2814,
+ 2819, 2824, 2829, 2834, 2839, 2845, 2850, 2855, 2861, 2867,
+ 2872, 2877, 2882, 2888, 2893, 2898, 2903, 2909, 2914, 2919,
+ 2924, 2930, 2935, 2940, 2945, 2951, 2957, 2963, 2969, 2974,
+ 2980, 2986, 2992, 2997, 3002, 3007, 3012, 3017, 3023, 3028,
+ 3033, 3038, 3044, 3049, 3054, 3059, 3065, 3070, 3075, 3080,
+ 3086, 3091, 3096, 3101, 3107, 3112, 3117, 3122, 3128, 3133,
+ 3138, 3143, 3149, 3154, 3159, 3164, 3170, 3175, 3180, 3185,
+ 3191, 3196, 3201, 3206, 3212, 3217, 3222, 3227, 3233, 3238,
+ 3243, 3248, 3254, 3259, 3264, 3269, 3275, 3280, 3285, 3290,
+ 3296, 3301, 3306, 3311, 3317, 3322, 3327, 3332, 3337, 3342,
+ 3347, 3352, 3357, 3362, 3367, 3372, 3377, 3382, 3387, 3392,
+ 3397, 3402, 3407, 3412, 3417, 3422, 3427, 3432, 3437, 3443,
+ 3449, 3455, 3461, 3468, 3475, 3481, 3487, 3493, 3499, 3505,
+ 3511, 3517, 3521, 3526, 3531, 3547, 3552, 3557, 3565, 3565,
+ 3576, 3576, 3586, 3589, 3602, 3624, 3651, 3655, 3661, 3666,
+ 3677, 3681, 3687, 3693, 3704, 3707, 3714, 3718, 3719, 3725,
+ 3726, 3727, 3728, 3729, 3730, 3731, 3733, 3739, 3748, 3749,
+ 3753, 3749, 3765, 3766, 3770, 3770, 3777, 3777, 3791, 3794,
+ 3802, 3810, 3821, 3822, 3826, 3830, 3838, 3845, 3849, 3857,
+ 3861, 3874, 3878, 3886, 3886, 3906, 3909, 3915, 3927, 3939,
+ 3943, 3951, 3951, 3966, 3966, 3984, 3984, 4005, 4008, 4014,
+ 4017, 4023, 4027, 4034, 4039, 4044, 4051, 4054, 4058, 4063,
+ 4067, 4077, 4081, 4090, 4093, 4097, 4106, 4106, 4148, 4153,
+ 4156, 4161, 4164, 4171, 4174, 4179, 4182, 4187, 4190, 4195,
+ 4198, 4203, 4207, 4212, 4216, 4221, 4225, 4232, 4235, 4240,
+ 4243, 4246, 4249, 4252, 4257, 4266, 4277, 4282, 4290, 4294,
+ 4299, 4303, 4308, 4312, 4317, 4321, 4328, 4331, 4336, 4339,
+ 4342, 4345, 4350, 4358, 4368, 4372, 4377, 4381, 4386, 4390,
+ 4397, 4400, 4405, 4410, 4413, 4419, 4422, 4427, 4430
};
#endif
@@ -1254,9 +1256,9 @@ static const char *const yytname[] =
"F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2", "F64MAT2X3",
"F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4", "F64MAT4X2",
"F64MAT4X3", "F64MAT4X4", "ATOMIC_UINT", "ACCSTRUCTNV", "ACCSTRUCTEXT",
- "RAYQUERYEXT", "FCOOPMATNV", "ICOOPMATNV", "UCOOPMATNV",
- "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW", "ISAMPLERCUBEARRAY",
- "USAMPLERCUBEARRAY", "SAMPLER1D", "SAMPLER1DARRAY",
+ "RAYQUERYEXT", "FCOOPMATNV", "ICOOPMATNV", "UCOOPMATNV", "HITOBJECTNV",
+ "HITOBJECTATTRNV", "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW",
+ "ISAMPLERCUBEARRAY", "USAMPLERCUBEARRAY", "SAMPLER1D", "SAMPLER1DARRAY",
"SAMPLER1DARRAYSHADOW", "ISAMPLER1D", "SAMPLER1DSHADOW", "SAMPLER2DRECT",
"SAMPLER2DRECTSHADOW", "ISAMPLER2DRECT", "USAMPLER2DRECT",
"SAMPLERBUFFER", "ISAMPLERBUFFER", "USAMPLERBUFFER", "SAMPLER2DMS",
@@ -1434,16 +1436,16 @@ static const yytype_int16 yytoknum[] =
675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
- 705, 706, 707, 708, 709, 710, 711, 712
+ 705, 706, 707, 708, 709, 710, 711, 712, 713, 714
};
#endif
-#define YYPACT_NINF (-813)
+#define YYPACT_NINF (-868)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-573)
+#define YYTABLE_NINF (-575)
#define yytable_value_is_error(Yyn) \
0
@@ -1452,100 +1454,100 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 4575, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -300, -272, -219, -123, -120,
- -118, -105, -87, -813, -813, -317, -813, -813, -813, -813,
- -813, -62, -813, -813, -813, -813, -813, -324, -813, -813,
- -813, -813, -813, -813, -76, -64, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -319, -260, -133, -174, 7760, -191, -813, -166, -813,
- -813, -813, -813, 5485, -813, -813, -813, -813, -61, -813,
- -813, 935, -813, -813, 7760, -39, -813, -813, -813, 5940,
- -50, -335, -267, -162, -152, -139, -50, -137, -46, 12111,
- -813, -29, -339, -43, -813, -268, -813, -27, -6, 7760,
- -813, -813, -813, 7760, -37, -36, -813, -298, -813, -237,
- -813, -813, 10812, -5, -813, -813, -813, 1, -33, 7760,
- -813, -4, -2, -3, -813, -236, -813, -227, -1, 3,
- 4, 5, -225, 6, 10, 12, 13, 14, 17, -223,
- 8, 18, 16, -304, -813, 21, 7760, -813, 19, -813,
- -222, -813, -813, -207, 9080, -813, -247, 1390, -813, -813,
- -813, -813, -813, -5, -270, -813, 9513, -250, -813, -22,
- -813, -132, 10812, 10812, -813, 10812, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -265, -813, -813, -813, 25,
- -204, 11245, 27, -813, 10812, -813, -813, -314, 30, -6,
- 33, -813, -315, -50, -813, 15, -813, -325, 32, -130,
- 10812, -129, -813, -146, -125, 10812, -124, 39, -119, -50,
- -813, 11678, -813, -115, 10812, 36, -46, -813, 7760, 20,
- 6395, -813, 7760, 10812, -813, -339, -813, 29, -813, -813,
- -47, -83, -59, -288, -18, -17, 22, 26, 54, 59,
- -309, 46, 9946, -813, 37, -813, -813, 50, 56, 58,
- -813, 72, 74, 65, 10379, 76, 10812, 69, 68, 73,
- 75, 77, -168, -813, -813, -82, -813, -260, 79, 82,
- -813, -813, -813, -813, -813, 1845, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, 5030, 30, 9513, -241, 8214,
- -813, -813, 9513, 7760, -813, 52, -813, -813, -813, -202,
- -813, -813, 10812, 55, -813, -813, 10812, 85, -813, -813,
- -813, 10812, -813, -813, -813, -310, -813, -813, -197, 81,
- -813, -813, -813, -813, -813, -813, -195, -813, -194, -813,
- -813, -190, 87, -813, -813, -813, -813, -169, -813, -167,
- -813, -165, 89, -813, -158, 90, -157, 81, -813, -156,
- -813, 91, 97, -813, -813, 20, -5, -77, -813, -813,
- -813, 6850, -813, -813, -813, 10812, 10812, 10812, 10812, 10812,
- 10812, 10812, 10812, 10812, 10812, 10812, 10812, 10812, 10812, 10812,
- 10812, 10812, 10812, 10812, -813, -813, -813, 96, -813, 2300,
- -813, -813, -813, 2300, -813, 10812, -813, -813, -49, 10812,
- -26, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, 10812, 10812, -813,
- -813, -813, -813, -813, -813, -813, 9513, -813, -813, -31,
- -813, 7305, -813, -813, 98, 95, -813, -813, -813, -813,
- -813, -172, -134, -813, -307, -813, -325, -813, -325, -813,
- 10812, 10812, -813, -146, -813, -146, -813, 10812, 10812, -813,
- 104, 39, -813, 11678, -813, 10812, -813, -813, -48, 30,
- 20, -813, -813, -813, -813, -813, -47, -47, -83, -83,
- -59, -59, -59, -59, -288, -288, -18, -17, 22, 26,
- 54, 59, 10812, -813, 2300, 4120, 60, 3665, -155, -813,
- -154, -813, -813, -813, -813, -813, 8647, -813, -813, -813,
- 106, -813, -15, -813, -147, -813, -145, -813, -144, -813,
- -143, -813, -142, -140, -813, -813, -813, -24, 101, 95,
- 71, 107, 110, -813, -813, 4120, 109, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, 10812, -813,
- 102, 2755, 10812, -813, 105, 113, 70, 112, 3210, -813,
- 115, -813, 9513, -813, -813, -813, -135, 10812, 2755, 109,
- -813, -813, 2300, -813, 111, 95, -813, -813, 2300, 117,
- -813, -813
+ 4593, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -296, -250, -233,
+ -225, -220, -203, -180, -178, -868, -868, -125, -868, -868,
+ -868, -868, -868, -60, -868, -868, -868, -868, -868, -329,
+ -868, -868, -868, -868, -868, -868, -156, -116, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -331, -313, -109, -94, 7792, -309, -868,
+ -106, -868, -868, -868, -868, 5507, -868, -868, -868, -868,
+ -98, -868, -868, 937, -868, -868, 7792, -124, -868, -868,
+ -868, 5964, -74, -288, -234, -154, -138, -137, -74, -127,
+ -68, 12163, -868, -32, -345, -61, -868, -307, -868, -17,
+ -13, 7792, -868, -868, -868, 7792, -57, -38, -868, -262,
+ -868, -223, -868, -868, 10858, -3, -868, -868, -868, 1,
+ -36, 7792, -868, -9, -6, -2, -868, -268, -868, -239,
+ -5, 3, 4, 5, -231, 6, 10, 12, 13, 14,
+ 17, -219, 8, 18, 16, -291, -868, -4, 7792, -868,
+ 19, -868, -216, -868, -868, -184, 9118, -868, -302, 1394,
+ -868, -868, -868, -868, -868, -3, -260, -868, 9553, -258,
+ -868, -29, -868, -218, 10858, 10858, -868, 10858, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -245, -868, -868,
+ -868, 25, -169, 11293, 27, -868, 10858, -868, -868, -308,
+ 29, -13, 32, -868, -316, -74, -868, -28, -868, -303,
+ 36, -126, 10858, -122, -868, -144, -121, 10858, -115, 15,
+ -114, -74, -868, 11728, -868, -108, 10858, 31, -68, -868,
+ 7792, -18, 6421, -868, 7792, 10858, -868, -345, -868, 20,
+ -868, -868, -46, -196, -1, -305, -264, 21, 26, 22,
+ 53, 52, -314, 38, 9988, -868, 43, -868, -868, 49,
+ 41, 48, -868, 66, 68, 62, 10423, 73, 10858, 67,
+ 64, 69, 72, 75, -185, -868, -868, -78, -868, -313,
+ 76, 77, -868, -868, -868, -868, -868, 1851, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, 5050, 29, 9553,
+ -249, 8248, -868, -868, 9553, 7792, -868, 42, -868, -868,
+ -868, -168, -868, -868, 10858, 47, -868, -868, 10858, 85,
+ -868, -868, -868, 10858, -868, -868, -868, -311, -868, -868,
+ -167, 78, -868, -868, -868, -868, -868, -868, -165, -868,
+ -160, -868, -868, -158, 81, -868, -868, -868, -868, -155,
+ -868, -153, -868, -150, 83, -868, -148, 84, -146, 78,
+ -868, -145, -868, 91, 93, -868, -868, -18, -3, -51,
+ -868, -868, -868, 6878, -868, -868, -868, 10858, 10858, 10858,
+ 10858, 10858, 10858, 10858, 10858, 10858, 10858, 10858, 10858, 10858,
+ 10858, 10858, 10858, 10858, 10858, 10858, -868, -868, -868, 94,
+ -868, 2308, -868, -868, -868, 2308, -868, 10858, -868, -868,
+ -49, 10858, -25, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, 10858,
+ 10858, -868, -868, -868, -868, -868, -868, -868, 9553, -868,
+ -868, -71, -868, 7335, -868, -868, 95, 89, -868, -868,
+ -868, -868, -868, -244, -213, -868, -306, -868, -303, -868,
+ -303, -868, 10858, 10858, -868, -144, -868, -144, -868, 10858,
+ 10858, -868, 100, 15, -868, 11728, -868, 10858, -868, -868,
+ -47, 29, -18, -868, -868, -868, -868, -868, -46, -46,
+ -196, -196, -1, -1, -1, -1, -305, -305, -264, 21,
+ 26, 22, 53, 52, 10858, -868, 2308, 4136, 57, 3679,
+ -143, -868, -141, -868, -868, -868, -868, -868, 8683, -868,
+ -868, -868, 103, -868, 70, -868, -136, -868, -134, -868,
+ -133, -868, -132, -868, -131, -129, -868, -868, -868, -23,
+ 99, 89, 71, 104, 106, -868, -868, 4136, 107, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ 10858, -868, 105, 2765, 10858, -868, 98, 111, 65, 112,
+ 3222, -868, 113, -868, 9553, -868, -868, -868, -120, 10858,
+ 2765, 107, -868, -868, 2308, -868, 108, 89, -868, -868,
+ 2308, 110, -868, -868
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1553,138 +1555,138 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_int16 yydefact[] =
{
- 0, 168, 222, 220, 221, 219, 226, 227, 228, 229,
- 230, 231, 232, 233, 234, 223, 224, 225, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 348, 349, 350, 351, 352, 353, 354, 374, 375, 376,
- 377, 378, 379, 380, 389, 402, 403, 390, 391, 393,
- 392, 394, 395, 396, 397, 398, 399, 400, 401, 176,
- 177, 248, 249, 247, 250, 257, 258, 255, 256, 253,
- 254, 251, 252, 280, 281, 282, 292, 293, 294, 277,
- 278, 279, 289, 290, 291, 274, 275, 276, 286, 287,
- 288, 271, 272, 273, 283, 284, 285, 259, 260, 261,
- 295, 296, 297, 262, 263, 264, 307, 308, 309, 265,
- 266, 267, 319, 320, 321, 268, 269, 270, 331, 332,
- 333, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 310, 311, 312, 313, 314, 315, 316, 317, 318, 322,
- 323, 324, 325, 326, 327, 328, 329, 330, 334, 335,
- 336, 337, 338, 339, 340, 341, 342, 346, 343, 344,
- 345, 527, 528, 529, 358, 359, 382, 385, 347, 356,
- 357, 373, 355, 404, 405, 408, 409, 410, 412, 413,
- 414, 416, 417, 418, 420, 421, 517, 518, 381, 383,
- 384, 360, 361, 362, 406, 363, 367, 368, 371, 411,
- 415, 419, 364, 365, 369, 370, 407, 366, 372, 451,
- 453, 454, 455, 457, 458, 459, 461, 462, 463, 465,
- 466, 467, 469, 470, 471, 473, 474, 475, 477, 478,
- 479, 481, 482, 483, 485, 486, 487, 489, 490, 491,
- 493, 494, 452, 456, 460, 464, 468, 476, 480, 484,
- 472, 488, 492, 495, 496, 497, 498, 499, 500, 501,
- 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
- 512, 513, 514, 515, 516, 386, 387, 388, 422, 431,
- 433, 427, 432, 434, 435, 437, 438, 439, 441, 442,
- 443, 445, 446, 447, 449, 450, 423, 424, 425, 436,
- 426, 428, 429, 430, 440, 444, 448, 519, 520, 523,
- 524, 525, 526, 521, 522, 0, 0, 0, 0, 0,
- 0, 0, 0, 166, 167, 0, 623, 137, 533, 534,
- 535, 0, 532, 172, 170, 171, 169, 0, 218, 173,
- 174, 175, 139, 138, 0, 201, 182, 184, 180, 186,
- 188, 183, 185, 181, 187, 189, 178, 179, 204, 190,
- 197, 198, 199, 200, 191, 192, 193, 194, 195, 196,
- 140, 141, 143, 142, 144, 146, 147, 145, 203, 154,
- 622, 0, 624, 0, 114, 113, 0, 125, 130, 161,
- 160, 158, 162, 0, 155, 157, 163, 135, 214, 159,
- 531, 0, 619, 621, 0, 0, 164, 165, 530, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 538, 0, 0, 0, 99, 0, 94, 0, 109, 0,
- 121, 115, 123, 0, 124, 0, 97, 131, 102, 0,
- 156, 136, 0, 207, 213, 1, 620, 0, 0, 0,
- 96, 0, 0, 0, 631, 0, 683, 0, 0, 0,
+ 0, 168, 223, 221, 222, 220, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 224, 225, 226, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 349, 350, 351, 352, 353, 354, 355, 375, 376, 377,
+ 378, 379, 380, 381, 390, 403, 404, 391, 392, 394,
+ 393, 395, 396, 397, 398, 399, 400, 401, 402, 176,
+ 177, 249, 250, 248, 251, 258, 259, 256, 257, 254,
+ 255, 252, 253, 281, 282, 283, 293, 294, 295, 278,
+ 279, 280, 290, 291, 292, 275, 276, 277, 287, 288,
+ 289, 272, 273, 274, 284, 285, 286, 260, 261, 262,
+ 296, 297, 298, 263, 264, 265, 308, 309, 310, 266,
+ 267, 268, 320, 321, 322, 269, 270, 271, 332, 333,
+ 334, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 311, 312, 313, 314, 315, 316, 317, 318, 319, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 347, 344, 345,
+ 346, 528, 529, 530, 532, 181, 359, 360, 383, 386,
+ 348, 357, 358, 374, 356, 405, 406, 409, 410, 411,
+ 413, 414, 415, 417, 418, 419, 421, 422, 518, 519,
+ 382, 384, 385, 361, 362, 363, 407, 364, 368, 369,
+ 372, 412, 416, 420, 365, 366, 370, 371, 408, 367,
+ 373, 452, 454, 455, 456, 458, 459, 460, 462, 463,
+ 464, 466, 467, 468, 470, 471, 472, 474, 475, 476,
+ 478, 479, 480, 482, 483, 484, 486, 487, 488, 490,
+ 491, 492, 494, 495, 453, 457, 461, 465, 469, 477,
+ 481, 485, 473, 489, 493, 496, 497, 498, 499, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 387, 388, 389,
+ 423, 432, 434, 428, 433, 435, 436, 438, 439, 440,
+ 442, 443, 444, 446, 447, 448, 450, 451, 424, 425,
+ 426, 437, 427, 429, 430, 431, 441, 445, 449, 520,
+ 521, 524, 525, 526, 527, 522, 523, 0, 0, 0,
+ 0, 0, 0, 0, 0, 166, 167, 0, 625, 137,
+ 535, 536, 537, 0, 534, 172, 170, 171, 169, 0,
+ 219, 173, 174, 175, 139, 138, 0, 202, 183, 185,
+ 180, 187, 189, 184, 186, 182, 188, 190, 178, 179,
+ 205, 191, 198, 199, 200, 201, 192, 193, 194, 195,
+ 196, 197, 140, 141, 143, 142, 144, 146, 147, 145,
+ 204, 154, 624, 0, 626, 0, 114, 113, 0, 125,
+ 130, 161, 160, 158, 162, 0, 155, 157, 163, 135,
+ 215, 159, 533, 0, 621, 623, 0, 0, 164, 165,
+ 531, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 540, 0, 0, 0, 99, 0, 94, 0,
+ 109, 0, 121, 115, 123, 0, 124, 0, 97, 131,
+ 102, 0, 156, 136, 0, 208, 214, 1, 622, 0,
+ 0, 0, 96, 0, 0, 0, 633, 0, 685, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 629, 0, 627, 0, 0, 536, 151, 153,
- 0, 149, 205, 0, 0, 100, 0, 0, 625, 110,
- 116, 120, 122, 118, 126, 117, 0, 132, 105, 0,
- 103, 0, 0, 0, 9, 0, 43, 42, 44, 41,
- 5, 6, 7, 8, 2, 16, 14, 15, 17, 10,
- 11, 12, 13, 3, 18, 37, 20, 25, 26, 0,
- 0, 30, 0, 216, 0, 36, 34, 0, 208, 111,
- 0, 95, 0, 0, 681, 0, 639, 0, 0, 0,
- 0, 0, 656, 0, 0, 0, 0, 0, 0, 0,
- 676, 0, 654, 0, 0, 0, 0, 98, 0, 0,
- 0, 540, 0, 0, 148, 0, 202, 0, 209, 45,
- 49, 52, 55, 60, 63, 65, 67, 69, 71, 73,
- 75, 0, 0, 101, 567, 576, 580, 0, 0, 0,
- 601, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 45, 78, 91, 0, 554, 0, 163, 135,
- 557, 578, 556, 564, 555, 0, 558, 559, 582, 560,
- 589, 561, 562, 597, 563, 0, 119, 0, 127, 0,
- 548, 134, 0, 0, 107, 0, 104, 38, 39, 0,
- 22, 23, 0, 0, 28, 27, 0, 218, 31, 33,
- 40, 0, 215, 112, 685, 0, 686, 632, 0, 0,
- 684, 651, 647, 648, 649, 650, 0, 645, 0, 93,
- 652, 0, 0, 666, 667, 668, 669, 0, 664, 0,
- 670, 0, 0, 672, 0, 0, 0, 2, 680, 0,
- 678, 0, 0, 626, 628, 0, 546, 0, 544, 539,
- 541, 0, 152, 150, 206, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 631, 0, 629, 0, 0, 538,
+ 151, 153, 0, 149, 206, 0, 0, 100, 0, 0,
+ 627, 110, 116, 120, 122, 118, 126, 117, 0, 132,
+ 105, 0, 103, 0, 0, 0, 9, 0, 43, 42,
+ 44, 41, 5, 6, 7, 8, 2, 16, 14, 15,
+ 17, 10, 11, 12, 13, 3, 18, 37, 20, 25,
+ 26, 0, 0, 30, 0, 217, 0, 36, 34, 0,
+ 209, 111, 0, 95, 0, 0, 683, 0, 641, 0,
+ 0, 0, 0, 0, 658, 0, 0, 0, 0, 0,
+ 0, 0, 678, 0, 656, 0, 0, 0, 0, 98,
+ 0, 0, 0, 542, 0, 0, 148, 0, 203, 0,
+ 210, 45, 49, 52, 55, 60, 63, 65, 67, 69,
+ 71, 73, 75, 0, 0, 101, 569, 578, 582, 0,
+ 0, 0, 603, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 45, 78, 91, 0, 556, 0,
+ 163, 135, 559, 580, 558, 566, 557, 0, 560, 561,
+ 584, 562, 591, 563, 564, 599, 565, 0, 119, 0,
+ 127, 0, 550, 134, 0, 0, 107, 0, 104, 38,
+ 39, 0, 22, 23, 0, 0, 28, 27, 0, 219,
+ 31, 33, 40, 0, 216, 112, 687, 0, 688, 634,
+ 0, 0, 686, 653, 649, 650, 651, 652, 0, 647,
+ 0, 93, 654, 0, 0, 668, 669, 670, 671, 0,
+ 666, 0, 672, 0, 0, 674, 0, 0, 0, 2,
+ 682, 0, 680, 0, 0, 628, 630, 0, 548, 0,
+ 546, 541, 543, 0, 152, 150, 207, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 210, 211, 0, 566, 0,
- 599, 612, 611, 0, 603, 0, 615, 613, 0, 0,
- 0, 596, 616, 617, 618, 565, 81, 82, 84, 83,
- 86, 87, 88, 89, 90, 85, 80, 0, 0, 581,
- 577, 579, 583, 590, 598, 129, 0, 551, 552, 0,
- 133, 0, 108, 4, 0, 24, 21, 32, 217, 635,
- 637, 0, 0, 682, 0, 641, 0, 640, 0, 643,
- 0, 0, 658, 0, 657, 0, 660, 0, 0, 662,
- 0, 0, 677, 0, 674, 0, 655, 630, 0, 547,
- 0, 542, 537, 46, 47, 48, 51, 50, 53, 54,
- 58, 59, 56, 57, 61, 62, 64, 66, 68, 70,
- 72, 74, 0, 212, 568, 0, 0, 0, 0, 614,
- 0, 595, 79, 92, 128, 549, 0, 106, 19, 633,
- 0, 634, 0, 646, 0, 653, 0, 665, 0, 671,
- 0, 673, 0, 0, 679, 543, 545, 0, 0, 587,
- 0, 0, 0, 606, 605, 608, 574, 591, 550, 553,
- 636, 638, 642, 644, 659, 661, 663, 675, 0, 569,
- 0, 0, 0, 607, 0, 0, 586, 0, 0, 584,
- 0, 77, 0, 571, 600, 570, 0, 609, 0, 574,
- 573, 575, 593, 588, 0, 610, 604, 585, 594, 0,
- 602, 592
+ 0, 0, 0, 0, 0, 0, 76, 211, 212, 0,
+ 568, 0, 601, 614, 613, 0, 605, 0, 617, 615,
+ 0, 0, 0, 598, 618, 619, 620, 567, 81, 82,
+ 84, 83, 86, 87, 88, 89, 90, 85, 80, 0,
+ 0, 583, 579, 581, 585, 592, 600, 129, 0, 553,
+ 554, 0, 133, 0, 108, 4, 0, 24, 21, 32,
+ 218, 637, 639, 0, 0, 684, 0, 643, 0, 642,
+ 0, 645, 0, 0, 660, 0, 659, 0, 662, 0,
+ 0, 664, 0, 0, 679, 0, 676, 0, 657, 632,
+ 0, 549, 0, 544, 539, 46, 47, 48, 51, 50,
+ 53, 54, 58, 59, 56, 57, 61, 62, 64, 66,
+ 68, 70, 72, 74, 0, 213, 570, 0, 0, 0,
+ 0, 616, 0, 597, 79, 92, 128, 551, 0, 106,
+ 19, 635, 0, 636, 0, 648, 0, 655, 0, 667,
+ 0, 673, 0, 675, 0, 0, 681, 545, 547, 0,
+ 0, 589, 0, 0, 0, 608, 607, 610, 576, 593,
+ 552, 555, 638, 640, 644, 646, 661, 663, 665, 677,
+ 0, 571, 0, 0, 0, 609, 0, 0, 588, 0,
+ 0, 586, 0, 77, 0, 573, 602, 572, 0, 611,
+ 0, 576, 575, 577, 595, 590, 0, 612, 606, 587,
+ 596, 0, 604, 594
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -429, -813, -381, -380, -483, -383, -262, -257,
- -261, -258, -255, -259, -813, -479, -813, -492, -813, -495,
- -536, 11, -813, -813, -813, 7, -388, -813, -813, 42,
- 49, 47, -813, -813, -401, -813, -813, -813, -813, -96,
- -813, -384, -371, -813, 9, -813, 0, -425, -813, -813,
- -813, -813, 150, -813, -813, -813, -546, -553, -217, -338,
- -607, -813, -364, -619, -812, -813, -421, -813, -813, -428,
- -430, -813, -813, 64, -718, -355, -813, -141, -813, -390,
- -813, -138, -813, -813, -813, -813, -136, -813, -813, -813,
- -813, -813, -813, -813, -813, 92, -813, -813, 2, -813,
- -68, -275, -456, -813, -813, -813, -296, -293, -301, -813,
- -813, -299, -295, -303, -302, -813, -306, -311, -813, -392,
- -530
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -429, -868, -378, -377, -471, -381, -259, -261,
+ -257, -256, -255, -263, -868, -478, -868, -492, -868, -503,
+ -535, 11, -868, -868, -868, 7, -392, -868, -868, 39,
+ 45, 46, -868, -868, -401, -868, -868, -868, -868, -104,
+ -868, -386, -374, -868, 9, -868, 0, -426, -868, -868,
+ -868, -868, 147, -868, -868, -868, -551, -569, -224, -340,
+ -606, -868, -365, -615, -867, -868, -424, -868, -868, -432,
+ -431, -868, -868, 63, -723, -358, -868, -142, -868, -394,
+ -868, -140, -868, -868, -868, -868, -135, -868, -868, -868,
+ -868, -868, -868, -868, -868, 96, -868, -868, 2, -868,
+ -72, -237, -436, -868, -868, -868, -300, -304, -299, -868,
+ -868, -301, -298, -297, -310, -868, -295, -312, -868, -391,
+ -531
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 523, 524, 525, 784, 526, 527, 528, 529, 530,
- 531, 532, 612, 534, 580, 581, 582, 583, 584, 585,
- 586, 587, 588, 589, 590, 613, 842, 614, 767, 615,
- 698, 616, 381, 643, 501, 617, 383, 384, 385, 430,
- 431, 432, 386, 387, 388, 389, 390, 391, 480, 481,
- 392, 393, 394, 395, 535, 483, 536, 486, 443, 444,
- 537, 398, 399, 400, 572, 476, 570, 571, 707, 708,
- 641, 779, 620, 621, 622, 623, 624, 739, 878, 914,
- 906, 907, 908, 915, 625, 626, 627, 628, 909, 881,
- 629, 630, 910, 929, 631, 632, 633, 845, 743, 847,
- 885, 904, 905, 634, 401, 402, 403, 427, 635, 473,
- 474, 453, 454, 791, 792, 405, 676, 677, 681, 406,
- 407, 687, 688, 691, 694, 408, 699, 700, 409, 455,
- 456
+ -1, 525, 526, 527, 786, 528, 529, 530, 531, 532,
+ 533, 534, 614, 536, 582, 583, 584, 585, 586, 587,
+ 588, 589, 590, 591, 592, 615, 844, 616, 769, 617,
+ 700, 618, 383, 645, 503, 619, 385, 386, 387, 432,
+ 433, 434, 388, 389, 390, 391, 392, 393, 482, 483,
+ 394, 395, 396, 397, 537, 485, 538, 488, 445, 446,
+ 539, 400, 401, 402, 574, 478, 572, 573, 709, 710,
+ 643, 781, 622, 623, 624, 625, 626, 741, 880, 916,
+ 908, 909, 910, 917, 627, 628, 629, 630, 911, 883,
+ 631, 632, 912, 931, 633, 634, 635, 847, 745, 849,
+ 887, 906, 907, 636, 403, 404, 405, 429, 637, 475,
+ 476, 455, 456, 793, 794, 407, 678, 679, 683, 408,
+ 409, 689, 690, 693, 696, 410, 701, 702, 411, 457,
+ 458
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1692,464 +1694,283 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 397, 433, 404, 448, 640, 591, 771, 382, 448, 396,
- 649, 380, 497, 533, 680, 670, 447, 710, 538, 690,
- 449, 844, 440, 671, 469, 449, 711, 733, 702, 420,
- 775, 670, 778, 664, 418, 780, 665, 712, 789, 658,
- 424, 664, 661, 722, 723, 433, 478, 457, 565, 410,
- 458, 495, 566, 484, 662, 579, 672, 673, 674, 675,
- 496, 421, 440, 734, 650, 651, 425, 666, 636, 638,
- 479, 679, 790, 647, 648, 666, 679, 411, 440, 724,
- 725, 484, 679, 484, -35, 679, 652, 667, 637, 913,
- 653, 485, 568, 667, 679, 667, 921, 781, 667, 426,
- 667, 592, 667, 667, 592, 660, 913, 667, 642, 748,
- 592, 750, 593, 737, 544, 460, 498, 776, 458, 499,
- 545, 579, 500, 546, 846, 552, 579, 560, 574, 547,
- 412, 553, 579, 561, 575, 579, 459, 461, 463, 465,
- 467, 468, 471, 576, 579, 640, 655, 640, 783, 577,
- 640, 668, 656, 793, 768, 795, 797, 785, 710, 545,
- 799, 796, 798, 579, 787, 435, 800, 696, 436, 854,
- 756, 757, 758, 759, 760, 761, 762, 763, 764, 765,
- 859, 802, 429, 804, 860, 806, 568, 803, 568, 805,
- 766, 807, 809, 812, 814, 886, 887, 440, 810, 813,
- 815, 768, 768, 892, 928, 893, 894, 895, 896, 796,
- 897, 800, 803, 807, 810, 924, 815, 428, 861, 437,
- 462, 768, 862, 458, 645, 771, 413, 646, 710, 414,
- 464, 415, 788, 458, 448, 683, 684, 685, 686, 830,
- 831, 832, 833, 466, 416, 470, 458, 447, 458, 889,
- 848, 449, 678, 682, 850, 458, 458, 689, 692, 568,
- 458, 458, 417, 695, 865, 680, 458, 701, 720, 721,
- 458, 869, 690, 422, 768, 852, 853, 769, 718, 820,
- 719, 819, 821, 670, 640, 423, 823, 824, 825, 579,
- 579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
- 579, 579, 579, 579, 579, 923, 442, 768, 820, 771,
- 849, 875, 328, 329, 330, 726, 727, 715, 716, 717,
- 450, 679, 679, 855, 477, 856, 487, 568, 679, 679,
- 768, 851, 768, 898, 679, 452, 679, 826, 827, 472,
- 828, 829, 482, 834, 835, 325, 484, 877, 493, 494,
- 879, 539, 540, 543, 728, 541, 542, 548, 562, 549,
- 550, 551, 554, 644, 640, 564, 555, 891, 556, 557,
- 558, 579, 579, 559, 563, 654, 659, 573, 579, 579,
- 567, 592, 495, 665, 579, 434, 579, 693, 703, 731,
- 879, 738, 729, 441, 396, 730, 732, 568, 735, 740,
- 669, 397, 396, 404, 397, 706, 911, 916, 382, 397,
- 396, 404, 380, 396, 714, 741, 451, 742, 396, 475,
- 640, 744, 925, 745, 746, 749, 751, 752, -36, 434,
- 489, -34, 753, 434, 754, -29, 755, 782, 396, 794,
- 786, 816, 396, 801, 880, 808, 811, 817, 843, 441,
- 858, 768, 871, 882, 890, 899, 900, 901, 396, 902,
- 912, 449, -572, 918, 917, 594, 836, 919, 922, 838,
- 930, 931, 837, 839, 841, 491, 569, 840, 490, 713,
- 492, 419, 876, 883, 880, 396, 920, 619, 818, 927,
- 926, 488, 884, 446, 772, 903, 618, 773, 704, 774,
- 866, 449, 864, 863, 874, 870, 868, 873, 867, 872,
+ 399, 435, 406, 712, 651, 450, 642, 384, 593, 398,
+ 450, 382, 773, 499, 449, 535, 672, 682, 846, 540,
+ 451, 442, 692, 713, 735, 451, 422, 471, 724, 725,
+ 426, 704, 672, 777, 666, 780, 915, 667, 782, 791,
+ 714, 660, 480, 923, 666, 435, 486, 673, 428, 437,
+ 663, 594, 438, 915, 487, 412, 427, 581, 423, 595,
+ 736, 442, 664, 567, 726, 727, 481, 568, 668, 638,
+ 640, 728, 729, 792, 681, 649, 650, 442, 668, 681,
+ 674, 675, 676, 677, 546, 681, 652, 653, 681, 497,
+ 547, 486, 570, 486, 783, 594, 459, 681, 498, 460,
+ 639, 413, 644, 750, 594, 752, -35, 662, 654, 669,
+ 861, 778, 655, 548, 862, 669, 739, 669, 414, 549,
+ 669, 554, 669, 581, 669, 669, 415, 555, 581, 669,
+ 848, 416, 500, 562, 581, 501, 576, 581, 502, 563,
+ 647, 863, 577, 648, 712, 864, 581, 642, 417, 642,
+ 462, 787, 642, 460, 670, 758, 759, 760, 761, 762,
+ 763, 764, 765, 766, 767, 581, 789, 720, 578, 721,
+ 698, 418, 856, 419, 579, 768, 461, 463, 465, 467,
+ 469, 470, 473, 657, 785, 795, 570, 797, 570, 658,
+ 770, 547, 799, 798, 801, 424, 442, 804, 800, 806,
+ 802, 930, 808, 805, 811, 807, 814, 816, 809, 888,
+ 812, 889, 815, 817, 712, 770, 894, 770, 895, 896,
+ 897, 898, 798, 899, 802, 805, 809, 812, 420, 817,
+ 464, 773, 926, 460, 790, 425, 450, 452, 770, 685,
+ 686, 687, 688, 430, 850, 449, 466, 468, 852, 460,
+ 460, 451, 891, 832, 833, 834, 835, 472, 680, 570,
+ 460, 460, 684, 691, 431, 460, 460, 867, 682, 694,
+ 697, 444, 460, 460, 871, 692, 703, 854, 855, 460,
+ 770, 439, 821, 771, 672, 857, 642, 858, 825, 826,
+ 827, 581, 581, 581, 581, 581, 581, 581, 581, 581,
+ 581, 581, 581, 581, 581, 581, 581, 822, 925, 770,
+ 823, 822, 851, 454, 877, 773, 330, 331, 332, 474,
+ 717, 718, 719, 479, 681, 681, 484, 570, 722, 723,
+ 495, 681, 681, 770, 853, 770, 900, 681, 489, 681,
+ 327, 879, 828, 829, 881, 830, 831, 836, 837, 496,
+ 486, 542, 543, 541, 544, 550, 545, 569, 646, 671,
+ 564, 551, 552, 553, 556, 695, 642, 566, 557, 708,
+ 558, 559, 560, 581, 581, 561, 565, 656, 661, 575,
+ 581, 581, 594, 497, 881, 705, 581, 436, 581, 667,
+ 733, 734, 737, 732, 730, 443, 398, 570, 731, 740,
+ 742, 918, 743, 399, 398, 406, 399, 716, 913, 744,
+ 384, 399, 398, 406, 382, 398, 927, 746, 453, 747,
+ 398, 477, 642, 748, 751, 754, 753, -36, -34, 784,
+ 755, 436, 491, 756, 788, 436, 757, -29, 796, 803,
+ 398, 810, 813, 818, 398, 819, 882, 770, 845, 860,
+ 873, 443, 884, 892, 893, 901, 903, 904, 902, 919,
+ 398, 451, -574, 920, 921, 914, 933, 596, 924, 932,
+ 839, 838, 843, 715, 493, 840, 492, 841, 571, 842,
+ 421, 494, 878, 820, 885, 922, 882, 398, 928, 621,
+ 929, 886, 490, 905, 865, 774, 706, 775, 620, 448,
+ 866, 451, 776, 874, 868, 876, 870, 869, 0, 0,
+ 0, 0, 0, 872, 0, 0, 0, 0, 0, 0,
+ 875, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 665, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 663, 0, 0, 0, 0, 0, 0, 0, 0,
+ 707, 0, 571, 0, 571, 0, 0, 0, 0, 398,
+ 0, 398, 0, 398, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 705, 0,
- 569, 0, 569, 0, 0, 0, 0, 396, 0, 396,
- 0, 396, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 621, 0, 0,
+ 0, 0, 0, 0, 0, 0, 620, 399, 0, 0,
+ 0, 0, 0, 0, 0, 571, 398, 0, 0, 0,
+ 0, 0, 0, 0, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 619, 0, 0, 0, 0,
- 0, 0, 0, 0, 618, 397, 0, 0, 0, 0,
- 0, 0, 0, 569, 396, 0, 0, 0, 0, 0,
- 0, 0, 396, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 571, 0, 0, 0, 0, 0, 0,
+ 0, 0, 398, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 569, 0, 0, 0, 0, 0, 0, 0, 0,
- 396, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 619,
- 0, 0, 0, 619, 0, 0, 0, 0, 618, 0,
- 0, 0, 618, 0, 0, 0, 0, 0, 0, 0,
+ 0, 621, 0, 0, 0, 621, 0, 0, 0, 0,
+ 620, 0, 0, 0, 620, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 569, 0, 0, 0, 0, 0, 0, 0, 0,
- 396, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 571, 0, 0, 0, 0, 0, 0,
+ 0, 0, 398, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 619, 619, 0, 619, 0, 404,
- 0, 0, 0, 618, 618, 0, 618, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 621, 621, 0, 621,
+ 0, 406, 0, 0, 0, 620, 620, 0, 620, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 619, 0, 0, 0, 0,
- 0, 0, 0, 0, 618, 0, 0, 0, 0, 0,
- 0, 619, 0, 0, 0, 0, 0, 0, 619, 0,
- 618, 0, 0, 0, 0, 0, 0, 618, 619, 0,
- 0, 0, 619, 0, 0, 0, 0, 618, 619, 0,
- 0, 618, 0, 0, 0, 445, 0, 618, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
- 0, 325, 0, 594, 595, 0, 0, 0, 0, 596,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 331, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 333, 334, 335,
- 336, 337, 338, 597, 598, 599, 600, 0, 601, 602,
- 603, 604, 605, 606, 607, 608, 609, 610, 339, 340,
- 341, 342, 343, 344, 515, 516, 517, 518, 519, 520,
- 521, 522, 345, 611, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 502, 503, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 621, 0, 0,
+ 0, 0, 0, 0, 0, 0, 620, 0, 0, 0,
+ 0, 0, 0, 621, 0, 0, 0, 0, 0, 0,
+ 621, 0, 620, 0, 0, 0, 0, 0, 0, 620,
+ 621, 0, 0, 0, 621, 0, 0, 0, 0, 620,
+ 621, 0, 0, 620, 0, 0, 0, 447, 0, 620,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
+ 321, 322, 323, 324, 325, 326, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 504, 505, 0, 325, 0, 594, 770,
- 0, 0, 0, 0, 596, 506, 507, 508, 509, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 510, 511, 512, 513,
- 514, 332, 333, 334, 335, 336, 337, 338, 597, 598,
- 599, 600, 0, 601, 602, 603, 604, 605, 606, 607,
- 608, 609, 610, 339, 340, 341, 342, 343, 344, 515,
- 516, 517, 518, 519, 520, 521, 522, 345, 611, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
- 0, 325, 0, 594, 0, 0, 0, 0, 0, 596,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 331, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 333, 334, 335,
- 336, 337, 338, 597, 598, 599, 600, 0, 601, 602,
- 603, 604, 605, 606, 607, 608, 609, 610, 339, 340,
- 341, 342, 343, 344, 515, 516, 517, 518, 519, 520,
- 521, 522, 345, 611, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 502, 503, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 504, 505, 0, 325, 0, 487, 0,
- 0, 0, 0, 0, 596, 506, 507, 508, 509, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 510, 511, 512, 513,
- 514, 332, 333, 334, 335, 336, 337, 338, 597, 598,
- 599, 600, 0, 601, 602, 603, 604, 605, 606, 607,
- 608, 609, 610, 339, 340, 341, 342, 343, 344, 515,
- 516, 517, 518, 519, 520, 521, 522, 345, 611, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
- 0, 325, 0, 0, 0, 0, 0, 0, 0, 596,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 331, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 333, 334, 335,
- 336, 337, 338, 597, 598, 599, 600, 0, 601, 602,
- 603, 604, 605, 606, 607, 608, 609, 610, 339, 340,
- 341, 342, 343, 344, 515, 516, 517, 518, 519, 520,
- 521, 522, 345, 611, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 502, 503, 0, 0, 0, 0,
+ 327, 0, 0, 0, 0, 0, 0, 0, 328, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 504, 505, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 596, 506, 507, 508, 509, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 510, 511, 512, 513,
- 514, 332, 333, 334, 335, 336, 337, 338, 0, 0,
+ 0, 0, 329, 330, 331, 332, 333, 0, 0, 0,
+ 0, 0, 0, 0, 0, 334, 335, 336, 337, 338,
+ 339, 340, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 341, 342, 343,
+ 344, 345, 346, 0, 0, 0, 0, 0, 0, 0,
+ 0, 347, 0, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 0, 0, 504, 505, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 515,
- 516, 517, 518, 519, 520, 521, 522, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
+ 0, 0, 0, 0, 506, 507, 0, 327, 0, 596,
+ 597, 0, 0, 0, 0, 598, 508, 509, 510, 511,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 329,
+ 330, 331, 332, 333, 0, 0, 0, 512, 513, 514,
+ 515, 516, 334, 335, 336, 337, 338, 339, 340, 599,
+ 600, 601, 602, 0, 603, 604, 605, 606, 607, 608,
+ 609, 610, 611, 612, 341, 342, 343, 344, 345, 346,
+ 517, 518, 519, 520, 521, 522, 523, 524, 347, 613,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ 0, 0, 504, 505, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 333, 334, 335,
- 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 515, 516, 517, 518, 519, 520,
- 521, 522, 345, 0, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 1, 2,
+ 0, 506, 507, 0, 327, 0, 596, 772, 0, 0,
+ 0, 0, 598, 508, 509, 510, 511, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 329, 330, 331, 332,
+ 333, 0, 0, 0, 512, 513, 514, 515, 516, 334,
+ 335, 336, 337, 338, 339, 340, 599, 600, 601, 602,
+ 0, 603, 604, 605, 606, 607, 608, 609, 610, 611,
+ 612, 341, 342, 343, 344, 345, 346, 517, 518, 519,
+ 520, 521, 522, 523, 524, 347, 613, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 327, 0, 596, 0, 0, 0, 0, 0, 598,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 329, 330, 331, 332, 333, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 335, 336, 337,
+ 338, 339, 340, 599, 600, 601, 602, 0, 603, 604,
+ 605, 606, 607, 608, 609, 610, 611, 612, 341, 342,
+ 343, 344, 345, 346, 517, 518, 519, 520, 521, 522,
+ 523, 524, 347, 613, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
@@ -2182,111 +2003,203 @@ static const yytype_int16 yytable[] =
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 0, 0, 0, 0, 0, 0,
+ 323, 324, 325, 326, 0, 0, 504, 505, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 0, 0, 0, 0, 0, 506, 507, 0, 327, 0,
+ 489, 0, 0, 0, 0, 0, 598, 508, 509, 510,
+ 511, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 329, 330, 331, 332, 333, 0, 0, 0, 512, 513,
+ 514, 515, 516, 334, 335, 336, 337, 338, 339, 340,
+ 599, 600, 601, 602, 0, 603, 604, 605, 606, 607,
+ 608, 609, 610, 611, 612, 341, 342, 343, 344, 345,
+ 346, 517, 518, 519, 520, 521, 522, 523, 524, 347,
+ 613, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 377, 378, 379, 380, 381, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 0, 0, 504, 505, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
- 336, 337, 338, 597, 0, 0, 600, 0, 601, 602,
- 0, 0, 605, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
- 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 0, 0, 0, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 506, 507, 0, 327, 0, 0, 0, 0,
+ 0, 0, 0, 598, 508, 509, 510, 511, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 329, 330, 331,
+ 332, 333, 0, 0, 0, 512, 513, 514, 515, 516,
+ 334, 335, 336, 337, 338, 339, 340, 599, 600, 601,
+ 602, 0, 603, 604, 605, 606, 607, 608, 609, 610,
+ 611, 612, 341, 342, 343, 344, 345, 346, 517, 518,
+ 519, 520, 521, 522, 523, 524, 347, 613, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
+ 380, 381, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ 319, 320, 321, 322, 323, 324, 325, 326, 0, 0,
+ 504, 505, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 506,
+ 507, 0, 327, 0, 0, 0, 0, 0, 0, 0,
+ 598, 508, 509, 510, 511, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 329, 330, 331, 332, 333, 0,
+ 0, 0, 512, 513, 514, 515, 516, 334, 335, 336,
+ 337, 338, 339, 340, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 341,
+ 342, 343, 344, 345, 346, 517, 518, 519, 520, 521,
+ 522, 523, 524, 347, 0, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 0, 0, 0, 320, 321,
+ 322, 323, 324, 325, 326, 0, 0, 504, 505, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 506, 507, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 508, 509,
+ 510, 511, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 329, 330, 331, 332, 0, 0, 0, 0, 512,
+ 513, 514, 515, 516, 334, 335, 336, 337, 338, 339,
+ 340, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 341, 342, 343, 344,
+ 345, 346, 517, 518, 519, 520, 521, 522, 523, 524,
+ 347, 0, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 377, 378, 379, 380, 381, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 438, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 439, 332, 333, 334, 335, 336, 337, 338, 0, 0,
+ 0, 0, 0, 0, 0, 0, 327, 0, 0, 0,
+ 0, 0, 0, 0, 328, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 329, 330,
+ 331, 332, 333, 0, 0, 0, 0, 0, 0, 0,
+ 0, 334, 335, 336, 337, 338, 339, 340, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 1, 2, 3, 4, 5, 6, 7,
+ 0, 0, 0, 341, 342, 343, 344, 345, 346, 0,
+ 0, 0, 0, 0, 0, 0, 0, 347, 0, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
@@ -2317,209 +2230,73 @@ static const yytype_int16 yytable[] =
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 325, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
- 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
- 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 0, 0, 0, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 0, 0, 0, 0, 0, 0,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 0,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 709,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 822, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
- 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
- 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
+ 0, 0, 0, 0, 0, 329, 330, 331, 332, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 334, 335,
+ 336, 337, 338, 339, 340, 599, 0, 0, 602, 0,
+ 603, 604, 0, 0, 607, 0, 0, 0, 0, 0,
+ 341, 342, 343, 344, 345, 346, 0, 0, 0, 0,
+ 0, 0, 0, 0, 347, 0, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 0, 0, 0, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 857,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 0, 0, 0, 320,
+ 321, 322, 323, 324, 325, 326, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 440, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
- 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
- 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
- 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 2, 3,
+ 0, 0, 329, 330, 331, 332, 0, 0, 0, 0,
+ 0, 0, 0, 0, 441, 334, 335, 336, 337, 338,
+ 339, 340, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 341, 342, 343,
+ 344, 345, 346, 0, 0, 0, 0, 0, 0, 0,
+ 0, 347, 0, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 0, 0, 61, 62, 63,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
@@ -2545,371 +2322,27 @@ static const yytype_int16 yytable[] =
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 0, 0, 0, 0, 0, 0, 321, 0, 0,
- 0, 0, 0, 502, 503, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 504, 505, 0, 0, 0, 639, 777, 0,
- 0, 0, 0, 0, 506, 507, 508, 509, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 510, 511, 512, 513, 514,
- 332, 0, 0, 0, 0, 337, 338, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 515, 516,
- 517, 518, 519, 520, 521, 522, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 358, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 0, 0,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 0, 0, 0, 0, 0, 0,
- 321, 0, 0, 0, 0, 0, 502, 503, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 504, 505, 0, 0, 0,
- 639, 888, 0, 0, 0, 0, 0, 506, 507, 508,
- 509, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 510, 511,
- 512, 513, 514, 332, 0, 0, 0, 0, 337, 338,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 515, 516, 517, 518, 519, 520, 521, 522, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 358, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 0, 0, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
- 0, 0, 0, 321, 0, 0, 0, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
- 0, 0, 578, 0, 0, 0, 0, 0, 0, 0,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 0, 0, 0,
- 0, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 515, 516, 517, 518, 519, 520,
- 521, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 358, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 0, 0, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 0, 0, 0, 0, 0, 0, 321, 0, 0, 0,
- 0, 0, 502, 503, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 504, 505, 0, 0, 0, 639, 0, 0, 0,
- 0, 0, 0, 506, 507, 508, 509, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 510, 511, 512, 513, 514, 332,
- 0, 0, 0, 0, 337, 338, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 515, 516, 517,
- 518, 519, 520, 521, 522, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 358,
- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 0, 0, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
- 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
- 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
- 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
- 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
- 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
- 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 0, 0, 0, 0, 0, 0, 321,
- 0, 0, 0, 0, 0, 502, 503, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 504, 505, 0, 0, 736, 0,
- 0, 0, 0, 0, 0, 0, 506, 507, 508, 509,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 510, 511, 512,
- 513, 514, 332, 0, 0, 0, 0, 337, 338, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 515, 516, 517, 518, 519, 520, 521, 522, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 358, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 0, 0, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 0, 0, 0, 0,
- 0, 0, 321, 0, 0, 0, 0, 0, 502, 503,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 504, 505, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 747, 506,
- 507, 508, 509, 0, 0, 0, 0, 0, 0, 0,
+ 314, 315, 316, 0, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 510, 511, 512, 513, 514, 332, 0, 0, 0, 0,
- 337, 338, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 327, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 515, 516, 517, 518, 519, 520, 521,
- 522, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 358, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 0, 0, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
- 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
- 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
- 306, 307, 308, 309, 310, 311, 312, 313, 314, 0,
- 0, 0, 0, 0, 0, 321, 0, 0, 0, 0,
- 0, 502, 503, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 504, 505, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 506, 507, 508, 509, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 329,
+ 330, 331, 332, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 334, 335, 336, 337, 338, 339, 340, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 510, 511, 512, 513, 514, 332, 0,
- 0, 0, 0, 337, 338, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 515, 516, 517, 518,
- 519, 520, 521, 522, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 358, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 0, 0, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 0, 0, 0, 0, 0, 0, 321, 0,
- 0, 0, 0, 0, 502, 503, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 504, 505, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 506, 507, 508, 509, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 510, 511, 512, 513,
- 514, 332, 0, 0, 0, 0, 337, 657, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 515,
- 516, 517, 518, 519, 520, 521, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 358, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
- 0, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
- 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
- 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
- 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 0, 0, 0, 0, 0,
- 0, 321, 0, 0, 0, 0, 0, 502, 503, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 504, 505, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
- 508, 509, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 510,
- 511, 512, 513, 697, 332, 0, 0, 0, 0, 337,
- 338, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 515, 516, 517, 518, 519, 520, 521, 522,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 358, 2, 3, 4, 5, 6,
+ 0, 0, 0, 0, 341, 342, 343, 344, 345, 346,
+ 0, 0, 0, 0, 0, 0, 0, 0, 347, 0,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 0, 0, 61, 62, 63, 64, 65, 66,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
@@ -2934,159 +2367,22 @@ static const yytype_int16 yytable[] =
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 0, 0,
- 0, 0, 0, 0, 321, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 0, 0, 0, 320, 321, 322, 323, 324, 325, 326,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 711, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 329, 330, 331, 332,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 334,
+ 335, 336, 337, 338, 339, 340, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 332, 0, 0,
- 0, 0, 337, 338
-};
-
-static const yytype_int16 yycheck[] =
-{
- 0, 385, 0, 404, 496, 484, 625, 0, 409, 0,
- 505, 0, 437, 442, 550, 545, 404, 570, 443, 555,
- 404, 739, 393, 348, 416, 409, 572, 336, 564, 353,
- 637, 561, 639, 348, 351, 642, 351, 573, 348, 531,
- 359, 348, 356, 331, 332, 429, 385, 382, 352, 349,
- 385, 349, 356, 351, 368, 484, 381, 382, 383, 384,
- 358, 385, 433, 372, 329, 330, 385, 382, 493, 494,
- 409, 550, 382, 502, 503, 382, 555, 349, 449, 367,
- 368, 351, 561, 351, 349, 564, 351, 543, 358, 901,
- 355, 359, 476, 549, 573, 551, 908, 643, 554, 359,
- 556, 351, 558, 559, 351, 534, 918, 563, 358, 604,
- 351, 606, 359, 592, 350, 382, 353, 358, 385, 356,
- 356, 550, 359, 350, 743, 350, 555, 350, 350, 356,
- 349, 356, 561, 356, 356, 564, 411, 412, 413, 414,
- 415, 416, 417, 350, 573, 637, 350, 639, 350, 356,
- 642, 543, 356, 350, 356, 350, 350, 652, 711, 356,
- 350, 356, 356, 592, 656, 356, 356, 559, 359, 776,
- 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 352, 350, 356, 350, 356, 350, 570, 356, 572, 356,
- 358, 356, 350, 350, 350, 350, 350, 568, 356, 356,
- 356, 356, 356, 350, 922, 350, 350, 350, 350, 356,
- 350, 356, 356, 356, 356, 350, 356, 350, 352, 385,
- 382, 356, 356, 385, 356, 844, 349, 359, 781, 349,
- 382, 349, 661, 385, 635, 381, 382, 383, 384, 722,
- 723, 724, 725, 382, 349, 382, 385, 635, 385, 856,
- 745, 635, 382, 382, 749, 385, 385, 382, 382, 643,
- 385, 385, 349, 382, 800, 801, 385, 382, 327, 328,
- 385, 807, 808, 349, 356, 767, 768, 359, 361, 356,
- 363, 706, 359, 813, 776, 349, 715, 716, 717, 718,
- 719, 720, 721, 722, 723, 724, 725, 726, 727, 728,
- 729, 730, 731, 732, 733, 912, 367, 356, 356, 928,
- 359, 359, 374, 375, 376, 333, 334, 364, 365, 366,
- 359, 800, 801, 354, 353, 356, 353, 711, 807, 808,
- 356, 357, 356, 357, 813, 385, 815, 718, 719, 385,
- 720, 721, 385, 726, 727, 351, 351, 842, 385, 385,
- 845, 350, 385, 356, 371, 359, 358, 358, 350, 356,
- 356, 356, 356, 385, 856, 349, 356, 382, 356, 356,
- 356, 800, 801, 356, 356, 350, 349, 358, 807, 808,
- 359, 351, 349, 351, 813, 385, 815, 348, 352, 335,
- 885, 354, 370, 393, 385, 369, 337, 781, 352, 349,
- 385, 401, 393, 401, 404, 385, 898, 902, 401, 409,
- 401, 409, 401, 404, 385, 359, 409, 359, 409, 419,
- 912, 349, 917, 349, 359, 349, 357, 359, 349, 429,
- 428, 349, 359, 433, 359, 350, 359, 385, 429, 358,
- 385, 350, 433, 356, 845, 356, 356, 350, 352, 449,
- 352, 356, 348, 393, 348, 354, 385, 350, 449, 349,
- 358, 845, 353, 350, 359, 353, 728, 397, 353, 730,
- 359, 354, 729, 731, 733, 433, 476, 732, 429, 575,
- 433, 331, 820, 847, 885, 476, 907, 487, 705, 919,
- 918, 427, 847, 401, 635, 885, 487, 635, 566, 635,
- 801, 885, 798, 796, 815, 808, 805, 813, 803, 811,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 539, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 568, -1,
- 570, -1, 572, -1, -1, -1, -1, 568, -1, 570,
- -1, 572, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 625, -1, -1, -1, -1,
- -1, -1, -1, -1, 625, 635, -1, -1, -1, -1,
- -1, -1, -1, 643, 635, -1, -1, -1, -1, -1,
- -1, -1, 643, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 711, -1, -1, -1, -1, -1, -1, -1, -1,
- 711, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 739,
- -1, -1, -1, 743, -1, -1, -1, -1, 739, -1,
- -1, -1, 743, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 781, -1, -1, -1, -1, -1, -1, -1, -1,
- 781, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 844, 845, -1, 847, -1, 847,
- -1, -1, -1, 844, 845, -1, 847, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 885, -1, -1, -1, -1,
- -1, -1, -1, -1, 885, -1, -1, -1, -1, -1,
- -1, 901, -1, -1, -1, -1, -1, -1, 908, -1,
- 901, -1, -1, -1, -1, -1, -1, 908, 918, -1,
- -1, -1, 922, -1, -1, -1, -1, 918, 928, -1,
- -1, 922, -1, -1, -1, 0, -1, 928, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, 359, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 3, 4, 5, 6, 7, 8, 9,
+ 0, 341, 342, 343, 344, 345, 346, 0, 0, 0,
+ 0, 0, 0, 0, 0, 347, 0, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
@@ -3117,73 +2413,119 @@ static const yytype_int16 yycheck[] =
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, 351, -1, 353, 354, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, 377, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, -1, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, 353, 354,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, -1, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 3, 4, 5, 6, 7, 8, 9,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 824, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 329, 330, 331, 332, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 334, 335, 336, 337,
+ 338, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 341, 342,
+ 343, 344, 345, 346, 0, 0, 0, 0, 0, 0,
+ 0, 0, 347, 0, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 0, 0, 0, 320, 321, 322,
+ 323, 324, 325, 326, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 859, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 329, 330, 331, 332, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 334, 335, 336, 337, 338, 339, 340,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 341, 342, 343, 344, 345,
+ 346, 0, 0, 0, 0, 0, 0, 0, 0, 347,
+ 0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 0, 0, 0, 320, 321, 322, 323, 324, 325,
+ 326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 329, 330, 331,
+ 332, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 334, 335, 336, 337, 338, 339, 340, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 341, 342, 343, 344, 345, 346, 0, 0,
+ 0, 0, 0, 0, 0, 0, 347, 0, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
+ 380, 381, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
+ 0, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
@@ -3193,7 +2535,7 @@ static const yytype_int16 yycheck[] =
130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 160, 161, 162, 163, 164, 0, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
@@ -3208,27 +2550,25 @@ static const yytype_int16 yycheck[] =
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, 351, -1, 353, -1, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, 377, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, -1, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 0, 641, 779, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 55, 56, 57, 58, 0, 0, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
@@ -3239,7 +2579,7 @@ static const yytype_int16 yycheck[] =
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 0, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
@@ -3254,27 +2594,25 @@ static const yytype_int16 yycheck[] =
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, 353, -1,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, -1, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 3, 4, 5, 6, 7, 8, 9,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 0,
+ 0, 0, 0, 0, 504, 505, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 506, 507, 0, 0, 0, 641, 890,
+ 0, 0, 0, 0, 0, 508, 509, 510, 511, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 512, 513, 514, 515,
+ 516, 334, 0, 0, 0, 0, 339, 340, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 517,
+ 518, 519, 520, 521, 522, 523, 524, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 360, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
+ 0, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
@@ -3284,7 +2622,7 @@ static const yytype_int16 yycheck[] =
130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 160, 161, 162, 163, 164, 0, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
@@ -3299,27 +2637,25 @@ static const yytype_int16 yycheck[] =
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, 351, -1, -1, -1, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, 377, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, -1, 398, 399,
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 580, 0, 0, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 55, 56, 57, 58, 0, 0, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
@@ -3330,7 +2666,7 @@ static const yytype_int16 yycheck[] =
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 0, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
@@ -3345,27 +2681,25 @@ static const yytype_int16 yycheck[] =
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, -1, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 3, 4, 5, 6, 7, 8, 9,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 0,
+ 0, 0, 0, 0, 504, 505, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 506, 507, 0, 0, 0, 641, 0,
+ 0, 0, 0, 0, 0, 508, 509, 510, 511, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 512, 513, 514, 515,
+ 516, 334, 0, 0, 0, 0, 339, 340, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 517,
+ 518, 519, 520, 521, 522, 523, 524, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 360, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
+ 0, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
@@ -3375,7 +2709,7 @@ static const yytype_int16 yycheck[] =
130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 160, 161, 162, 163, 164, 0, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
@@ -3390,27 +2724,25 @@ static const yytype_int16 yycheck[] =
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
- 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 420, 421, 422, -1, 424, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 738, 0, 0, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 55, 56, 57, 58, 0, 0, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
@@ -3421,7 +2753,7 @@ static const yytype_int16 yycheck[] =
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 0, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
@@ -3436,27 +2768,25 @@ static const yytype_int16 yycheck[] =
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, 359, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 3, 4, 5, 6, 7, 8, 9,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 0,
+ 0, 0, 0, 0, 504, 505, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 506, 507, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 749, 508, 509, 510, 511, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 512, 513, 514, 515,
+ 516, 334, 0, 0, 0, 0, 339, 340, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 517,
+ 518, 519, 520, 521, 522, 523, 524, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 360, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
+ 0, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
@@ -3466,7 +2796,7 @@ static const yytype_int16 yycheck[] =
130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 160, 161, 162, 163, 164, 0, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
@@ -3481,27 +2811,25 @@ static const yytype_int16 yycheck[] =
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
- 390, 391, 392, 393, -1, -1, 396, -1, 398, 399,
- -1, -1, 402, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
- -1, -1, 422, -1, 424, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 55, 56, 57, 58, 0, 0, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
@@ -3512,7 +2840,7 @@ static const yytype_int16 yycheck[] =
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 0, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
@@ -3527,27 +2855,25 @@ static const yytype_int16 yycheck[] =
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, -1, -1, -1, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 359, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, -1,
- 385, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 3, 4, 5, 6, 7, 8, 9,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 0,
+ 0, 0, 0, 0, 504, 505, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 506, 507, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 508, 509, 510, 511, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 512, 513, 514, 515,
+ 516, 334, 0, 0, 0, 0, 339, 659, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 517,
+ 518, 519, 520, 521, 522, 523, 524, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 360, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
+ 0, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
@@ -3557,7 +2883,7 @@ static const yytype_int16 yycheck[] =
130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 160, 161, 162, 163, 164, 0, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
@@ -3572,27 +2898,25 @@ static const yytype_int16 yycheck[] =
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 351, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
- 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
- -1, -1, 422, -1, 424, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 699, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 55, 56, 57, 58, 0, 0, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
@@ -3603,7 +2927,7 @@ static const yytype_int16 yycheck[] =
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 0, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
@@ -3618,66 +2942,295 @@ static const yytype_int16 yycheck[] =
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, -1, -1, -1, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, -1,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 334, 0, 0, 0, 0, 339, 340
+};
+
+static const yytype_int16 yycheck[] =
+{
+ 0, 387, 0, 572, 507, 406, 498, 0, 486, 0,
+ 411, 0, 627, 439, 406, 444, 547, 552, 741, 445,
+ 406, 395, 557, 574, 338, 411, 355, 418, 333, 334,
+ 361, 566, 563, 639, 350, 641, 903, 353, 644, 350,
+ 575, 533, 387, 910, 350, 431, 353, 350, 361, 358,
+ 358, 353, 361, 920, 361, 351, 387, 486, 387, 361,
+ 374, 435, 370, 354, 369, 370, 411, 358, 384, 495,
+ 496, 335, 336, 384, 552, 504, 505, 451, 384, 557,
+ 383, 384, 385, 386, 352, 563, 331, 332, 566, 351,
+ 358, 353, 478, 353, 645, 353, 384, 575, 360, 387,
+ 360, 351, 360, 606, 353, 608, 351, 536, 353, 545,
+ 354, 360, 357, 352, 358, 551, 594, 553, 351, 358,
+ 556, 352, 558, 552, 560, 561, 351, 358, 557, 565,
+ 745, 351, 355, 352, 563, 358, 352, 566, 361, 358,
+ 358, 354, 358, 361, 713, 358, 575, 639, 351, 641,
+ 384, 654, 644, 387, 545, 340, 341, 342, 343, 344,
+ 345, 346, 347, 348, 349, 594, 658, 363, 352, 365,
+ 561, 351, 778, 351, 358, 360, 413, 414, 415, 416,
+ 417, 418, 419, 352, 352, 352, 572, 352, 574, 358,
+ 358, 358, 352, 358, 352, 351, 570, 352, 358, 352,
+ 358, 924, 352, 358, 352, 358, 352, 352, 358, 352,
+ 358, 352, 358, 358, 783, 358, 352, 358, 352, 352,
+ 352, 352, 358, 352, 358, 358, 358, 358, 353, 358,
+ 384, 846, 352, 387, 663, 351, 637, 361, 358, 383,
+ 384, 385, 386, 352, 747, 637, 384, 384, 751, 387,
+ 387, 637, 858, 724, 725, 726, 727, 384, 384, 645,
+ 387, 387, 384, 384, 358, 387, 387, 802, 803, 384,
+ 384, 369, 387, 387, 809, 810, 384, 769, 770, 387,
+ 358, 387, 708, 361, 815, 356, 778, 358, 717, 718,
+ 719, 720, 721, 722, 723, 724, 725, 726, 727, 728,
+ 729, 730, 731, 732, 733, 734, 735, 358, 914, 358,
+ 361, 358, 361, 387, 361, 930, 376, 377, 378, 387,
+ 366, 367, 368, 355, 802, 803, 387, 713, 329, 330,
+ 387, 809, 810, 358, 359, 358, 359, 815, 355, 817,
+ 353, 844, 720, 721, 847, 722, 723, 728, 729, 387,
+ 353, 387, 361, 352, 360, 360, 358, 361, 387, 387,
+ 352, 358, 358, 358, 358, 350, 858, 351, 358, 387,
+ 358, 358, 358, 802, 803, 358, 358, 352, 351, 360,
+ 809, 810, 353, 351, 887, 354, 815, 387, 817, 353,
+ 337, 339, 354, 371, 373, 395, 387, 783, 372, 356,
+ 351, 904, 361, 403, 395, 403, 406, 387, 900, 361,
+ 403, 411, 403, 411, 403, 406, 919, 351, 411, 351,
+ 411, 421, 914, 361, 351, 361, 359, 351, 351, 387,
+ 361, 431, 430, 361, 387, 435, 361, 352, 360, 358,
+ 431, 358, 358, 352, 435, 352, 847, 358, 354, 354,
+ 350, 451, 395, 350, 384, 356, 352, 351, 387, 361,
+ 451, 847, 355, 352, 399, 360, 356, 355, 355, 361,
+ 731, 730, 735, 577, 435, 732, 431, 733, 478, 734,
+ 333, 435, 822, 707, 849, 909, 887, 478, 920, 489,
+ 921, 849, 429, 887, 798, 637, 568, 637, 489, 403,
+ 800, 887, 637, 813, 803, 817, 807, 805, -1, -1,
+ -1, -1, -1, 810, -1, -1, -1, -1, -1, -1,
+ 815, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 354,
+ -1, -1, -1, 541, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
- 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
- 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
- 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
+ 570, -1, 572, -1, 574, -1, -1, -1, -1, 570,
+ -1, 572, -1, 574, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 354, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
- 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
- -1, -1, 422, -1, 424, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 3, 4,
+ -1, -1, -1, -1, -1, -1, -1, 627, -1, -1,
+ -1, -1, -1, -1, -1, -1, 627, 637, -1, -1,
+ -1, -1, -1, -1, -1, 645, 637, -1, -1, -1,
+ -1, -1, -1, -1, 645, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 713, -1, -1, -1, -1, -1, -1,
+ -1, -1, 713, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 741, -1, -1, -1, 745, -1, -1, -1, -1,
+ 741, -1, -1, -1, 745, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 783, -1, -1, -1, -1, -1, -1,
+ -1, -1, 783, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 846, 847, -1, 849,
+ -1, 849, -1, -1, -1, 846, 847, -1, 849, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 887, -1, -1,
+ -1, -1, -1, -1, -1, -1, 887, -1, -1, -1,
+ -1, -1, -1, 903, -1, -1, -1, -1, -1, -1,
+ 910, -1, 903, -1, -1, -1, -1, -1, -1, 910,
+ 920, -1, -1, -1, 924, -1, -1, -1, -1, 920,
+ 930, -1, -1, 924, -1, -1, -1, 0, -1, 930,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
+ 323, 324, 325, 326, 327, 328, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 353, -1, -1, -1, -1, -1, -1, -1, 361, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 375, 376, 377, 378, 379, -1, -1, -1,
+ -1, -1, -1, -1, -1, 388, 389, 390, 391, 392,
+ 393, 394, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 410, 411, 412,
+ 413, 414, 415, -1, -1, -1, -1, -1, -1, -1,
+ -1, 424, -1, 426, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
+ 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, 327, 328, -1, -1, 331, 332, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 350, 351, -1, 353, -1, 355,
+ 356, -1, -1, -1, -1, 361, 362, 363, 364, 365,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, -1, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, 397, 398, -1, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ -1, -1, 331, 332, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 350, 351, -1, 353, -1, 355, 356, -1, -1,
+ -1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 375, 376, 377, 378,
+ 379, -1, -1, -1, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
+ -1, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
+ 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, 353, -1, 355, -1, -1, -1, -1, -1, 361,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ -1, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, 395, 396, 397, 398, -1, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 455, 456, 457, 458, 459, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
@@ -3709,21 +3262,204 @@ static const yytype_int16 yycheck[] =
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, -1, -1, -1, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 354,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, -1, -1, 331, 332, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
+ -1, -1, -1, -1, -1, 350, 351, -1, 353, -1,
+ 355, -1, -1, -1, -1, -1, 361, 362, 363, 364,
+ 365, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 375, 376, 377, 378, 379, -1, -1, -1, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ 395, 396, 397, 398, -1, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 3, 4, 5, 6, 7, 8, 9,
+ 455, 456, 457, 458, 459, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
+ 328, -1, -1, 331, 332, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 350, 351, -1, 353, -1, -1, -1, -1,
+ -1, -1, -1, 361, 362, 363, 364, 365, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, -1, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
+ 398, -1, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
+ 458, 459, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
+ 321, 322, 323, 324, 325, 326, 327, 328, -1, -1,
+ 331, 332, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 350,
+ 351, -1, 353, -1, -1, -1, -1, -1, -1, -1,
+ 361, 362, 363, 364, 365, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 375, 376, 377, 378, 379, -1,
+ -1, -1, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 410,
+ 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, -1, 426, 427, 428, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
+ 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
+ 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, -1, -1, 322, 323,
+ 324, 325, 326, 327, 328, -1, -1, 331, 332, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 350, 351, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 362, 363,
+ 364, 365, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 375, 376, 377, 378, -1, -1, -1, -1, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, -1, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
+ 454, 455, 456, 457, 458, 459, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 353, -1, -1, -1,
+ -1, -1, -1, -1, 361, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 375, 376,
+ 377, 378, 379, -1, -1, -1, -1, -1, -1, -1,
+ -1, 388, 389, 390, 391, 392, 393, 394, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 410, 411, 412, 413, 414, 415, -1,
+ -1, -1, -1, -1, -1, -1, -1, 424, -1, 426,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
+ 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
+ 457, 458, 459, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
@@ -3754,27 +3490,73 @@ static const yytype_int16 yycheck[] =
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ -1, -1, 322, 323, 324, 325, 326, 327, 328, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
- 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
- -1, -1, 422, -1, 424, 425, 426, 427, 428, 429,
+ -1, -1, -1, -1, -1, 375, 376, 377, 378, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 388, 389,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ 400, 401, -1, -1, 404, -1, -1, -1, -1, -1,
+ 410, 411, 412, 413, 414, 415, -1, -1, -1, -1,
+ -1, -1, -1, -1, 424, -1, 426, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 4, 5,
+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, -1, -1, 322,
+ 323, 324, 325, 326, 327, 328, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 361, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 375, 376, 377, 378, -1, -1, -1, -1,
+ -1, -1, -1, -1, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 410, 411, 412,
+ 413, 414, 415, -1, -1, -1, -1, -1, -1, -1,
+ -1, 424, -1, 426, 427, 428, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
+ 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
+ 453, 454, 455, 456, 457, 458, 459, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, -1, -1, 63, 64, 65,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
@@ -3800,105 +3582,247 @@ static const yytype_int16 yycheck[] =
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, -1, -1, -1, -1, -1, -1, 323, -1, -1,
- -1, -1, -1, 329, 330, -1, -1, -1, -1, -1,
+ 316, 317, 318, -1, -1, -1, 322, 323, 324, 325,
+ 326, 327, 328, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 353, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 375,
+ 376, 377, 378, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 410, 411, 412, 413, 414, 415,
+ -1, -1, -1, -1, -1, -1, -1, -1, 424, -1,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, -1, -1, 322, 323, 324, 325, 326, 327, 328,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 348, 349, -1, -1, -1, 353, 354, -1,
- -1, -1, -1, -1, 360, 361, 362, 363, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 381, 382, 383, 384, 385,
- 386, -1, -1, -1, -1, 391, 392, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 356, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 414, 415,
- 416, 417, 418, 419, 420, 421, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 375, 376, 377, 378,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 388,
+ 389, 390, 391, 392, 393, 394, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 410, 411, 412, 413, 414, 415, -1, -1, -1,
+ -1, -1, -1, -1, -1, 424, -1, 426, 427, 428,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
+ 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
+ 459, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
+ 322, 323, 324, 325, 326, 327, 328, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 436, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, -1, -1,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, -1, -1, -1,
- 323, -1, -1, -1, -1, -1, 329, 330, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
- 353, 354, -1, -1, -1, -1, -1, 360, 361, 362,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 381, 382,
- 383, 384, 385, 386, -1, -1, -1, -1, 391, 392,
+ -1, -1, -1, -1, 356, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 375, 376, 377, 378, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 410, 411,
+ 412, 413, 414, 415, -1, -1, -1, -1, -1, -1,
+ -1, -1, 424, -1, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 455, 456, 457, 458, 459, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, -1, -1, 322, 323, 324,
+ 325, 326, 327, 328, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 414, 415, 416, 417, 418, 419, 420, 421, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 436, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, -1, -1, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
- 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
- 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
- 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
- -1, -1, -1, 323, -1, -1, -1, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, -1, 352, -1, -1, -1, -1, -1, -1, -1,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
+ -1, 356, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, -1, -1, -1,
- -1, 391, 392, -1, -1, -1, -1, -1, -1, -1,
+ 375, 376, 377, 378, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 388, 389, 390, 391, 392, 393, 394,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 414, 415, 416, 417, 418, 419,
- 420, 421, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 436, 4, 5, 6,
+ -1, -1, -1, -1, -1, 410, 411, 412, 413, 414,
+ 415, -1, -1, -1, -1, -1, -1, -1, -1, 424,
+ -1, 426, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, -1, -1, 322, 323, 324, 325, 326, 327,
+ 328, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 375, 376, 377,
+ 378, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 410, 411, 412, 413, 414, 415, -1, -1,
+ -1, -1, -1, -1, -1, -1, 424, -1, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
+ 458, 459, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
+ -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
+ -1, -1, -1, 325, -1, -1, -1, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, -1, -1, 355, 356, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
@@ -3915,7 +3839,7 @@ static const yytype_int16 yycheck[] =
137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ -1, 168, 169, 170, 171, 172, 173, 174, 175, 176,
177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
@@ -3930,192 +3854,280 @@ static const yytype_int16 yycheck[] =
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- -1, -1, -1, -1, -1, -1, 323, -1, -1, -1,
- -1, -1, 329, 330, -1, -1, -1, -1, -1, -1,
+ 317, 318, -1, -1, -1, -1, -1, -1, 325, -1,
+ -1, -1, -1, -1, 331, 332, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 348, 349, -1, -1, -1, 353, -1, -1, -1,
- -1, -1, -1, 360, 361, 362, 363, -1, -1, -1,
+ -1, -1, -1, 350, 351, -1, -1, -1, 355, 356,
+ -1, -1, -1, -1, -1, 362, 363, 364, 365, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 381, 382, 383, 384, 385, 386,
- -1, -1, -1, -1, 391, 392, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 383, 384, 385, 386,
+ 387, 388, -1, -1, -1, -1, 393, 394, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 414, 415, 416,
- 417, 418, 419, 420, 421, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 436,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, -1, -1, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
- 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
- 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
- 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, -1, -1, -1, -1, -1, -1, 323,
- -1, -1, -1, -1, -1, 329, 330, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, 423, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 348, 349, -1, -1, 352, -1,
- -1, -1, -1, -1, -1, -1, 360, 361, 362, 363,
+ -1, 438, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
+ -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
+ -1, -1, -1, 325, -1, -1, -1, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, -1, 354, -1, -1, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 381, 382, 383,
- 384, 385, 386, -1, -1, -1, -1, 391, 392, -1,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, -1, -1, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ -1, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, -1, -1, -1, -1, -1, 325, -1,
+ -1, -1, -1, -1, 331, 332, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 414, 415, 416, 417, 418, 419, 420, 421, -1, -1,
+ -1, -1, -1, 350, 351, -1, -1, -1, 355, -1,
+ -1, -1, -1, -1, -1, 362, 363, 364, 365, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 436, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- -1, -1, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, -1, -1, -1, -1,
- -1, -1, 323, -1, -1, -1, -1, -1, 329, 330,
+ -1, -1, -1, -1, -1, -1, 383, 384, 385, 386,
+ 387, 388, -1, -1, -1, -1, 393, 394, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 348, 349, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 359, 360,
- 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, 423, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 381, 382, 383, 384, 385, 386, -1, -1, -1, -1,
- 391, 392, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 438, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
+ -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
+ -1, -1, -1, 325, -1, -1, -1, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, -1, 354, -1, -1, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 414, 415, 416, 417, 418, 419, 420,
- 421, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 436, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, -1, -1, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
- 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
- -1, -1, -1, -1, -1, 323, -1, -1, -1, -1,
- -1, 329, 330, -1, -1, -1, -1, -1, -1, -1,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 348, 349, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 360, 361, 362, 363, -1, -1, -1, -1,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, -1, -1, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ -1, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, -1, -1, -1, -1, -1, 325, -1,
+ -1, -1, -1, -1, 331, 332, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 381, 382, 383, 384, 385, 386, -1,
- -1, -1, -1, 391, 392, -1, -1, -1, -1, -1,
+ -1, -1, -1, 350, 351, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 414, 415, 416, 417,
- 418, 419, 420, 421, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 436, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, -1, -1, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, -1, -1, -1, -1, -1, -1, 323, -1,
- -1, -1, -1, -1, 329, 330, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 383, 384, 385, 386,
+ 387, 388, -1, -1, -1, -1, 393, 394, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 360, 361, 362, 363, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, 423, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, -1, -1, -1, -1, 391, 392, -1, -1,
+ -1, 438, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
+ -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
+ -1, -1, -1, 325, -1, -1, -1, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 414,
- 415, 416, 417, 418, 419, 420, 421, -1, -1, -1,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 436, 4, 5, 6, 7, 8, 9, 10, 11,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, -1, -1, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ -1, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, -1, -1, -1, -1, -1, 325, -1,
+ -1, -1, -1, -1, 331, 332, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 350, 351, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 362, 363, 364, 365, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 383, 384, 385, 386,
+ 387, 388, -1, -1, -1, -1, 393, 394, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, 423, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 438, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
@@ -4131,7 +4143,7 @@ static const yytype_int16 yycheck[] =
132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
- 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
@@ -4146,58 +4158,58 @@ static const yytype_int16 yycheck[] =
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, -1, -1, -1, -1, -1,
- -1, 323, -1, -1, -1, -1, -1, 329, 330, -1,
+ 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
+ -1, -1, -1, 325, -1, -1, -1, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 348, 349, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 360, 361,
- 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 381,
- 382, 383, 384, 385, 386, -1, -1, -1, -1, 391,
- 392, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 414, 415, 416, 417, 418, 419, 420, 421,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, -1, -1, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ -1, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, -1, -1, -1, -1, -1, 325, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 436, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, -1, -1, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
- -1, -1, -1, -1, 323, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 386, -1, -1,
- -1, -1, 391, 392
+ -1, 388, -1, -1, -1, -1, 393, 394
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -4236,142 +4248,142 @@ static const yytype_int16 yystos[] =
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
- 322, 323, 324, 325, 326, 351, 359, 373, 374, 375,
- 376, 377, 386, 387, 388, 389, 390, 391, 392, 408,
- 409, 410, 411, 412, 413, 422, 424, 425, 426, 427,
+ 322, 323, 324, 325, 326, 327, 328, 353, 361, 375,
+ 376, 377, 378, 379, 388, 389, 390, 391, 392, 393,
+ 394, 410, 411, 412, 413, 414, 415, 424, 426, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
- 489, 490, 493, 494, 495, 496, 500, 501, 502, 503,
- 504, 505, 508, 509, 510, 511, 512, 514, 519, 520,
- 521, 562, 563, 564, 566, 573, 577, 578, 583, 586,
- 349, 349, 349, 349, 349, 349, 349, 349, 351, 520,
- 353, 385, 349, 349, 359, 385, 359, 565, 350, 356,
- 497, 498, 499, 509, 514, 356, 359, 385, 359, 385,
- 510, 514, 367, 516, 517, 0, 563, 494, 502, 509,
- 359, 493, 385, 569, 570, 587, 588, 382, 385, 569,
- 382, 569, 382, 569, 382, 569, 382, 569, 569, 587,
- 382, 569, 385, 567, 568, 514, 523, 353, 385, 409,
- 506, 507, 385, 513, 351, 359, 515, 353, 541, 566,
- 498, 497, 499, 385, 385, 349, 358, 515, 353, 356,
- 359, 492, 329, 330, 348, 349, 360, 361, 362, 363,
- 381, 382, 383, 384, 385, 414, 415, 416, 417, 418,
- 419, 420, 421, 459, 460, 461, 463, 464, 465, 466,
- 467, 468, 469, 470, 471, 512, 514, 518, 515, 350,
- 385, 359, 358, 356, 350, 356, 350, 356, 358, 356,
- 356, 356, 350, 356, 356, 356, 356, 356, 356, 356,
- 350, 356, 350, 356, 349, 352, 356, 359, 509, 514,
- 524, 525, 522, 358, 350, 356, 350, 356, 352, 470,
- 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
- 482, 483, 351, 359, 353, 354, 359, 393, 394, 395,
- 396, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 423, 470, 483, 485, 487, 489, 493, 512, 514,
- 530, 531, 532, 533, 534, 542, 543, 544, 545, 548,
- 549, 552, 553, 554, 561, 566, 515, 358, 515, 353,
- 485, 528, 358, 491, 385, 356, 359, 470, 470, 487,
- 329, 330, 351, 355, 350, 350, 356, 392, 485, 349,
- 470, 356, 368, 566, 348, 351, 382, 570, 587, 385,
- 588, 348, 381, 382, 383, 384, 574, 575, 382, 483,
- 488, 576, 382, 381, 382, 383, 384, 579, 580, 382,
- 488, 581, 382, 348, 582, 382, 587, 385, 488, 584,
- 585, 382, 488, 352, 568, 514, 385, 526, 527, 354,
- 525, 524, 488, 507, 385, 364, 365, 366, 361, 363,
- 327, 328, 331, 332, 367, 368, 333, 334, 371, 370,
- 369, 335, 337, 336, 372, 352, 352, 483, 354, 535,
- 349, 359, 359, 556, 349, 349, 359, 359, 487, 349,
- 487, 357, 359, 359, 359, 359, 338, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 358, 486, 356, 359,
- 354, 531, 545, 549, 554, 528, 358, 354, 528, 529,
- 528, 524, 385, 350, 462, 487, 385, 485, 470, 348,
- 382, 571, 572, 350, 358, 350, 356, 350, 356, 350,
- 356, 356, 350, 356, 350, 356, 350, 356, 356, 350,
- 356, 356, 350, 356, 350, 356, 350, 350, 526, 515,
- 356, 359, 354, 470, 470, 470, 472, 472, 473, 473,
- 474, 474, 474, 474, 475, 475, 476, 477, 478, 479,
- 480, 481, 484, 352, 542, 555, 531, 557, 487, 359,
- 487, 357, 485, 485, 528, 354, 356, 354, 352, 352,
- 356, 352, 356, 575, 574, 488, 576, 580, 579, 488,
- 581, 348, 582, 584, 585, 359, 527, 487, 536, 487,
- 502, 547, 393, 530, 543, 558, 350, 350, 354, 528,
- 348, 382, 350, 350, 350, 350, 350, 350, 357, 354,
- 385, 350, 349, 547, 559, 560, 538, 539, 540, 546,
- 550, 485, 358, 532, 537, 541, 487, 359, 350, 397,
- 534, 532, 353, 528, 350, 487, 537, 538, 542, 551,
- 359, 354
+ 458, 459, 491, 492, 495, 496, 497, 498, 502, 503,
+ 504, 505, 506, 507, 510, 511, 512, 513, 514, 516,
+ 521, 522, 523, 564, 565, 566, 568, 575, 579, 580,
+ 585, 588, 351, 351, 351, 351, 351, 351, 351, 351,
+ 353, 522, 355, 387, 351, 351, 361, 387, 361, 567,
+ 352, 358, 499, 500, 501, 511, 516, 358, 361, 387,
+ 361, 387, 512, 516, 369, 518, 519, 0, 565, 496,
+ 504, 511, 361, 495, 387, 571, 572, 589, 590, 384,
+ 387, 571, 384, 571, 384, 571, 384, 571, 384, 571,
+ 571, 589, 384, 571, 387, 569, 570, 516, 525, 355,
+ 387, 411, 508, 509, 387, 515, 353, 361, 517, 355,
+ 543, 568, 500, 499, 501, 387, 387, 351, 360, 517,
+ 355, 358, 361, 494, 331, 332, 350, 351, 362, 363,
+ 364, 365, 383, 384, 385, 386, 387, 416, 417, 418,
+ 419, 420, 421, 422, 423, 461, 462, 463, 465, 466,
+ 467, 468, 469, 470, 471, 472, 473, 514, 516, 520,
+ 517, 352, 387, 361, 360, 358, 352, 358, 352, 358,
+ 360, 358, 358, 358, 352, 358, 358, 358, 358, 358,
+ 358, 358, 352, 358, 352, 358, 351, 354, 358, 361,
+ 511, 516, 526, 527, 524, 360, 352, 358, 352, 358,
+ 354, 472, 474, 475, 476, 477, 478, 479, 480, 481,
+ 482, 483, 484, 485, 353, 361, 355, 356, 361, 395,
+ 396, 397, 398, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 425, 472, 485, 487, 489, 491, 495,
+ 514, 516, 532, 533, 534, 535, 536, 544, 545, 546,
+ 547, 550, 551, 554, 555, 556, 563, 568, 517, 360,
+ 517, 355, 487, 530, 360, 493, 387, 358, 361, 472,
+ 472, 489, 331, 332, 353, 357, 352, 352, 358, 394,
+ 487, 351, 472, 358, 370, 568, 350, 353, 384, 572,
+ 589, 387, 590, 350, 383, 384, 385, 386, 576, 577,
+ 384, 485, 490, 578, 384, 383, 384, 385, 386, 581,
+ 582, 384, 490, 583, 384, 350, 584, 384, 589, 387,
+ 490, 586, 587, 384, 490, 354, 570, 516, 387, 528,
+ 529, 356, 527, 526, 490, 509, 387, 366, 367, 368,
+ 363, 365, 329, 330, 333, 334, 369, 370, 335, 336,
+ 373, 372, 371, 337, 339, 338, 374, 354, 354, 485,
+ 356, 537, 351, 361, 361, 558, 351, 351, 361, 361,
+ 489, 351, 489, 359, 361, 361, 361, 361, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 360, 488,
+ 358, 361, 356, 533, 547, 551, 556, 530, 360, 356,
+ 530, 531, 530, 526, 387, 352, 464, 489, 387, 487,
+ 472, 350, 384, 573, 574, 352, 360, 352, 358, 352,
+ 358, 352, 358, 358, 352, 358, 352, 358, 352, 358,
+ 358, 352, 358, 358, 352, 358, 352, 358, 352, 352,
+ 528, 517, 358, 361, 356, 472, 472, 472, 474, 474,
+ 475, 475, 476, 476, 476, 476, 477, 477, 478, 479,
+ 480, 481, 482, 483, 486, 354, 544, 557, 533, 559,
+ 489, 361, 489, 359, 487, 487, 530, 356, 358, 356,
+ 354, 354, 358, 354, 358, 577, 576, 490, 578, 582,
+ 581, 490, 583, 350, 584, 586, 587, 361, 529, 489,
+ 538, 489, 504, 549, 395, 532, 545, 560, 352, 352,
+ 356, 530, 350, 384, 352, 352, 352, 352, 352, 352,
+ 359, 356, 387, 352, 351, 549, 561, 562, 540, 541,
+ 542, 548, 552, 487, 360, 534, 539, 543, 489, 361,
+ 352, 399, 536, 534, 355, 530, 352, 489, 539, 540,
+ 544, 553, 361, 356
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_int16 yyr1[] =
{
- 0, 458, 459, 460, 460, 460, 460, 460, 460, 460,
- 460, 460, 460, 460, 460, 460, 460, 460, 461, 461,
- 461, 461, 461, 461, 462, 463, 464, 465, 465, 466,
- 466, 467, 467, 468, 469, 469, 469, 470, 470, 470,
- 470, 471, 471, 471, 471, 472, 472, 472, 472, 473,
- 473, 473, 474, 474, 474, 475, 475, 475, 475, 475,
- 476, 476, 476, 477, 477, 478, 478, 479, 479, 480,
- 480, 481, 481, 482, 482, 483, 484, 483, 485, 485,
- 486, 486, 486, 486, 486, 486, 486, 486, 486, 486,
- 486, 487, 487, 488, 489, 489, 489, 489, 489, 489,
- 489, 489, 489, 489, 489, 491, 490, 492, 492, 493,
- 493, 493, 493, 494, 494, 495, 495, 496, 497, 497,
- 498, 498, 498, 498, 499, 500, 500, 500, 500, 500,
- 501, 501, 501, 501, 501, 502, 502, 503, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 505, 506,
- 506, 507, 507, 507, 508, 509, 509, 510, 510, 510,
- 510, 510, 510, 510, 510, 510, 510, 510, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 512, 513, 513, 514, 514, 515,
- 515, 515, 515, 516, 516, 517, 518, 518, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 520, 520, 520, 522, 521, 523, 521,
- 524, 524, 525, 525, 526, 526, 527, 527, 528, 528,
- 528, 528, 529, 529, 530, 531, 531, 532, 532, 532,
- 532, 532, 532, 532, 532, 533, 534, 535, 536, 534,
- 537, 537, 539, 538, 540, 538, 541, 541, 542, 542,
- 543, 543, 544, 544, 545, 546, 546, 547, 547, 548,
- 548, 550, 549, 551, 551, 552, 552, 553, 553, 555,
- 554, 556, 554, 557, 554, 558, 558, 559, 559, 560,
- 560, 561, 561, 561, 561, 561, 561, 561, 561, 562,
- 562, 563, 563, 563, 565, 564, 566, 567, 567, 568,
- 568, 569, 569, 570, 570, 571, 571, 572, 572, 573,
- 573, 573, 573, 573, 573, 574, 574, 575, 575, 575,
- 575, 575, 576, 576, 577, 577, 578, 578, 578, 578,
- 578, 578, 578, 578, 579, 579, 580, 580, 580, 580,
- 581, 581, 582, 582, 583, 583, 583, 583, 584, 584,
- 585, 586, 586, 587, 587, 588, 588
+ 0, 460, 461, 462, 462, 462, 462, 462, 462, 462,
+ 462, 462, 462, 462, 462, 462, 462, 462, 463, 463,
+ 463, 463, 463, 463, 464, 465, 466, 467, 467, 468,
+ 468, 469, 469, 470, 471, 471, 471, 472, 472, 472,
+ 472, 473, 473, 473, 473, 474, 474, 474, 474, 475,
+ 475, 475, 476, 476, 476, 477, 477, 477, 477, 477,
+ 478, 478, 478, 479, 479, 480, 480, 481, 481, 482,
+ 482, 483, 483, 484, 484, 485, 486, 485, 487, 487,
+ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
+ 488, 489, 489, 490, 491, 491, 491, 491, 491, 491,
+ 491, 491, 491, 491, 491, 493, 492, 494, 494, 495,
+ 495, 495, 495, 496, 496, 497, 497, 498, 499, 499,
+ 500, 500, 500, 500, 501, 502, 502, 502, 502, 502,
+ 503, 503, 503, 503, 503, 504, 504, 505, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 507, 508,
+ 508, 509, 509, 509, 510, 511, 511, 512, 512, 512,
+ 512, 512, 512, 512, 512, 512, 512, 512, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 514, 515, 515, 516, 516,
+ 517, 517, 517, 517, 518, 518, 519, 520, 520, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 522, 522, 522, 524, 523,
+ 525, 523, 526, 526, 527, 527, 528, 528, 529, 529,
+ 530, 530, 530, 530, 531, 531, 532, 533, 533, 534,
+ 534, 534, 534, 534, 534, 534, 534, 535, 536, 537,
+ 538, 536, 539, 539, 541, 540, 542, 540, 543, 543,
+ 544, 544, 545, 545, 546, 546, 547, 548, 548, 549,
+ 549, 550, 550, 552, 551, 553, 553, 554, 554, 555,
+ 555, 557, 556, 558, 556, 559, 556, 560, 560, 561,
+ 561, 562, 562, 563, 563, 563, 563, 563, 563, 563,
+ 563, 564, 564, 565, 565, 565, 567, 566, 568, 569,
+ 569, 570, 570, 571, 571, 572, 572, 573, 573, 574,
+ 574, 575, 575, 575, 575, 575, 575, 576, 576, 577,
+ 577, 577, 577, 577, 578, 578, 579, 579, 580, 580,
+ 580, 580, 580, 580, 580, 580, 581, 581, 582, 582,
+ 582, 582, 583, 583, 584, 584, 585, 585, 585, 585,
+ 586, 586, 587, 588, 588, 589, 589, 590, 590
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -4397,8 +4409,8 @@ static const yytype_int8 yyr2[] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 4, 1, 1, 1, 3, 2, 3, 2,
- 3, 3, 4, 1, 0, 3, 1, 3, 1, 1,
+ 1, 1, 1, 4, 1, 1, 1, 3, 2, 3,
+ 2, 3, 3, 4, 1, 0, 3, 1, 3, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -4430,22 +4442,22 @@ static const yytype_int8 yyr2[] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 0, 6, 0, 5,
- 1, 2, 3, 4, 1, 3, 1, 2, 1, 3,
- 4, 2, 1, 3, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 2, 0, 0, 5,
- 1, 1, 0, 2, 0, 2, 2, 3, 1, 2,
- 1, 2, 1, 2, 5, 3, 1, 1, 4, 1,
- 2, 0, 8, 0, 1, 3, 2, 1, 2, 0,
- 6, 0, 8, 0, 7, 1, 1, 1, 0, 2,
- 3, 2, 2, 2, 3, 2, 2, 2, 2, 1,
- 2, 1, 1, 1, 0, 3, 5, 1, 3, 1,
- 4, 1, 3, 5, 5, 1, 3, 1, 3, 4,
- 6, 6, 8, 6, 8, 1, 3, 1, 1, 1,
- 1, 1, 1, 3, 4, 6, 4, 6, 6, 8,
- 6, 8, 6, 8, 1, 3, 1, 1, 1, 1,
- 1, 3, 1, 3, 6, 8, 4, 6, 1, 3,
- 1, 4, 6, 1, 3, 3, 3
+ 1, 1, 1, 1, 1, 1, 1, 1, 0, 6,
+ 0, 5, 1, 2, 3, 4, 1, 3, 1, 2,
+ 1, 3, 4, 2, 1, 3, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 2, 2, 0,
+ 0, 5, 1, 1, 0, 2, 0, 2, 2, 3,
+ 1, 2, 1, 2, 1, 2, 5, 3, 1, 1,
+ 4, 1, 2, 0, 8, 0, 1, 3, 2, 1,
+ 2, 0, 6, 0, 8, 0, 7, 1, 1, 1,
+ 0, 2, 3, 2, 2, 2, 3, 2, 2, 2,
+ 2, 1, 2, 1, 1, 1, 0, 3, 5, 1,
+ 3, 1, 4, 1, 3, 5, 5, 1, 3, 1,
+ 3, 4, 6, 6, 8, 6, 8, 1, 3, 1,
+ 1, 1, 1, 1, 1, 3, 4, 6, 4, 6,
+ 6, 8, 6, 8, 6, 8, 1, 3, 1, 1,
+ 1, 1, 1, 3, 1, 3, 6, 8, 4, 6,
+ 1, 3, 1, 4, 6, 1, 3, 3, 3
};
@@ -5191,260 +5203,260 @@ yyreduce:
switch (yyn)
{
case 2: /* variable_identifier: IDENTIFIER */
-#line 392 "MachineIndependent/glslang.y"
+#line 393 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
}
-#line 5199 "MachineIndependent/glslang_tab.cpp"
+#line 5211 "MachineIndependent/glslang_tab.cpp"
break;
case 3: /* primary_expression: variable_identifier */
-#line 398 "MachineIndependent/glslang.y"
+#line 399 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5207 "MachineIndependent/glslang_tab.cpp"
+#line 5219 "MachineIndependent/glslang_tab.cpp"
break;
case 4: /* primary_expression: LEFT_PAREN expression RIGHT_PAREN */
-#line 401 "MachineIndependent/glslang.y"
+#line 402 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
(yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
}
-#line 5217 "MachineIndependent/glslang_tab.cpp"
+#line 5229 "MachineIndependent/glslang_tab.cpp"
break;
case 5: /* primary_expression: FLOATCONSTANT */
-#line 406 "MachineIndependent/glslang.y"
+#line 407 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
}
-#line 5225 "MachineIndependent/glslang_tab.cpp"
+#line 5237 "MachineIndependent/glslang_tab.cpp"
break;
case 6: /* primary_expression: INTCONSTANT */
-#line 409 "MachineIndependent/glslang.y"
+#line 410 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 5233 "MachineIndependent/glslang_tab.cpp"
+#line 5245 "MachineIndependent/glslang_tab.cpp"
break;
case 7: /* primary_expression: UINTCONSTANT */
-#line 412 "MachineIndependent/glslang.y"
+#line 413 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 5242 "MachineIndependent/glslang_tab.cpp"
+#line 5254 "MachineIndependent/glslang_tab.cpp"
break;
case 8: /* primary_expression: BOOLCONSTANT */
-#line 416 "MachineIndependent/glslang.y"
+#line 417 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
}
-#line 5250 "MachineIndependent/glslang_tab.cpp"
+#line 5262 "MachineIndependent/glslang_tab.cpp"
break;
case 9: /* primary_expression: STRING_LITERAL */
-#line 420 "MachineIndependent/glslang.y"
+#line 421 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true);
}
-#line 5258 "MachineIndependent/glslang_tab.cpp"
+#line 5270 "MachineIndependent/glslang_tab.cpp"
break;
case 10: /* primary_expression: INT32CONSTANT */
-#line 423 "MachineIndependent/glslang.y"
+#line 424 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 5267 "MachineIndependent/glslang_tab.cpp"
+#line 5279 "MachineIndependent/glslang_tab.cpp"
break;
case 11: /* primary_expression: UINT32CONSTANT */
-#line 427 "MachineIndependent/glslang.y"
+#line 428 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 5276 "MachineIndependent/glslang_tab.cpp"
+#line 5288 "MachineIndependent/glslang_tab.cpp"
break;
case 12: /* primary_expression: INT64CONSTANT */
-#line 431 "MachineIndependent/glslang.y"
+#line 432 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true);
}
-#line 5285 "MachineIndependent/glslang_tab.cpp"
+#line 5297 "MachineIndependent/glslang_tab.cpp"
break;
case 13: /* primary_expression: UINT64CONSTANT */
-#line 435 "MachineIndependent/glslang.y"
+#line 436 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true);
}
-#line 5294 "MachineIndependent/glslang_tab.cpp"
+#line 5306 "MachineIndependent/glslang_tab.cpp"
break;
case 14: /* primary_expression: INT16CONSTANT */
-#line 439 "MachineIndependent/glslang.y"
+#line 440 "MachineIndependent/glslang.y"
{
parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 5303 "MachineIndependent/glslang_tab.cpp"
+#line 5315 "MachineIndependent/glslang_tab.cpp"
break;
case 15: /* primary_expression: UINT16CONSTANT */
-#line 443 "MachineIndependent/glslang.y"
+#line 444 "MachineIndependent/glslang.y"
{
parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 5312 "MachineIndependent/glslang_tab.cpp"
+#line 5324 "MachineIndependent/glslang_tab.cpp"
break;
case 16: /* primary_expression: DOUBLECONSTANT */
-#line 447 "MachineIndependent/glslang.y"
+#line 448 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double literal");
if (! parseContext.symbolTable.atBuiltInLevel())
parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true);
}
-#line 5323 "MachineIndependent/glslang_tab.cpp"
+#line 5335 "MachineIndependent/glslang_tab.cpp"
break;
case 17: /* primary_expression: FLOAT16CONSTANT */
-#line 453 "MachineIndependent/glslang.y"
+#line 454 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
}
-#line 5332 "MachineIndependent/glslang_tab.cpp"
+#line 5344 "MachineIndependent/glslang_tab.cpp"
break;
case 18: /* postfix_expression: primary_expression */
-#line 461 "MachineIndependent/glslang.y"
+#line 462 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5340 "MachineIndependent/glslang_tab.cpp"
+#line 5352 "MachineIndependent/glslang_tab.cpp"
break;
case 19: /* postfix_expression: postfix_expression LEFT_BRACKET integer_expression RIGHT_BRACKET */
-#line 464 "MachineIndependent/glslang.y"
+#line 465 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
}
-#line 5348 "MachineIndependent/glslang_tab.cpp"
+#line 5360 "MachineIndependent/glslang_tab.cpp"
break;
case 20: /* postfix_expression: function_call */
-#line 467 "MachineIndependent/glslang.y"
+#line 468 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5356 "MachineIndependent/glslang_tab.cpp"
+#line 5368 "MachineIndependent/glslang_tab.cpp"
break;
case 21: /* postfix_expression: postfix_expression DOT IDENTIFIER */
-#line 470 "MachineIndependent/glslang.y"
+#line 471 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
}
-#line 5364 "MachineIndependent/glslang_tab.cpp"
+#line 5376 "MachineIndependent/glslang_tab.cpp"
break;
case 22: /* postfix_expression: postfix_expression INC_OP */
-#line 473 "MachineIndependent/glslang.y"
+#line 474 "MachineIndependent/glslang.y"
{
parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode));
}
-#line 5374 "MachineIndependent/glslang_tab.cpp"
+#line 5386 "MachineIndependent/glslang_tab.cpp"
break;
case 23: /* postfix_expression: postfix_expression DEC_OP */
-#line 478 "MachineIndependent/glslang.y"
+#line 479 "MachineIndependent/glslang.y"
{
parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode));
}
-#line 5384 "MachineIndependent/glslang_tab.cpp"
+#line 5396 "MachineIndependent/glslang_tab.cpp"
break;
case 24: /* integer_expression: expression */
-#line 486 "MachineIndependent/glslang.y"
+#line 487 "MachineIndependent/glslang.y"
{
parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5393 "MachineIndependent/glslang_tab.cpp"
+#line 5405 "MachineIndependent/glslang_tab.cpp"
break;
case 25: /* function_call: function_call_or_method */
-#line 493 "MachineIndependent/glslang.y"
+#line 494 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);
delete (yyvsp[0].interm).function;
}
-#line 5402 "MachineIndependent/glslang_tab.cpp"
+#line 5414 "MachineIndependent/glslang_tab.cpp"
break;
case 26: /* function_call_or_method: function_call_generic */
-#line 500 "MachineIndependent/glslang.y"
+#line 501 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 5410 "MachineIndependent/glslang_tab.cpp"
+#line 5422 "MachineIndependent/glslang_tab.cpp"
break;
case 27: /* function_call_generic: function_call_header_with_parameters RIGHT_PAREN */
-#line 506 "MachineIndependent/glslang.y"
+#line 507 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 5419 "MachineIndependent/glslang_tab.cpp"
+#line 5431 "MachineIndependent/glslang_tab.cpp"
break;
case 28: /* function_call_generic: function_call_header_no_parameters RIGHT_PAREN */
-#line 510 "MachineIndependent/glslang.y"
+#line 511 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 5428 "MachineIndependent/glslang_tab.cpp"
+#line 5440 "MachineIndependent/glslang_tab.cpp"
break;
case 29: /* function_call_header_no_parameters: function_call_header VOID */
-#line 517 "MachineIndependent/glslang.y"
+#line 518 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
}
-#line 5436 "MachineIndependent/glslang_tab.cpp"
+#line 5448 "MachineIndependent/glslang_tab.cpp"
break;
case 30: /* function_call_header_no_parameters: function_call_header */
-#line 520 "MachineIndependent/glslang.y"
+#line 521 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 5444 "MachineIndependent/glslang_tab.cpp"
+#line 5456 "MachineIndependent/glslang_tab.cpp"
break;
case 31: /* function_call_header_with_parameters: function_call_header assignment_expression */
-#line 526 "MachineIndependent/glslang.y"
+#line 527 "MachineIndependent/glslang.y"
{
TParameter param = { 0, new TType };
param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -5452,11 +5464,11 @@ yyreduce:
(yyval.interm).function = (yyvsp[-1].interm).function;
(yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
}
-#line 5456 "MachineIndependent/glslang_tab.cpp"
+#line 5468 "MachineIndependent/glslang_tab.cpp"
break;
case 32: /* function_call_header_with_parameters: function_call_header_with_parameters COMMA assignment_expression */
-#line 533 "MachineIndependent/glslang.y"
+#line 534 "MachineIndependent/glslang.y"
{
TParameter param = { 0, new TType };
param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -5464,29 +5476,29 @@ yyreduce:
(yyval.interm).function = (yyvsp[-2].interm).function;
(yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
}
-#line 5468 "MachineIndependent/glslang_tab.cpp"
+#line 5480 "MachineIndependent/glslang_tab.cpp"
break;
case 33: /* function_call_header: function_identifier LEFT_PAREN */
-#line 543 "MachineIndependent/glslang.y"
+#line 544 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
}
-#line 5476 "MachineIndependent/glslang_tab.cpp"
+#line 5488 "MachineIndependent/glslang_tab.cpp"
break;
case 34: /* function_identifier: type_specifier */
-#line 551 "MachineIndependent/glslang.y"
+#line 552 "MachineIndependent/glslang.y"
{
// Constructor
(yyval.interm).intermNode = 0;
(yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
}
-#line 5486 "MachineIndependent/glslang_tab.cpp"
+#line 5498 "MachineIndependent/glslang_tab.cpp"
break;
case 35: /* function_identifier: postfix_expression */
-#line 556 "MachineIndependent/glslang.y"
+#line 557 "MachineIndependent/glslang.y"
{
//
// Should be a method or subroutine call, but we haven't recognized the arguments yet.
@@ -5514,50 +5526,50 @@ yyreduce:
(yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull);
}
}
-#line 5518 "MachineIndependent/glslang_tab.cpp"
+#line 5530 "MachineIndependent/glslang_tab.cpp"
break;
case 36: /* function_identifier: non_uniform_qualifier */
-#line 584 "MachineIndependent/glslang.y"
+#line 585 "MachineIndependent/glslang.y"
{
// Constructor
(yyval.interm).intermNode = 0;
(yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
}
-#line 5528 "MachineIndependent/glslang_tab.cpp"
+#line 5540 "MachineIndependent/glslang_tab.cpp"
break;
case 37: /* unary_expression: postfix_expression */
-#line 593 "MachineIndependent/glslang.y"
+#line 594 "MachineIndependent/glslang.y"
{
parseContext.variableCheck((yyvsp[0].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");
}
-#line 5539 "MachineIndependent/glslang_tab.cpp"
+#line 5551 "MachineIndependent/glslang_tab.cpp"
break;
case 38: /* unary_expression: INC_OP unary_expression */
-#line 599 "MachineIndependent/glslang.y"
+#line 600 "MachineIndependent/glslang.y"
{
parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode));
}
-#line 5548 "MachineIndependent/glslang_tab.cpp"
+#line 5560 "MachineIndependent/glslang_tab.cpp"
break;
case 39: /* unary_expression: DEC_OP unary_expression */
-#line 603 "MachineIndependent/glslang.y"
+#line 604 "MachineIndependent/glslang.y"
{
parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode));
}
-#line 5557 "MachineIndependent/glslang_tab.cpp"
+#line 5569 "MachineIndependent/glslang_tab.cpp"
break;
case 40: /* unary_expression: unary_operator unary_expression */
-#line 607 "MachineIndependent/glslang.y"
+#line 608 "MachineIndependent/glslang.y"
{
if ((yyvsp[-1].interm).op != EOpNull) {
char errorOp[2] = {0, 0};
@@ -5574,179 +5586,179 @@ yyreduce:
(yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
}
}
-#line 5578 "MachineIndependent/glslang_tab.cpp"
+#line 5590 "MachineIndependent/glslang_tab.cpp"
break;
case 41: /* unary_operator: PLUS */
-#line 627 "MachineIndependent/glslang.y"
+#line 628 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
-#line 5584 "MachineIndependent/glslang_tab.cpp"
+#line 5596 "MachineIndependent/glslang_tab.cpp"
break;
case 42: /* unary_operator: DASH */
-#line 628 "MachineIndependent/glslang.y"
+#line 629 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
-#line 5590 "MachineIndependent/glslang_tab.cpp"
+#line 5602 "MachineIndependent/glslang_tab.cpp"
break;
case 43: /* unary_operator: BANG */
-#line 629 "MachineIndependent/glslang.y"
+#line 630 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
-#line 5596 "MachineIndependent/glslang_tab.cpp"
+#line 5608 "MachineIndependent/glslang_tab.cpp"
break;
case 44: /* unary_operator: TILDE */
-#line 630 "MachineIndependent/glslang.y"
+#line 631 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
-#line 5603 "MachineIndependent/glslang_tab.cpp"
+#line 5615 "MachineIndependent/glslang_tab.cpp"
break;
case 45: /* multiplicative_expression: unary_expression */
-#line 636 "MachineIndependent/glslang.y"
+#line 637 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5609 "MachineIndependent/glslang_tab.cpp"
+#line 5621 "MachineIndependent/glslang_tab.cpp"
break;
case 46: /* multiplicative_expression: multiplicative_expression STAR unary_expression */
-#line 637 "MachineIndependent/glslang.y"
+#line 638 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5619 "MachineIndependent/glslang_tab.cpp"
+#line 5631 "MachineIndependent/glslang_tab.cpp"
break;
case 47: /* multiplicative_expression: multiplicative_expression SLASH unary_expression */
-#line 642 "MachineIndependent/glslang.y"
+#line 643 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5629 "MachineIndependent/glslang_tab.cpp"
+#line 5641 "MachineIndependent/glslang_tab.cpp"
break;
case 48: /* multiplicative_expression: multiplicative_expression PERCENT unary_expression */
-#line 647 "MachineIndependent/glslang.y"
+#line 648 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5640 "MachineIndependent/glslang_tab.cpp"
+#line 5652 "MachineIndependent/glslang_tab.cpp"
break;
case 49: /* additive_expression: multiplicative_expression */
-#line 656 "MachineIndependent/glslang.y"
+#line 657 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5646 "MachineIndependent/glslang_tab.cpp"
+#line 5658 "MachineIndependent/glslang_tab.cpp"
break;
case 50: /* additive_expression: additive_expression PLUS multiplicative_expression */
-#line 657 "MachineIndependent/glslang.y"
+#line 658 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5656 "MachineIndependent/glslang_tab.cpp"
+#line 5668 "MachineIndependent/glslang_tab.cpp"
break;
case 51: /* additive_expression: additive_expression DASH multiplicative_expression */
-#line 662 "MachineIndependent/glslang.y"
+#line 663 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5666 "MachineIndependent/glslang_tab.cpp"
+#line 5678 "MachineIndependent/glslang_tab.cpp"
break;
case 52: /* shift_expression: additive_expression */
-#line 670 "MachineIndependent/glslang.y"
+#line 671 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5672 "MachineIndependent/glslang_tab.cpp"
+#line 5684 "MachineIndependent/glslang_tab.cpp"
break;
case 53: /* shift_expression: shift_expression LEFT_OP additive_expression */
-#line 671 "MachineIndependent/glslang.y"
+#line 672 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5683 "MachineIndependent/glslang_tab.cpp"
+#line 5695 "MachineIndependent/glslang_tab.cpp"
break;
case 54: /* shift_expression: shift_expression RIGHT_OP additive_expression */
-#line 677 "MachineIndependent/glslang.y"
+#line 678 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5694 "MachineIndependent/glslang_tab.cpp"
+#line 5706 "MachineIndependent/glslang_tab.cpp"
break;
case 55: /* relational_expression: shift_expression */
-#line 686 "MachineIndependent/glslang.y"
+#line 687 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5700 "MachineIndependent/glslang_tab.cpp"
+#line 5712 "MachineIndependent/glslang_tab.cpp"
break;
case 56: /* relational_expression: relational_expression LEFT_ANGLE shift_expression */
-#line 687 "MachineIndependent/glslang.y"
+#line 688 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5710 "MachineIndependent/glslang_tab.cpp"
+#line 5722 "MachineIndependent/glslang_tab.cpp"
break;
case 57: /* relational_expression: relational_expression RIGHT_ANGLE shift_expression */
-#line 692 "MachineIndependent/glslang.y"
+#line 693 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5720 "MachineIndependent/glslang_tab.cpp"
+#line 5732 "MachineIndependent/glslang_tab.cpp"
break;
case 58: /* relational_expression: relational_expression LE_OP shift_expression */
-#line 697 "MachineIndependent/glslang.y"
+#line 698 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5730 "MachineIndependent/glslang_tab.cpp"
+#line 5742 "MachineIndependent/glslang_tab.cpp"
break;
case 59: /* relational_expression: relational_expression GE_OP shift_expression */
-#line 702 "MachineIndependent/glslang.y"
+#line 703 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5740 "MachineIndependent/glslang_tab.cpp"
+#line 5752 "MachineIndependent/glslang_tab.cpp"
break;
case 60: /* equality_expression: relational_expression */
-#line 710 "MachineIndependent/glslang.y"
+#line 711 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5746 "MachineIndependent/glslang_tab.cpp"
+#line 5758 "MachineIndependent/glslang_tab.cpp"
break;
case 61: /* equality_expression: equality_expression EQ_OP relational_expression */
-#line 711 "MachineIndependent/glslang.y"
+#line 712 "MachineIndependent/glslang.y"
{
parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
@@ -5756,11 +5768,11 @@ yyreduce:
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5760 "MachineIndependent/glslang_tab.cpp"
+#line 5772 "MachineIndependent/glslang_tab.cpp"
break;
case 62: /* equality_expression: equality_expression NE_OP relational_expression */
-#line 720 "MachineIndependent/glslang.y"
+#line 721 "MachineIndependent/glslang.y"
{
parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
@@ -5770,124 +5782,124 @@ yyreduce:
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5774 "MachineIndependent/glslang_tab.cpp"
+#line 5786 "MachineIndependent/glslang_tab.cpp"
break;
case 63: /* and_expression: equality_expression */
-#line 732 "MachineIndependent/glslang.y"
+#line 733 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5780 "MachineIndependent/glslang_tab.cpp"
+#line 5792 "MachineIndependent/glslang_tab.cpp"
break;
case 64: /* and_expression: and_expression AMPERSAND equality_expression */
-#line 733 "MachineIndependent/glslang.y"
+#line 734 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5791 "MachineIndependent/glslang_tab.cpp"
+#line 5803 "MachineIndependent/glslang_tab.cpp"
break;
case 65: /* exclusive_or_expression: and_expression */
-#line 742 "MachineIndependent/glslang.y"
+#line 743 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5797 "MachineIndependent/glslang_tab.cpp"
+#line 5809 "MachineIndependent/glslang_tab.cpp"
break;
case 66: /* exclusive_or_expression: exclusive_or_expression CARET and_expression */
-#line 743 "MachineIndependent/glslang.y"
+#line 744 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5808 "MachineIndependent/glslang_tab.cpp"
+#line 5820 "MachineIndependent/glslang_tab.cpp"
break;
case 67: /* inclusive_or_expression: exclusive_or_expression */
-#line 752 "MachineIndependent/glslang.y"
+#line 753 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5814 "MachineIndependent/glslang_tab.cpp"
+#line 5826 "MachineIndependent/glslang_tab.cpp"
break;
case 68: /* inclusive_or_expression: inclusive_or_expression VERTICAL_BAR exclusive_or_expression */
-#line 753 "MachineIndependent/glslang.y"
+#line 754 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5825 "MachineIndependent/glslang_tab.cpp"
+#line 5837 "MachineIndependent/glslang_tab.cpp"
break;
case 69: /* logical_and_expression: inclusive_or_expression */
-#line 762 "MachineIndependent/glslang.y"
+#line 763 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5831 "MachineIndependent/glslang_tab.cpp"
+#line 5843 "MachineIndependent/glslang_tab.cpp"
break;
case 70: /* logical_and_expression: logical_and_expression AND_OP inclusive_or_expression */
-#line 763 "MachineIndependent/glslang.y"
+#line 764 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5841 "MachineIndependent/glslang_tab.cpp"
+#line 5853 "MachineIndependent/glslang_tab.cpp"
break;
case 71: /* logical_xor_expression: logical_and_expression */
-#line 771 "MachineIndependent/glslang.y"
+#line 772 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5847 "MachineIndependent/glslang_tab.cpp"
+#line 5859 "MachineIndependent/glslang_tab.cpp"
break;
case 72: /* logical_xor_expression: logical_xor_expression XOR_OP logical_and_expression */
-#line 772 "MachineIndependent/glslang.y"
+#line 773 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5857 "MachineIndependent/glslang_tab.cpp"
+#line 5869 "MachineIndependent/glslang_tab.cpp"
break;
case 73: /* logical_or_expression: logical_xor_expression */
-#line 780 "MachineIndependent/glslang.y"
+#line 781 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5863 "MachineIndependent/glslang_tab.cpp"
+#line 5875 "MachineIndependent/glslang_tab.cpp"
break;
case 74: /* logical_or_expression: logical_or_expression OR_OP logical_xor_expression */
-#line 781 "MachineIndependent/glslang.y"
+#line 782 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5873 "MachineIndependent/glslang_tab.cpp"
+#line 5885 "MachineIndependent/glslang_tab.cpp"
break;
case 75: /* conditional_expression: logical_or_expression */
-#line 789 "MachineIndependent/glslang.y"
+#line 790 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5879 "MachineIndependent/glslang_tab.cpp"
+#line 5891 "MachineIndependent/glslang_tab.cpp"
break;
case 76: /* $@1: %empty */
-#line 790 "MachineIndependent/glslang.y"
+#line 791 "MachineIndependent/glslang.y"
{
++parseContext.controlFlowNestingLevel;
}
-#line 5887 "MachineIndependent/glslang_tab.cpp"
+#line 5899 "MachineIndependent/glslang_tab.cpp"
break;
case 77: /* conditional_expression: logical_or_expression QUESTION $@1 expression COLON assignment_expression */
-#line 793 "MachineIndependent/glslang.y"
+#line 794 "MachineIndependent/glslang.y"
{
--parseContext.controlFlowNestingLevel;
parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));
@@ -5900,17 +5912,17 @@ yyreduce:
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
}
-#line 5904 "MachineIndependent/glslang_tab.cpp"
+#line 5916 "MachineIndependent/glslang_tab.cpp"
break;
case 78: /* assignment_expression: conditional_expression */
-#line 808 "MachineIndependent/glslang.y"
+#line 809 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5910 "MachineIndependent/glslang_tab.cpp"
+#line 5922 "MachineIndependent/glslang_tab.cpp"
break;
case 79: /* assignment_expression: unary_expression assignment_operator assignment_expression */
-#line 809 "MachineIndependent/glslang.y"
+#line 810 "MachineIndependent/glslang.y"
{
parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");
parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
@@ -5924,119 +5936,119 @@ yyreduce:
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
}
-#line 5928 "MachineIndependent/glslang_tab.cpp"
+#line 5940 "MachineIndependent/glslang_tab.cpp"
break;
case 80: /* assignment_operator: EQUAL */
-#line 825 "MachineIndependent/glslang.y"
+#line 826 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpAssign;
}
-#line 5937 "MachineIndependent/glslang_tab.cpp"
+#line 5949 "MachineIndependent/glslang_tab.cpp"
break;
case 81: /* assignment_operator: MUL_ASSIGN */
-#line 829 "MachineIndependent/glslang.y"
+#line 830 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpMulAssign;
}
-#line 5946 "MachineIndependent/glslang_tab.cpp"
+#line 5958 "MachineIndependent/glslang_tab.cpp"
break;
case 82: /* assignment_operator: DIV_ASSIGN */
-#line 833 "MachineIndependent/glslang.y"
+#line 834 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpDivAssign;
}
-#line 5955 "MachineIndependent/glslang_tab.cpp"
+#line 5967 "MachineIndependent/glslang_tab.cpp"
break;
case 83: /* assignment_operator: MOD_ASSIGN */
-#line 837 "MachineIndependent/glslang.y"
+#line 838 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpModAssign;
}
-#line 5965 "MachineIndependent/glslang_tab.cpp"
+#line 5977 "MachineIndependent/glslang_tab.cpp"
break;
case 84: /* assignment_operator: ADD_ASSIGN */
-#line 842 "MachineIndependent/glslang.y"
+#line 843 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpAddAssign;
}
-#line 5974 "MachineIndependent/glslang_tab.cpp"
+#line 5986 "MachineIndependent/glslang_tab.cpp"
break;
case 85: /* assignment_operator: SUB_ASSIGN */
-#line 846 "MachineIndependent/glslang.y"
+#line 847 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpSubAssign;
}
-#line 5983 "MachineIndependent/glslang_tab.cpp"
+#line 5995 "MachineIndependent/glslang_tab.cpp"
break;
case 86: /* assignment_operator: LEFT_ASSIGN */
-#line 850 "MachineIndependent/glslang.y"
+#line 851 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
}
-#line 5992 "MachineIndependent/glslang_tab.cpp"
+#line 6004 "MachineIndependent/glslang_tab.cpp"
break;
case 87: /* assignment_operator: RIGHT_ASSIGN */
-#line 854 "MachineIndependent/glslang.y"
+#line 855 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
}
-#line 6001 "MachineIndependent/glslang_tab.cpp"
+#line 6013 "MachineIndependent/glslang_tab.cpp"
break;
case 88: /* assignment_operator: AND_ASSIGN */
-#line 858 "MachineIndependent/glslang.y"
+#line 859 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
}
-#line 6010 "MachineIndependent/glslang_tab.cpp"
+#line 6022 "MachineIndependent/glslang_tab.cpp"
break;
case 89: /* assignment_operator: XOR_ASSIGN */
-#line 862 "MachineIndependent/glslang.y"
+#line 863 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
}
-#line 6019 "MachineIndependent/glslang_tab.cpp"
+#line 6031 "MachineIndependent/glslang_tab.cpp"
break;
case 90: /* assignment_operator: OR_ASSIGN */
-#line 866 "MachineIndependent/glslang.y"
+#line 867 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
}
-#line 6028 "MachineIndependent/glslang_tab.cpp"
+#line 6040 "MachineIndependent/glslang_tab.cpp"
break;
case 91: /* expression: assignment_expression */
-#line 873 "MachineIndependent/glslang.y"
+#line 874 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 6036 "MachineIndependent/glslang_tab.cpp"
+#line 6048 "MachineIndependent/glslang_tab.cpp"
break;
case 92: /* expression: expression COMMA assignment_expression */
-#line 876 "MachineIndependent/glslang.y"
+#line 877 "MachineIndependent/glslang.y"
{
parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
@@ -6045,30 +6057,30 @@ yyreduce:
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
}
-#line 6049 "MachineIndependent/glslang_tab.cpp"
+#line 6061 "MachineIndependent/glslang_tab.cpp"
break;
case 93: /* constant_expression: conditional_expression */
-#line 887 "MachineIndependent/glslang.y"
+#line 888 "MachineIndependent/glslang.y"
{
parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 6058 "MachineIndependent/glslang_tab.cpp"
+#line 6070 "MachineIndependent/glslang_tab.cpp"
break;
case 94: /* declaration: function_prototype SEMICOLON */
-#line 894 "MachineIndependent/glslang.y"
+#line 895 "MachineIndependent/glslang.y"
{
parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);
(yyval.interm.intermNode) = 0;
// TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
}
-#line 6068 "MachineIndependent/glslang_tab.cpp"
+#line 6080 "MachineIndependent/glslang_tab.cpp"
break;
case 95: /* declaration: spirv_instruction_qualifier function_prototype SEMICOLON */
-#line 900 "MachineIndependent/glslang.y"
+#line 901 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[-1].interm).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V instruction qualifier");
(yyvsp[-1].interm).function->setSpirvInstruction(*(yyvsp[-2].interm.spirvInst)); // Attach SPIR-V intruction qualifier
@@ -6076,31 +6088,31 @@ yyreduce:
(yyval.interm.intermNode) = 0;
// TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
}
-#line 6080 "MachineIndependent/glslang_tab.cpp"
+#line 6092 "MachineIndependent/glslang_tab.cpp"
break;
case 96: /* declaration: spirv_execution_mode_qualifier SEMICOLON */
-#line 907 "MachineIndependent/glslang.y"
+#line 908 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "SPIR-V execution mode qualifier");
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V execution mode qualifier");
(yyval.interm.intermNode) = 0;
}
-#line 6090 "MachineIndependent/glslang_tab.cpp"
+#line 6102 "MachineIndependent/glslang_tab.cpp"
break;
case 97: /* declaration: init_declarator_list SEMICOLON */
-#line 913 "MachineIndependent/glslang.y"
+#line 914 "MachineIndependent/glslang.y"
{
if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate())
(yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;
}
-#line 6100 "MachineIndependent/glslang_tab.cpp"
+#line 6112 "MachineIndependent/glslang_tab.cpp"
break;
case 98: /* declaration: PRECISION precision_qualifier type_specifier SEMICOLON */
-#line 918 "MachineIndependent/glslang.y"
+#line 919 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");
// lazy setting of the previous scope's defaults, has effect only the first time it is called in a particular scope
@@ -6108,75 +6120,75 @@ yyreduce:
parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
(yyval.interm.intermNode) = 0;
}
-#line 6112 "MachineIndependent/glslang_tab.cpp"
+#line 6124 "MachineIndependent/glslang_tab.cpp"
break;
case 99: /* declaration: block_structure SEMICOLON */
-#line 925 "MachineIndependent/glslang.y"
+#line 926 "MachineIndependent/glslang.y"
{
parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
(yyval.interm.intermNode) = 0;
}
-#line 6121 "MachineIndependent/glslang_tab.cpp"
+#line 6133 "MachineIndependent/glslang_tab.cpp"
break;
case 100: /* declaration: block_structure IDENTIFIER SEMICOLON */
-#line 929 "MachineIndependent/glslang.y"
+#line 930 "MachineIndependent/glslang.y"
{
parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
(yyval.interm.intermNode) = 0;
}
-#line 6130 "MachineIndependent/glslang_tab.cpp"
+#line 6142 "MachineIndependent/glslang_tab.cpp"
break;
case 101: /* declaration: block_structure IDENTIFIER array_specifier SEMICOLON */
-#line 933 "MachineIndependent/glslang.y"
+#line 934 "MachineIndependent/glslang.y"
{
parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
(yyval.interm.intermNode) = 0;
}
-#line 6139 "MachineIndependent/glslang_tab.cpp"
+#line 6151 "MachineIndependent/glslang_tab.cpp"
break;
case 102: /* declaration: type_qualifier SEMICOLON */
-#line 937 "MachineIndependent/glslang.y"
+#line 938 "MachineIndependent/glslang.y"
{
parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
(yyval.interm.intermNode) = 0;
}
-#line 6149 "MachineIndependent/glslang_tab.cpp"
+#line 6161 "MachineIndependent/glslang_tab.cpp"
break;
case 103: /* declaration: type_qualifier IDENTIFIER SEMICOLON */
-#line 942 "MachineIndependent/glslang.y"
+#line 943 "MachineIndependent/glslang.y"
{
parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
(yyval.interm.intermNode) = 0;
}
-#line 6159 "MachineIndependent/glslang_tab.cpp"
+#line 6171 "MachineIndependent/glslang_tab.cpp"
break;
case 104: /* declaration: type_qualifier IDENTIFIER identifier_list SEMICOLON */
-#line 947 "MachineIndependent/glslang.y"
+#line 948 "MachineIndependent/glslang.y"
{
parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);
(yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);
parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
(yyval.interm.intermNode) = 0;
}
-#line 6170 "MachineIndependent/glslang_tab.cpp"
+#line 6182 "MachineIndependent/glslang_tab.cpp"
break;
case 105: /* $@2: %empty */
-#line 956 "MachineIndependent/glslang.y"
+#line 957 "MachineIndependent/glslang.y"
{ parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
-#line 6176 "MachineIndependent/glslang_tab.cpp"
+#line 6188 "MachineIndependent/glslang_tab.cpp"
break;
case 106: /* block_structure: type_qualifier IDENTIFIER LEFT_BRACE $@2 struct_declaration_list RIGHT_BRACE */
-#line 956 "MachineIndependent/glslang.y"
+#line 957 "MachineIndependent/glslang.y"
{
--parseContext.blockNestingLevel;
parseContext.blockName = (yyvsp[-4].lex).string;
@@ -6186,60 +6198,60 @@ yyreduce:
(yyval.interm).loc = (yyvsp[-5].interm.type).loc;
(yyval.interm).typeList = (yyvsp[-1].interm.typeList);
}
-#line 6190 "MachineIndependent/glslang_tab.cpp"
+#line 6202 "MachineIndependent/glslang_tab.cpp"
break;
case 107: /* identifier_list: COMMA IDENTIFIER */
-#line 967 "MachineIndependent/glslang.y"
+#line 968 "MachineIndependent/glslang.y"
{
(yyval.interm.identifierList) = new TIdentifierList;
(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
}
-#line 6199 "MachineIndependent/glslang_tab.cpp"
+#line 6211 "MachineIndependent/glslang_tab.cpp"
break;
case 108: /* identifier_list: identifier_list COMMA IDENTIFIER */
-#line 971 "MachineIndependent/glslang.y"
+#line 972 "MachineIndependent/glslang.y"
{
(yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
}
-#line 6208 "MachineIndependent/glslang_tab.cpp"
+#line 6220 "MachineIndependent/glslang_tab.cpp"
break;
case 109: /* function_prototype: function_declarator RIGHT_PAREN */
-#line 978 "MachineIndependent/glslang.y"
+#line 979 "MachineIndependent/glslang.y"
{
(yyval.interm).function = (yyvsp[-1].interm.function);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 6217 "MachineIndependent/glslang_tab.cpp"
+#line 6229 "MachineIndependent/glslang_tab.cpp"
break;
case 110: /* function_prototype: function_declarator RIGHT_PAREN attribute */
-#line 982 "MachineIndependent/glslang.y"
+#line 983 "MachineIndependent/glslang.y"
{
(yyval.interm).function = (yyvsp[-2].interm.function);
(yyval.interm).loc = (yyvsp[-1].lex).loc;
parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes));
}
-#line 6228 "MachineIndependent/glslang_tab.cpp"
+#line 6240 "MachineIndependent/glslang_tab.cpp"
break;
case 111: /* function_prototype: attribute function_declarator RIGHT_PAREN */
-#line 988 "MachineIndependent/glslang.y"
+#line 989 "MachineIndependent/glslang.y"
{
(yyval.interm).function = (yyvsp[-1].interm.function);
(yyval.interm).loc = (yyvsp[0].lex).loc;
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
parseContext.handleFunctionAttributes((yyvsp[0].lex).loc, *(yyvsp[-2].interm.attributes));
}
-#line 6239 "MachineIndependent/glslang_tab.cpp"
+#line 6251 "MachineIndependent/glslang_tab.cpp"
break;
case 112: /* function_prototype: attribute function_declarator RIGHT_PAREN attribute */
-#line 994 "MachineIndependent/glslang.y"
+#line 995 "MachineIndependent/glslang.y"
{
(yyval.interm).function = (yyvsp[-2].interm.function);
(yyval.interm).loc = (yyvsp[-1].lex).loc;
@@ -6247,27 +6259,27 @@ yyreduce:
parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[-3].interm.attributes));
parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes));
}
-#line 6251 "MachineIndependent/glslang_tab.cpp"
+#line 6263 "MachineIndependent/glslang_tab.cpp"
break;
case 113: /* function_declarator: function_header */
-#line 1004 "MachineIndependent/glslang.y"
+#line 1005 "MachineIndependent/glslang.y"
{
(yyval.interm.function) = (yyvsp[0].interm.function);
}
-#line 6259 "MachineIndependent/glslang_tab.cpp"
+#line 6271 "MachineIndependent/glslang_tab.cpp"
break;
case 114: /* function_declarator: function_header_with_parameters */
-#line 1007 "MachineIndependent/glslang.y"
+#line 1008 "MachineIndependent/glslang.y"
{
(yyval.interm.function) = (yyvsp[0].interm.function);
}
-#line 6267 "MachineIndependent/glslang_tab.cpp"
+#line 6279 "MachineIndependent/glslang_tab.cpp"
break;
case 115: /* function_header_with_parameters: function_header parameter_declaration */
-#line 1014 "MachineIndependent/glslang.y"
+#line 1015 "MachineIndependent/glslang.y"
{
// Add the parameter
(yyval.interm.function) = (yyvsp[-1].interm.function);
@@ -6276,11 +6288,11 @@ yyreduce:
else
delete (yyvsp[0].interm).param.type;
}
-#line 6280 "MachineIndependent/glslang_tab.cpp"
+#line 6292 "MachineIndependent/glslang_tab.cpp"
break;
case 116: /* function_header_with_parameters: function_header_with_parameters COMMA parameter_declaration */
-#line 1022 "MachineIndependent/glslang.y"
+#line 1023 "MachineIndependent/glslang.y"
{
//
// Only first parameter of one-parameter functions can be void
@@ -6298,11 +6310,11 @@ yyreduce:
(yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
}
}
-#line 6302 "MachineIndependent/glslang_tab.cpp"
+#line 6314 "MachineIndependent/glslang_tab.cpp"
break;
case 117: /* function_header: fully_specified_type IDENTIFIER LEFT_PAREN */
-#line 1042 "MachineIndependent/glslang.y"
+#line 1043 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {
parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",
@@ -6322,11 +6334,11 @@ yyreduce:
function = new TFunction((yyvsp[-1].lex).string, type);
(yyval.interm.function) = function;
}
-#line 6326 "MachineIndependent/glslang_tab.cpp"
+#line 6338 "MachineIndependent/glslang_tab.cpp"
break;
case 118: /* parameter_declarator: type_specifier IDENTIFIER */
-#line 1065 "MachineIndependent/glslang.y"
+#line 1066 "MachineIndependent/glslang.y"
{
if ((yyvsp[-1].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -6342,11 +6354,11 @@ yyreduce:
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).param = param;
}
-#line 6346 "MachineIndependent/glslang_tab.cpp"
+#line 6358 "MachineIndependent/glslang_tab.cpp"
break;
case 119: /* parameter_declarator: type_specifier IDENTIFIER array_specifier */
-#line 1080 "MachineIndependent/glslang.y"
+#line 1081 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -6366,11 +6378,11 @@ yyreduce:
(yyval.interm).loc = (yyvsp[-1].lex).loc;
(yyval.interm).param = param;
}
-#line 6370 "MachineIndependent/glslang_tab.cpp"
+#line 6382 "MachineIndependent/glslang_tab.cpp"
break;
case 120: /* parameter_declaration: type_qualifier parameter_declarator */
-#line 1105 "MachineIndependent/glslang.y"
+#line 1106 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -6382,11 +6394,11 @@ yyreduce:
parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
}
-#line 6386 "MachineIndependent/glslang_tab.cpp"
+#line 6398 "MachineIndependent/glslang_tab.cpp"
break;
case 121: /* parameter_declaration: parameter_declarator */
-#line 1116 "MachineIndependent/glslang.y"
+#line 1117 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
@@ -6394,11 +6406,11 @@ yyreduce:
parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
}
-#line 6398 "MachineIndependent/glslang_tab.cpp"
+#line 6410 "MachineIndependent/glslang_tab.cpp"
break;
case 122: /* parameter_declaration: type_qualifier parameter_type_specifier */
-#line 1126 "MachineIndependent/glslang.y"
+#line 1127 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -6409,11 +6421,11 @@ yyreduce:
parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
}
-#line 6413 "MachineIndependent/glslang_tab.cpp"
+#line 6425 "MachineIndependent/glslang_tab.cpp"
break;
case 123: /* parameter_declaration: parameter_type_specifier */
-#line 1136 "MachineIndependent/glslang.y"
+#line 1137 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
@@ -6421,68 +6433,68 @@ yyreduce:
parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
}
-#line 6425 "MachineIndependent/glslang_tab.cpp"
+#line 6437 "MachineIndependent/glslang_tab.cpp"
break;
case 124: /* parameter_type_specifier: type_specifier */
-#line 1146 "MachineIndependent/glslang.y"
+#line 1147 "MachineIndependent/glslang.y"
{
TParameter param = { 0, new TType((yyvsp[0].interm.type)) };
(yyval.interm).param = param;
if ((yyvsp[0].interm.type).arraySizes)
parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);
}
-#line 6436 "MachineIndependent/glslang_tab.cpp"
+#line 6448 "MachineIndependent/glslang_tab.cpp"
break;
case 125: /* init_declarator_list: single_declaration */
-#line 1155 "MachineIndependent/glslang.y"
+#line 1156 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 6444 "MachineIndependent/glslang_tab.cpp"
+#line 6456 "MachineIndependent/glslang_tab.cpp"
break;
case 126: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER */
-#line 1158 "MachineIndependent/glslang.y"
+#line 1159 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-2].interm);
parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
}
-#line 6453 "MachineIndependent/glslang_tab.cpp"
+#line 6465 "MachineIndependent/glslang_tab.cpp"
break;
case 127: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier */
-#line 1162 "MachineIndependent/glslang.y"
+#line 1163 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-3].interm);
parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);
}
-#line 6462 "MachineIndependent/glslang_tab.cpp"
+#line 6474 "MachineIndependent/glslang_tab.cpp"
break;
case 128: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier EQUAL initializer */
-#line 1166 "MachineIndependent/glslang.y"
+#line 1167 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-5].interm).type;
TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
(yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
}
-#line 6472 "MachineIndependent/glslang_tab.cpp"
+#line 6484 "MachineIndependent/glslang_tab.cpp"
break;
case 129: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER EQUAL initializer */
-#line 1171 "MachineIndependent/glslang.y"
+#line 1172 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-4].interm).type;
TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode));
(yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
}
-#line 6482 "MachineIndependent/glslang_tab.cpp"
+#line 6494 "MachineIndependent/glslang_tab.cpp"
break;
case 130: /* single_declaration: fully_specified_type */
-#line 1179 "MachineIndependent/glslang.y"
+#line 1180 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[0].interm.type);
(yyval.interm).intermNode = 0;
@@ -6490,51 +6502,51 @@ yyreduce:
parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
}
-#line 6494 "MachineIndependent/glslang_tab.cpp"
+#line 6506 "MachineIndependent/glslang_tab.cpp"
break;
case 131: /* single_declaration: fully_specified_type IDENTIFIER */
-#line 1186 "MachineIndependent/glslang.y"
+#line 1187 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-1].interm.type);
(yyval.interm).intermNode = 0;
parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));
}
-#line 6504 "MachineIndependent/glslang_tab.cpp"
+#line 6516 "MachineIndependent/glslang_tab.cpp"
break;
case 132: /* single_declaration: fully_specified_type IDENTIFIER array_specifier */
-#line 1191 "MachineIndependent/glslang.y"
+#line 1192 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-2].interm.type);
(yyval.interm).intermNode = 0;
parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);
}
-#line 6514 "MachineIndependent/glslang_tab.cpp"
+#line 6526 "MachineIndependent/glslang_tab.cpp"
break;
case 133: /* single_declaration: fully_specified_type IDENTIFIER array_specifier EQUAL initializer */
-#line 1196 "MachineIndependent/glslang.y"
+#line 1197 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-4].interm.type);
TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
(yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
}
-#line 6524 "MachineIndependent/glslang_tab.cpp"
+#line 6536 "MachineIndependent/glslang_tab.cpp"
break;
case 134: /* single_declaration: fully_specified_type IDENTIFIER EQUAL initializer */
-#line 1201 "MachineIndependent/glslang.y"
+#line 1202 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-3].interm.type);
TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
(yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
}
-#line 6534 "MachineIndependent/glslang_tab.cpp"
+#line 6546 "MachineIndependent/glslang_tab.cpp"
break;
case 135: /* fully_specified_type: type_specifier */
-#line 1210 "MachineIndependent/glslang.y"
+#line 1211 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
@@ -6545,13 +6557,13 @@ yyreduce:
}
parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
}
-#line 6549 "MachineIndependent/glslang_tab.cpp"
+#line 6561 "MachineIndependent/glslang_tab.cpp"
break;
case 136: /* fully_specified_type: type_qualifier type_specifier */
-#line 1220 "MachineIndependent/glslang.y"
+#line 1221 "MachineIndependent/glslang.y"
{
- parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
+ parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, false, &(yyvsp[0].interm.type));
parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
if ((yyvsp[0].interm.type).arraySizes) {
@@ -6574,22 +6586,22 @@ yyreduce:
(parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
(yyval.interm.type).qualifier.smooth = true;
}
-#line 6578 "MachineIndependent/glslang_tab.cpp"
+#line 6590 "MachineIndependent/glslang_tab.cpp"
break;
case 137: /* invariant_qualifier: INVARIANT */
-#line 1247 "MachineIndependent/glslang.y"
+#line 1248 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");
parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.invariant = true;
}
-#line 6589 "MachineIndependent/glslang_tab.cpp"
+#line 6601 "MachineIndependent/glslang_tab.cpp"
break;
case 138: /* interpolation_qualifier: SMOOTH */
-#line 1256 "MachineIndependent/glslang.y"
+#line 1257 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
@@ -6597,11 +6609,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.smooth = true;
}
-#line 6601 "MachineIndependent/glslang_tab.cpp"
+#line 6613 "MachineIndependent/glslang_tab.cpp"
break;
case 139: /* interpolation_qualifier: FLAT */
-#line 1263 "MachineIndependent/glslang.y"
+#line 1264 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
@@ -6609,11 +6621,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.flat = true;
}
-#line 6613 "MachineIndependent/glslang_tab.cpp"
+#line 6625 "MachineIndependent/glslang_tab.cpp"
break;
case 140: /* interpolation_qualifier: NOPERSPECTIVE */
-#line 1271 "MachineIndependent/glslang.y"
+#line 1272 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_shader_noperspective_interpolation, "noperspective");
@@ -6621,11 +6633,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.nopersp = true;
}
-#line 6625 "MachineIndependent/glslang_tab.cpp"
+#line 6637 "MachineIndependent/glslang_tab.cpp"
break;
case 141: /* interpolation_qualifier: EXPLICITINTERPAMD */
-#line 1278 "MachineIndependent/glslang.y"
+#line 1279 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");
@@ -6633,11 +6645,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.explicitInterp = true;
}
-#line 6637 "MachineIndependent/glslang_tab.cpp"
+#line 6649 "MachineIndependent/glslang_tab.cpp"
break;
case 142: /* interpolation_qualifier: PERVERTEXNV */
-#line 1285 "MachineIndependent/glslang.y"
+#line 1286 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexNV");
parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
@@ -6646,11 +6658,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.pervertexNV = true;
}
-#line 6650 "MachineIndependent/glslang_tab.cpp"
+#line 6662 "MachineIndependent/glslang_tab.cpp"
break;
case 143: /* interpolation_qualifier: PERVERTEXEXT */
-#line 1293 "MachineIndependent/glslang.y"
+#line 1294 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexEXT");
parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_EXT_fragment_shader_barycentric, "fragment shader barycentric");
@@ -6659,11 +6671,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.pervertexEXT = true;
}
-#line 6663 "MachineIndependent/glslang_tab.cpp"
+#line 6675 "MachineIndependent/glslang_tab.cpp"
break;
case 144: /* interpolation_qualifier: PERPRIMITIVENV */
-#line 1301 "MachineIndependent/glslang.y"
+#line 1302 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveNV");
@@ -6674,11 +6686,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perPrimitiveNV = true;
}
-#line 6678 "MachineIndependent/glslang_tab.cpp"
+#line 6690 "MachineIndependent/glslang_tab.cpp"
break;
case 145: /* interpolation_qualifier: PERPRIMITIVEEXT */
-#line 1311 "MachineIndependent/glslang.y"
+#line 1312 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveEXT");
@@ -6689,11 +6701,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perPrimitiveNV = true;
}
-#line 6693 "MachineIndependent/glslang_tab.cpp"
+#line 6705 "MachineIndependent/glslang_tab.cpp"
break;
case 146: /* interpolation_qualifier: PERVIEWNV */
-#line 1321 "MachineIndependent/glslang.y"
+#line 1322 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "perviewNV");
@@ -6701,11 +6713,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perViewNV = true;
}
-#line 6705 "MachineIndependent/glslang_tab.cpp"
+#line 6717 "MachineIndependent/glslang_tab.cpp"
break;
case 147: /* interpolation_qualifier: PERTASKNV */
-#line 1328 "MachineIndependent/glslang.y"
+#line 1329 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "taskNV");
@@ -6713,84 +6725,84 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perTaskNV = true;
}
-#line 6717 "MachineIndependent/glslang_tab.cpp"
+#line 6729 "MachineIndependent/glslang_tab.cpp"
break;
case 148: /* layout_qualifier: LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN */
-#line 1339 "MachineIndependent/glslang.y"
+#line 1340 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
}
-#line 6725 "MachineIndependent/glslang_tab.cpp"
+#line 6737 "MachineIndependent/glslang_tab.cpp"
break;
case 149: /* layout_qualifier_id_list: layout_qualifier_id */
-#line 1345 "MachineIndependent/glslang.y"
+#line 1346 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6733 "MachineIndependent/glslang_tab.cpp"
+#line 6745 "MachineIndependent/glslang_tab.cpp"
break;
case 150: /* layout_qualifier_id_list: layout_qualifier_id_list COMMA layout_qualifier_id */
-#line 1348 "MachineIndependent/glslang.y"
+#line 1349 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-2].interm.type);
(yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
}
-#line 6743 "MachineIndependent/glslang_tab.cpp"
+#line 6755 "MachineIndependent/glslang_tab.cpp"
break;
case 151: /* layout_qualifier_id: IDENTIFIER */
-#line 1355 "MachineIndependent/glslang.y"
+#line 1356 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);
}
-#line 6752 "MachineIndependent/glslang_tab.cpp"
+#line 6764 "MachineIndependent/glslang_tab.cpp"
break;
case 152: /* layout_qualifier_id: IDENTIFIER EQUAL constant_expression */
-#line 1359 "MachineIndependent/glslang.y"
+#line 1360 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-2].lex).loc);
parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode));
}
-#line 6761 "MachineIndependent/glslang_tab.cpp"
+#line 6773 "MachineIndependent/glslang_tab.cpp"
break;
case 153: /* layout_qualifier_id: SHARED */
-#line 1363 "MachineIndependent/glslang.y"
+#line 1364 "MachineIndependent/glslang.y"
{ // because "shared" is both an identifier and a keyword
(yyval.interm.type).init((yyvsp[0].lex).loc);
TString strShared("shared");
parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);
}
-#line 6771 "MachineIndependent/glslang_tab.cpp"
+#line 6783 "MachineIndependent/glslang_tab.cpp"
break;
case 154: /* precise_qualifier: PRECISE */
-#line 1372 "MachineIndependent/glslang.y"
+#line 1373 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");
parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.noContraction = true;
}
-#line 6782 "MachineIndependent/glslang_tab.cpp"
+#line 6794 "MachineIndependent/glslang_tab.cpp"
break;
case 155: /* type_qualifier: single_type_qualifier */
-#line 1382 "MachineIndependent/glslang.y"
+#line 1383 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6790 "MachineIndependent/glslang_tab.cpp"
+#line 6802 "MachineIndependent/glslang_tab.cpp"
break;
case 156: /* type_qualifier: type_qualifier single_type_qualifier */
-#line 1385 "MachineIndependent/glslang.y"
+#line 1386 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
if ((yyval.interm.type).basicType == EbtVoid)
@@ -6799,151 +6811,151 @@ yyreduce:
(yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
}
-#line 6803 "MachineIndependent/glslang_tab.cpp"
+#line 6815 "MachineIndependent/glslang_tab.cpp"
break;
case 157: /* single_type_qualifier: storage_qualifier */
-#line 1396 "MachineIndependent/glslang.y"
+#line 1397 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6811 "MachineIndependent/glslang_tab.cpp"
+#line 6823 "MachineIndependent/glslang_tab.cpp"
break;
case 158: /* single_type_qualifier: layout_qualifier */
-#line 1399 "MachineIndependent/glslang.y"
+#line 1400 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6819 "MachineIndependent/glslang_tab.cpp"
+#line 6831 "MachineIndependent/glslang_tab.cpp"
break;
case 159: /* single_type_qualifier: precision_qualifier */
-#line 1402 "MachineIndependent/glslang.y"
+#line 1403 "MachineIndependent/glslang.y"
{
parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6828 "MachineIndependent/glslang_tab.cpp"
+#line 6840 "MachineIndependent/glslang_tab.cpp"
break;
case 160: /* single_type_qualifier: interpolation_qualifier */
-#line 1406 "MachineIndependent/glslang.y"
+#line 1407 "MachineIndependent/glslang.y"
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6837 "MachineIndependent/glslang_tab.cpp"
+#line 6849 "MachineIndependent/glslang_tab.cpp"
break;
case 161: /* single_type_qualifier: invariant_qualifier */
-#line 1410 "MachineIndependent/glslang.y"
+#line 1411 "MachineIndependent/glslang.y"
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6846 "MachineIndependent/glslang_tab.cpp"
+#line 6858 "MachineIndependent/glslang_tab.cpp"
break;
case 162: /* single_type_qualifier: precise_qualifier */
-#line 1415 "MachineIndependent/glslang.y"
+#line 1416 "MachineIndependent/glslang.y"
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6855 "MachineIndependent/glslang_tab.cpp"
+#line 6867 "MachineIndependent/glslang_tab.cpp"
break;
case 163: /* single_type_qualifier: non_uniform_qualifier */
-#line 1419 "MachineIndependent/glslang.y"
+#line 1420 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6863 "MachineIndependent/glslang_tab.cpp"
+#line 6875 "MachineIndependent/glslang_tab.cpp"
break;
case 164: /* single_type_qualifier: spirv_storage_class_qualifier */
-#line 1422 "MachineIndependent/glslang.y"
+#line 1423 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].interm.type).loc, "spirv_storage_class");
parseContext.requireExtensions((yyvsp[0].interm.type).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V storage class qualifier");
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6873 "MachineIndependent/glslang_tab.cpp"
+#line 6885 "MachineIndependent/glslang_tab.cpp"
break;
case 165: /* single_type_qualifier: spirv_decorate_qualifier */
-#line 1427 "MachineIndependent/glslang.y"
+#line 1428 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].interm.type).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V decorate qualifier");
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6882 "MachineIndependent/glslang_tab.cpp"
+#line 6894 "MachineIndependent/glslang_tab.cpp"
break;
case 166: /* single_type_qualifier: SPIRV_BY_REFERENCE */
-#line 1431 "MachineIndependent/glslang.y"
+#line 1432 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "spirv_by_reference");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.setSpirvByReference();
}
-#line 6892 "MachineIndependent/glslang_tab.cpp"
+#line 6904 "MachineIndependent/glslang_tab.cpp"
break;
case 167: /* single_type_qualifier: SPIRV_LITERAL */
-#line 1436 "MachineIndependent/glslang.y"
+#line 1437 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "spirv_by_literal");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.setSpirvLiteral();
}
-#line 6902 "MachineIndependent/glslang_tab.cpp"
+#line 6914 "MachineIndependent/glslang_tab.cpp"
break;
case 168: /* storage_qualifier: CONST */
-#line 1445 "MachineIndependent/glslang.y"
+#line 1446 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant
}
-#line 6911 "MachineIndependent/glslang_tab.cpp"
+#line 6923 "MachineIndependent/glslang_tab.cpp"
break;
case 169: /* storage_qualifier: INOUT */
-#line 1449 "MachineIndependent/glslang.y"
+#line 1450 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "inout");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqInOut;
}
-#line 6921 "MachineIndependent/glslang_tab.cpp"
+#line 6933 "MachineIndependent/glslang_tab.cpp"
break;
case 170: /* storage_qualifier: IN */
-#line 1454 "MachineIndependent/glslang.y"
+#line 1455 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "in");
(yyval.interm.type).init((yyvsp[0].lex).loc);
// whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later
(yyval.interm.type).qualifier.storage = EvqIn;
}
-#line 6932 "MachineIndependent/glslang_tab.cpp"
+#line 6944 "MachineIndependent/glslang_tab.cpp"
break;
case 171: /* storage_qualifier: OUT */
-#line 1460 "MachineIndependent/glslang.y"
+#line 1461 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "out");
(yyval.interm.type).init((yyvsp[0].lex).loc);
// whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later
(yyval.interm.type).qualifier.storage = EvqOut;
}
-#line 6943 "MachineIndependent/glslang_tab.cpp"
+#line 6955 "MachineIndependent/glslang_tab.cpp"
break;
case 172: /* storage_qualifier: CENTROID */
-#line 1466 "MachineIndependent/glslang.y"
+#line 1467 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
@@ -6951,21 +6963,21 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.centroid = true;
}
-#line 6955 "MachineIndependent/glslang_tab.cpp"
+#line 6967 "MachineIndependent/glslang_tab.cpp"
break;
case 173: /* storage_qualifier: UNIFORM */
-#line 1473 "MachineIndependent/glslang.y"
+#line 1474 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqUniform;
}
-#line 6965 "MachineIndependent/glslang_tab.cpp"
+#line 6977 "MachineIndependent/glslang_tab.cpp"
break;
case 174: /* storage_qualifier: SHARED */
-#line 1478 "MachineIndependent/glslang.y"
+#line 1479 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "shared");
parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
@@ -6974,21 +6986,21 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqShared;
}
-#line 6978 "MachineIndependent/glslang_tab.cpp"
+#line 6990 "MachineIndependent/glslang_tab.cpp"
break;
case 175: /* storage_qualifier: BUFFER */
-#line 1486 "MachineIndependent/glslang.y"
+#line 1487 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqBuffer;
}
-#line 6988 "MachineIndependent/glslang_tab.cpp"
+#line 7000 "MachineIndependent/glslang_tab.cpp"
break;
case 176: /* storage_qualifier: ATTRIBUTE */
-#line 1492 "MachineIndependent/glslang.y"
+#line 1493 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
@@ -7001,11 +7013,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqVaryingIn;
}
-#line 7005 "MachineIndependent/glslang_tab.cpp"
+#line 7017 "MachineIndependent/glslang_tab.cpp"
break;
case 177: /* storage_qualifier: VARYING */
-#line 1504 "MachineIndependent/glslang.y"
+#line 1505 "MachineIndependent/glslang.y"
{
parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
@@ -7020,32 +7032,32 @@ yyreduce:
else
(yyval.interm.type).qualifier.storage = EvqVaryingIn;
}
-#line 7024 "MachineIndependent/glslang_tab.cpp"
+#line 7036 "MachineIndependent/glslang_tab.cpp"
break;
case 178: /* storage_qualifier: PATCH */
-#line 1518 "MachineIndependent/glslang.y"
+#line 1519 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "patch");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.patch = true;
}
-#line 7035 "MachineIndependent/glslang_tab.cpp"
+#line 7047 "MachineIndependent/glslang_tab.cpp"
break;
case 179: /* storage_qualifier: SAMPLE */
-#line 1524 "MachineIndependent/glslang.y"
+#line 1525 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "sample");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.sample = true;
}
-#line 7045 "MachineIndependent/glslang_tab.cpp"
+#line 7057 "MachineIndependent/glslang_tab.cpp"
break;
case 180: /* storage_qualifier: HITATTRNV */
-#line 1529 "MachineIndependent/glslang.y"
+#line 1530 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -7054,11 +7066,24 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqHitAttr;
}
-#line 7058 "MachineIndependent/glslang_tab.cpp"
+#line 7070 "MachineIndependent/glslang_tab.cpp"
+ break;
+
+ case 181: /* storage_qualifier: HITOBJECTATTRNV */
+#line 1538 "MachineIndependent/glslang.y"
+ {
+ parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");
+ parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask
+ | EShLangMissMask), "hitObjectAttributeNV");
+ parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_shader_invocation_reorder, "hitObjectAttributeNV");
+ (yyval.interm.type).init((yyvsp[0].lex).loc);
+ (yyval.interm.type).qualifier.storage = EvqHitObjectAttrNV;
+ }
+#line 7083 "MachineIndependent/glslang_tab.cpp"
break;
- case 181: /* storage_qualifier: HITATTREXT */
-#line 1537 "MachineIndependent/glslang.y"
+ case 182: /* storage_qualifier: HITATTREXT */
+#line 1546 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -7067,11 +7092,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqHitAttr;
}
-#line 7071 "MachineIndependent/glslang_tab.cpp"
+#line 7096 "MachineIndependent/glslang_tab.cpp"
break;
- case 182: /* storage_qualifier: PAYLOADNV */
-#line 1545 "MachineIndependent/glslang.y"
+ case 183: /* storage_qualifier: PAYLOADNV */
+#line 1554 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask |
@@ -7080,11 +7105,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayload;
}
-#line 7084 "MachineIndependent/glslang_tab.cpp"
+#line 7109 "MachineIndependent/glslang_tab.cpp"
break;
- case 183: /* storage_qualifier: PAYLOADEXT */
-#line 1553 "MachineIndependent/glslang.y"
+ case 184: /* storage_qualifier: PAYLOADEXT */
+#line 1562 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask |
@@ -7093,11 +7118,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayload;
}
-#line 7097 "MachineIndependent/glslang_tab.cpp"
+#line 7122 "MachineIndependent/glslang_tab.cpp"
break;
- case 184: /* storage_qualifier: PAYLOADINNV */
-#line 1561 "MachineIndependent/glslang.y"
+ case 185: /* storage_qualifier: PAYLOADINNV */
+#line 1570 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask |
@@ -7106,11 +7131,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayloadIn;
}
-#line 7110 "MachineIndependent/glslang_tab.cpp"
+#line 7135 "MachineIndependent/glslang_tab.cpp"
break;
- case 185: /* storage_qualifier: PAYLOADINEXT */
-#line 1569 "MachineIndependent/glslang.y"
+ case 186: /* storage_qualifier: PAYLOADINEXT */
+#line 1578 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask |
@@ -7119,11 +7144,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayloadIn;
}
-#line 7123 "MachineIndependent/glslang_tab.cpp"
+#line 7148 "MachineIndependent/glslang_tab.cpp"
break;
- case 186: /* storage_qualifier: CALLDATANV */
-#line 1577 "MachineIndependent/glslang.y"
+ case 187: /* storage_qualifier: CALLDATANV */
+#line 1586 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask |
@@ -7132,11 +7157,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableData;
}
-#line 7136 "MachineIndependent/glslang_tab.cpp"
+#line 7161 "MachineIndependent/glslang_tab.cpp"
break;
- case 187: /* storage_qualifier: CALLDATAEXT */
-#line 1585 "MachineIndependent/glslang.y"
+ case 188: /* storage_qualifier: CALLDATAEXT */
+#line 1594 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask |
@@ -7145,11 +7170,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableData;
}
-#line 7149 "MachineIndependent/glslang_tab.cpp"
+#line 7174 "MachineIndependent/glslang_tab.cpp"
break;
- case 188: /* storage_qualifier: CALLDATAINNV */
-#line 1593 "MachineIndependent/glslang.y"
+ case 189: /* storage_qualifier: CALLDATAINNV */
+#line 1602 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV");
@@ -7157,11 +7182,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableDataIn;
}
-#line 7161 "MachineIndependent/glslang_tab.cpp"
+#line 7186 "MachineIndependent/glslang_tab.cpp"
break;
- case 189: /* storage_qualifier: CALLDATAINEXT */
-#line 1600 "MachineIndependent/glslang.y"
+ case 190: /* storage_qualifier: CALLDATAINEXT */
+#line 1609 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInEXT");
@@ -7169,138 +7194,138 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableDataIn;
}
-#line 7173 "MachineIndependent/glslang_tab.cpp"
+#line 7198 "MachineIndependent/glslang_tab.cpp"
break;
- case 190: /* storage_qualifier: COHERENT */
-#line 1607 "MachineIndependent/glslang.y"
+ case 191: /* storage_qualifier: COHERENT */
+#line 1616 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.coherent = true;
}
-#line 7182 "MachineIndependent/glslang_tab.cpp"
+#line 7207 "MachineIndependent/glslang_tab.cpp"
break;
- case 191: /* storage_qualifier: DEVICECOHERENT */
-#line 1611 "MachineIndependent/glslang.y"
+ case 192: /* storage_qualifier: DEVICECOHERENT */
+#line 1620 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent");
(yyval.interm.type).qualifier.devicecoherent = true;
}
-#line 7192 "MachineIndependent/glslang_tab.cpp"
+#line 7217 "MachineIndependent/glslang_tab.cpp"
break;
- case 192: /* storage_qualifier: QUEUEFAMILYCOHERENT */
-#line 1616 "MachineIndependent/glslang.y"
+ case 193: /* storage_qualifier: QUEUEFAMILYCOHERENT */
+#line 1625 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent");
(yyval.interm.type).qualifier.queuefamilycoherent = true;
}
-#line 7202 "MachineIndependent/glslang_tab.cpp"
+#line 7227 "MachineIndependent/glslang_tab.cpp"
break;
- case 193: /* storage_qualifier: WORKGROUPCOHERENT */
-#line 1621 "MachineIndependent/glslang.y"
+ case 194: /* storage_qualifier: WORKGROUPCOHERENT */
+#line 1630 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent");
(yyval.interm.type).qualifier.workgroupcoherent = true;
}
-#line 7212 "MachineIndependent/glslang_tab.cpp"
+#line 7237 "MachineIndependent/glslang_tab.cpp"
break;
- case 194: /* storage_qualifier: SUBGROUPCOHERENT */
-#line 1626 "MachineIndependent/glslang.y"
+ case 195: /* storage_qualifier: SUBGROUPCOHERENT */
+#line 1635 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent");
(yyval.interm.type).qualifier.subgroupcoherent = true;
}
-#line 7222 "MachineIndependent/glslang_tab.cpp"
+#line 7247 "MachineIndependent/glslang_tab.cpp"
break;
- case 195: /* storage_qualifier: NONPRIVATE */
-#line 1631 "MachineIndependent/glslang.y"
+ case 196: /* storage_qualifier: NONPRIVATE */
+#line 1640 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate");
(yyval.interm.type).qualifier.nonprivate = true;
}
-#line 7232 "MachineIndependent/glslang_tab.cpp"
+#line 7257 "MachineIndependent/glslang_tab.cpp"
break;
- case 196: /* storage_qualifier: SHADERCALLCOHERENT */
-#line 1636 "MachineIndependent/glslang.y"
+ case 197: /* storage_qualifier: SHADERCALLCOHERENT */
+#line 1645 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_ray_tracing, "shadercallcoherent");
(yyval.interm.type).qualifier.shadercallcoherent = true;
}
-#line 7242 "MachineIndependent/glslang_tab.cpp"
+#line 7267 "MachineIndependent/glslang_tab.cpp"
break;
- case 197: /* storage_qualifier: VOLATILE */
-#line 1641 "MachineIndependent/glslang.y"
+ case 198: /* storage_qualifier: VOLATILE */
+#line 1650 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.volatil = true;
}
-#line 7251 "MachineIndependent/glslang_tab.cpp"
+#line 7276 "MachineIndependent/glslang_tab.cpp"
break;
- case 198: /* storage_qualifier: RESTRICT */
-#line 1645 "MachineIndependent/glslang.y"
+ case 199: /* storage_qualifier: RESTRICT */
+#line 1654 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.restrict = true;
}
-#line 7260 "MachineIndependent/glslang_tab.cpp"
+#line 7285 "MachineIndependent/glslang_tab.cpp"
break;
- case 199: /* storage_qualifier: READONLY */
-#line 1649 "MachineIndependent/glslang.y"
+ case 200: /* storage_qualifier: READONLY */
+#line 1658 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.readonly = true;
}
-#line 7269 "MachineIndependent/glslang_tab.cpp"
+#line 7294 "MachineIndependent/glslang_tab.cpp"
break;
- case 200: /* storage_qualifier: WRITEONLY */
-#line 1653 "MachineIndependent/glslang.y"
+ case 201: /* storage_qualifier: WRITEONLY */
+#line 1662 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.writeonly = true;
}
-#line 7278 "MachineIndependent/glslang_tab.cpp"
+#line 7303 "MachineIndependent/glslang_tab.cpp"
break;
- case 201: /* storage_qualifier: SUBROUTINE */
-#line 1657 "MachineIndependent/glslang.y"
+ case 202: /* storage_qualifier: SUBROUTINE */
+#line 1666 "MachineIndependent/glslang.y"
{
parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
(yyval.interm.type).init((yyvsp[0].lex).loc);
}
-#line 7289 "MachineIndependent/glslang_tab.cpp"
+#line 7314 "MachineIndependent/glslang_tab.cpp"
break;
- case 202: /* storage_qualifier: SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN */
-#line 1663 "MachineIndependent/glslang.y"
+ case 203: /* storage_qualifier: SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN */
+#line 1672 "MachineIndependent/glslang.y"
{
parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
(yyval.interm.type).init((yyvsp[-3].lex).loc);
}
-#line 7300 "MachineIndependent/glslang_tab.cpp"
+#line 7325 "MachineIndependent/glslang_tab.cpp"
break;
- case 203: /* storage_qualifier: TASKPAYLOADWORKGROUPEXT */
-#line 1669 "MachineIndependent/glslang.y"
+ case 204: /* storage_qualifier: TASKPAYLOADWORKGROUPEXT */
+#line 1678 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "taskPayloadSharedEXT");
@@ -7308,48 +7333,48 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqtaskPayloadSharedEXT;
}
-#line 7312 "MachineIndependent/glslang_tab.cpp"
+#line 7337 "MachineIndependent/glslang_tab.cpp"
break;
- case 204: /* non_uniform_qualifier: NONUNIFORM */
-#line 1681 "MachineIndependent/glslang.y"
+ case 205: /* non_uniform_qualifier: NONUNIFORM */
+#line 1690 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.nonUniform = true;
}
-#line 7321 "MachineIndependent/glslang_tab.cpp"
+#line 7346 "MachineIndependent/glslang_tab.cpp"
break;
- case 205: /* type_name_list: IDENTIFIER */
-#line 1688 "MachineIndependent/glslang.y"
+ case 206: /* type_name_list: IDENTIFIER */
+#line 1697 "MachineIndependent/glslang.y"
{
// TODO
}
-#line 7329 "MachineIndependent/glslang_tab.cpp"
+#line 7354 "MachineIndependent/glslang_tab.cpp"
break;
- case 206: /* type_name_list: type_name_list COMMA IDENTIFIER */
-#line 1691 "MachineIndependent/glslang.y"
+ case 207: /* type_name_list: type_name_list COMMA IDENTIFIER */
+#line 1700 "MachineIndependent/glslang.y"
{
// TODO: 4.0 semantics: subroutines
// 1) make sure each identifier is a type declared earlier with SUBROUTINE
// 2) save all of the identifiers for future comparison with the declared function
}
-#line 7339 "MachineIndependent/glslang_tab.cpp"
+#line 7364 "MachineIndependent/glslang_tab.cpp"
break;
- case 207: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt */
-#line 1700 "MachineIndependent/glslang.y"
+ case 208: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt */
+#line 1709 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
(yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
(yyval.interm.type).typeParameters = (yyvsp[0].interm.typeParameters);
}
-#line 7349 "MachineIndependent/glslang_tab.cpp"
+#line 7374 "MachineIndependent/glslang_tab.cpp"
break;
- case 208: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt array_specifier */
-#line 1705 "MachineIndependent/glslang.y"
+ case 209: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt array_specifier */
+#line 1714 "MachineIndependent/glslang.y"
{
parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
(yyval.interm.type) = (yyvsp[-2].interm.type);
@@ -7357,21 +7382,21 @@ yyreduce:
(yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters);
(yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
}
-#line 7361 "MachineIndependent/glslang_tab.cpp"
+#line 7386 "MachineIndependent/glslang_tab.cpp"
break;
- case 209: /* array_specifier: LEFT_BRACKET RIGHT_BRACKET */
-#line 1715 "MachineIndependent/glslang.y"
+ case 210: /* array_specifier: LEFT_BRACKET RIGHT_BRACKET */
+#line 1724 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[-1].lex).loc;
(yyval.interm).arraySizes = new TArraySizes;
(yyval.interm).arraySizes->addInnerSize();
}
-#line 7371 "MachineIndependent/glslang_tab.cpp"
+#line 7396 "MachineIndependent/glslang_tab.cpp"
break;
- case 210: /* array_specifier: LEFT_BRACKET conditional_expression RIGHT_BRACKET */
-#line 1720 "MachineIndependent/glslang.y"
+ case 211: /* array_specifier: LEFT_BRACKET conditional_expression RIGHT_BRACKET */
+#line 1729 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[-2].lex).loc;
(yyval.interm).arraySizes = new TArraySizes;
@@ -7380,20 +7405,20 @@ yyreduce:
parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
(yyval.interm).arraySizes->addInnerSize(size);
}
-#line 7384 "MachineIndependent/glslang_tab.cpp"
+#line 7409 "MachineIndependent/glslang_tab.cpp"
break;
- case 211: /* array_specifier: array_specifier LEFT_BRACKET RIGHT_BRACKET */
-#line 1728 "MachineIndependent/glslang.y"
+ case 212: /* array_specifier: array_specifier LEFT_BRACKET RIGHT_BRACKET */
+#line 1737 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-2].interm);
(yyval.interm).arraySizes->addInnerSize();
}
-#line 7393 "MachineIndependent/glslang_tab.cpp"
+#line 7418 "MachineIndependent/glslang_tab.cpp"
break;
- case 212: /* array_specifier: array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET */
-#line 1732 "MachineIndependent/glslang.y"
+ case 213: /* array_specifier: array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET */
+#line 1741 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-3].interm);
@@ -7401,35 +7426,35 @@ yyreduce:
parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
(yyval.interm).arraySizes->addInnerSize(size);
}
-#line 7405 "MachineIndependent/glslang_tab.cpp"
+#line 7430 "MachineIndependent/glslang_tab.cpp"
break;
- case 213: /* type_parameter_specifier_opt: type_parameter_specifier */
-#line 1742 "MachineIndependent/glslang.y"
+ case 214: /* type_parameter_specifier_opt: type_parameter_specifier */
+#line 1751 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters);
}
-#line 7413 "MachineIndependent/glslang_tab.cpp"
+#line 7438 "MachineIndependent/glslang_tab.cpp"
break;
- case 214: /* type_parameter_specifier_opt: %empty */
-#line 1745 "MachineIndependent/glslang.y"
+ case 215: /* type_parameter_specifier_opt: %empty */
+#line 1754 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = 0;
}
-#line 7421 "MachineIndependent/glslang_tab.cpp"
+#line 7446 "MachineIndependent/glslang_tab.cpp"
break;
- case 215: /* type_parameter_specifier: LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE */
-#line 1751 "MachineIndependent/glslang.y"
+ case 216: /* type_parameter_specifier: LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE */
+#line 1760 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters);
}
-#line 7429 "MachineIndependent/glslang_tab.cpp"
+#line 7454 "MachineIndependent/glslang_tab.cpp"
break;
- case 216: /* type_parameter_specifier_list: unary_expression */
-#line 1757 "MachineIndependent/glslang.y"
+ case 217: /* type_parameter_specifier_list: unary_expression */
+#line 1766 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = new TArraySizes;
@@ -7437,11 +7462,11 @@ yyreduce:
parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
(yyval.interm.typeParameters)->addInnerSize(size);
}
-#line 7441 "MachineIndependent/glslang_tab.cpp"
+#line 7466 "MachineIndependent/glslang_tab.cpp"
break;
- case 217: /* type_parameter_specifier_list: type_parameter_specifier_list COMMA unary_expression */
-#line 1764 "MachineIndependent/glslang.y"
+ case 218: /* type_parameter_specifier_list: type_parameter_specifier_list COMMA unary_expression */
+#line 1773 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = (yyvsp[-2].interm.typeParameters);
@@ -7449,300 +7474,300 @@ yyreduce:
parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
(yyval.interm.typeParameters)->addInnerSize(size);
}
-#line 7453 "MachineIndependent/glslang_tab.cpp"
+#line 7478 "MachineIndependent/glslang_tab.cpp"
break;
- case 218: /* type_specifier_nonarray: VOID */
-#line 1774 "MachineIndependent/glslang.y"
+ case 219: /* type_specifier_nonarray: VOID */
+#line 1783 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtVoid;
}
-#line 7462 "MachineIndependent/glslang_tab.cpp"
+#line 7487 "MachineIndependent/glslang_tab.cpp"
break;
- case 219: /* type_specifier_nonarray: FLOAT */
-#line 1778 "MachineIndependent/glslang.y"
+ case 220: /* type_specifier_nonarray: FLOAT */
+#line 1787 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
}
-#line 7471 "MachineIndependent/glslang_tab.cpp"
+#line 7496 "MachineIndependent/glslang_tab.cpp"
break;
- case 220: /* type_specifier_nonarray: INT */
-#line 1782 "MachineIndependent/glslang.y"
+ case 221: /* type_specifier_nonarray: INT */
+#line 1791 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
}
-#line 7480 "MachineIndependent/glslang_tab.cpp"
+#line 7505 "MachineIndependent/glslang_tab.cpp"
break;
- case 221: /* type_specifier_nonarray: UINT */
-#line 1786 "MachineIndependent/glslang.y"
+ case 222: /* type_specifier_nonarray: UINT */
+#line 1795 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
}
-#line 7490 "MachineIndependent/glslang_tab.cpp"
+#line 7515 "MachineIndependent/glslang_tab.cpp"
break;
- case 222: /* type_specifier_nonarray: BOOL */
-#line 1791 "MachineIndependent/glslang.y"
+ case 223: /* type_specifier_nonarray: BOOL */
+#line 1800 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
}
-#line 7499 "MachineIndependent/glslang_tab.cpp"
+#line 7524 "MachineIndependent/glslang_tab.cpp"
break;
- case 223: /* type_specifier_nonarray: VEC2 */
-#line 1795 "MachineIndependent/glslang.y"
+ case 224: /* type_specifier_nonarray: VEC2 */
+#line 1804 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(2);
}
-#line 7509 "MachineIndependent/glslang_tab.cpp"
+#line 7534 "MachineIndependent/glslang_tab.cpp"
break;
- case 224: /* type_specifier_nonarray: VEC3 */
-#line 1800 "MachineIndependent/glslang.y"
+ case 225: /* type_specifier_nonarray: VEC3 */
+#line 1809 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(3);
}
-#line 7519 "MachineIndependent/glslang_tab.cpp"
+#line 7544 "MachineIndependent/glslang_tab.cpp"
break;
- case 225: /* type_specifier_nonarray: VEC4 */
-#line 1805 "MachineIndependent/glslang.y"
+ case 226: /* type_specifier_nonarray: VEC4 */
+#line 1814 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(4);
}
-#line 7529 "MachineIndependent/glslang_tab.cpp"
+#line 7554 "MachineIndependent/glslang_tab.cpp"
break;
- case 226: /* type_specifier_nonarray: BVEC2 */
-#line 1810 "MachineIndependent/glslang.y"
+ case 227: /* type_specifier_nonarray: BVEC2 */
+#line 1819 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
(yyval.interm.type).setVector(2);
}
-#line 7539 "MachineIndependent/glslang_tab.cpp"
+#line 7564 "MachineIndependent/glslang_tab.cpp"
break;
- case 227: /* type_specifier_nonarray: BVEC3 */
-#line 1815 "MachineIndependent/glslang.y"
+ case 228: /* type_specifier_nonarray: BVEC3 */
+#line 1824 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
(yyval.interm.type).setVector(3);
}
-#line 7549 "MachineIndependent/glslang_tab.cpp"
+#line 7574 "MachineIndependent/glslang_tab.cpp"
break;
- case 228: /* type_specifier_nonarray: BVEC4 */
-#line 1820 "MachineIndependent/glslang.y"
+ case 229: /* type_specifier_nonarray: BVEC4 */
+#line 1829 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
(yyval.interm.type).setVector(4);
}
-#line 7559 "MachineIndependent/glslang_tab.cpp"
+#line 7584 "MachineIndependent/glslang_tab.cpp"
break;
- case 229: /* type_specifier_nonarray: IVEC2 */
-#line 1825 "MachineIndependent/glslang.y"
+ case 230: /* type_specifier_nonarray: IVEC2 */
+#line 1834 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(2);
}
-#line 7569 "MachineIndependent/glslang_tab.cpp"
+#line 7594 "MachineIndependent/glslang_tab.cpp"
break;
- case 230: /* type_specifier_nonarray: IVEC3 */
-#line 1830 "MachineIndependent/glslang.y"
+ case 231: /* type_specifier_nonarray: IVEC3 */
+#line 1839 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(3);
}
-#line 7579 "MachineIndependent/glslang_tab.cpp"
+#line 7604 "MachineIndependent/glslang_tab.cpp"
break;
- case 231: /* type_specifier_nonarray: IVEC4 */
-#line 1835 "MachineIndependent/glslang.y"
+ case 232: /* type_specifier_nonarray: IVEC4 */
+#line 1844 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(4);
}
-#line 7589 "MachineIndependent/glslang_tab.cpp"
+#line 7614 "MachineIndependent/glslang_tab.cpp"
break;
- case 232: /* type_specifier_nonarray: UVEC2 */
-#line 1840 "MachineIndependent/glslang.y"
+ case 233: /* type_specifier_nonarray: UVEC2 */
+#line 1849 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(2);
}
-#line 7600 "MachineIndependent/glslang_tab.cpp"
+#line 7625 "MachineIndependent/glslang_tab.cpp"
break;
- case 233: /* type_specifier_nonarray: UVEC3 */
-#line 1846 "MachineIndependent/glslang.y"
+ case 234: /* type_specifier_nonarray: UVEC3 */
+#line 1855 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(3);
}
-#line 7611 "MachineIndependent/glslang_tab.cpp"
+#line 7636 "MachineIndependent/glslang_tab.cpp"
break;
- case 234: /* type_specifier_nonarray: UVEC4 */
-#line 1852 "MachineIndependent/glslang.y"
+ case 235: /* type_specifier_nonarray: UVEC4 */
+#line 1861 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(4);
}
-#line 7622 "MachineIndependent/glslang_tab.cpp"
+#line 7647 "MachineIndependent/glslang_tab.cpp"
break;
- case 235: /* type_specifier_nonarray: MAT2 */
-#line 1858 "MachineIndependent/glslang.y"
+ case 236: /* type_specifier_nonarray: MAT2 */
+#line 1867 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 7632 "MachineIndependent/glslang_tab.cpp"
+#line 7657 "MachineIndependent/glslang_tab.cpp"
break;
- case 236: /* type_specifier_nonarray: MAT3 */
-#line 1863 "MachineIndependent/glslang.y"
+ case 237: /* type_specifier_nonarray: MAT3 */
+#line 1872 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 7642 "MachineIndependent/glslang_tab.cpp"
+#line 7667 "MachineIndependent/glslang_tab.cpp"
break;
- case 237: /* type_specifier_nonarray: MAT4 */
-#line 1868 "MachineIndependent/glslang.y"
+ case 238: /* type_specifier_nonarray: MAT4 */
+#line 1877 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 7652 "MachineIndependent/glslang_tab.cpp"
+#line 7677 "MachineIndependent/glslang_tab.cpp"
break;
- case 238: /* type_specifier_nonarray: MAT2X2 */
-#line 1873 "MachineIndependent/glslang.y"
+ case 239: /* type_specifier_nonarray: MAT2X2 */
+#line 1882 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 7662 "MachineIndependent/glslang_tab.cpp"
+#line 7687 "MachineIndependent/glslang_tab.cpp"
break;
- case 239: /* type_specifier_nonarray: MAT2X3 */
-#line 1878 "MachineIndependent/glslang.y"
+ case 240: /* type_specifier_nonarray: MAT2X3 */
+#line 1887 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 7672 "MachineIndependent/glslang_tab.cpp"
+#line 7697 "MachineIndependent/glslang_tab.cpp"
break;
- case 240: /* type_specifier_nonarray: MAT2X4 */
-#line 1883 "MachineIndependent/glslang.y"
+ case 241: /* type_specifier_nonarray: MAT2X4 */
+#line 1892 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 7682 "MachineIndependent/glslang_tab.cpp"
+#line 7707 "MachineIndependent/glslang_tab.cpp"
break;
- case 241: /* type_specifier_nonarray: MAT3X2 */
-#line 1888 "MachineIndependent/glslang.y"
+ case 242: /* type_specifier_nonarray: MAT3X2 */
+#line 1897 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 7692 "MachineIndependent/glslang_tab.cpp"
+#line 7717 "MachineIndependent/glslang_tab.cpp"
break;
- case 242: /* type_specifier_nonarray: MAT3X3 */
-#line 1893 "MachineIndependent/glslang.y"
+ case 243: /* type_specifier_nonarray: MAT3X3 */
+#line 1902 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 7702 "MachineIndependent/glslang_tab.cpp"
+#line 7727 "MachineIndependent/glslang_tab.cpp"
break;
- case 243: /* type_specifier_nonarray: MAT3X4 */
-#line 1898 "MachineIndependent/glslang.y"
+ case 244: /* type_specifier_nonarray: MAT3X4 */
+#line 1907 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 7712 "MachineIndependent/glslang_tab.cpp"
+#line 7737 "MachineIndependent/glslang_tab.cpp"
break;
- case 244: /* type_specifier_nonarray: MAT4X2 */
-#line 1903 "MachineIndependent/glslang.y"
+ case 245: /* type_specifier_nonarray: MAT4X2 */
+#line 1912 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 7722 "MachineIndependent/glslang_tab.cpp"
+#line 7747 "MachineIndependent/glslang_tab.cpp"
break;
- case 245: /* type_specifier_nonarray: MAT4X3 */
-#line 1908 "MachineIndependent/glslang.y"
+ case 246: /* type_specifier_nonarray: MAT4X3 */
+#line 1917 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 7732 "MachineIndependent/glslang_tab.cpp"
+#line 7757 "MachineIndependent/glslang_tab.cpp"
break;
- case 246: /* type_specifier_nonarray: MAT4X4 */
-#line 1913 "MachineIndependent/glslang.y"
+ case 247: /* type_specifier_nonarray: MAT4X4 */
+#line 1922 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 7742 "MachineIndependent/glslang_tab.cpp"
+#line 7767 "MachineIndependent/glslang_tab.cpp"
break;
- case 247: /* type_specifier_nonarray: DOUBLE */
-#line 1919 "MachineIndependent/glslang.y"
+ case 248: /* type_specifier_nonarray: DOUBLE */
+#line 1928 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7750,121 +7775,121 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
}
-#line 7754 "MachineIndependent/glslang_tab.cpp"
+#line 7779 "MachineIndependent/glslang_tab.cpp"
break;
- case 248: /* type_specifier_nonarray: FLOAT16_T */
-#line 1926 "MachineIndependent/glslang.y"
+ case 249: /* type_specifier_nonarray: FLOAT16_T */
+#line 1935 "MachineIndependent/glslang.y"
{
parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
}
-#line 7764 "MachineIndependent/glslang_tab.cpp"
+#line 7789 "MachineIndependent/glslang_tab.cpp"
break;
- case 249: /* type_specifier_nonarray: FLOAT32_T */
-#line 1931 "MachineIndependent/glslang.y"
+ case 250: /* type_specifier_nonarray: FLOAT32_T */
+#line 1940 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
}
-#line 7774 "MachineIndependent/glslang_tab.cpp"
+#line 7799 "MachineIndependent/glslang_tab.cpp"
break;
- case 250: /* type_specifier_nonarray: FLOAT64_T */
-#line 1936 "MachineIndependent/glslang.y"
+ case 251: /* type_specifier_nonarray: FLOAT64_T */
+#line 1945 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
}
-#line 7784 "MachineIndependent/glslang_tab.cpp"
+#line 7809 "MachineIndependent/glslang_tab.cpp"
break;
- case 251: /* type_specifier_nonarray: INT8_T */
-#line 1941 "MachineIndependent/glslang.y"
+ case 252: /* type_specifier_nonarray: INT8_T */
+#line 1950 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt8;
}
-#line 7794 "MachineIndependent/glslang_tab.cpp"
+#line 7819 "MachineIndependent/glslang_tab.cpp"
break;
- case 252: /* type_specifier_nonarray: UINT8_T */
-#line 1946 "MachineIndependent/glslang.y"
+ case 253: /* type_specifier_nonarray: UINT8_T */
+#line 1955 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
}
-#line 7804 "MachineIndependent/glslang_tab.cpp"
+#line 7829 "MachineIndependent/glslang_tab.cpp"
break;
- case 253: /* type_specifier_nonarray: INT16_T */
-#line 1951 "MachineIndependent/glslang.y"
+ case 254: /* type_specifier_nonarray: INT16_T */
+#line 1960 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt16;
}
-#line 7814 "MachineIndependent/glslang_tab.cpp"
+#line 7839 "MachineIndependent/glslang_tab.cpp"
break;
- case 254: /* type_specifier_nonarray: UINT16_T */
-#line 1956 "MachineIndependent/glslang.y"
+ case 255: /* type_specifier_nonarray: UINT16_T */
+#line 1965 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
}
-#line 7824 "MachineIndependent/glslang_tab.cpp"
+#line 7849 "MachineIndependent/glslang_tab.cpp"
break;
- case 255: /* type_specifier_nonarray: INT32_T */
-#line 1961 "MachineIndependent/glslang.y"
+ case 256: /* type_specifier_nonarray: INT32_T */
+#line 1970 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
}
-#line 7834 "MachineIndependent/glslang_tab.cpp"
+#line 7859 "MachineIndependent/glslang_tab.cpp"
break;
- case 256: /* type_specifier_nonarray: UINT32_T */
-#line 1966 "MachineIndependent/glslang.y"
+ case 257: /* type_specifier_nonarray: UINT32_T */
+#line 1975 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
}
-#line 7844 "MachineIndependent/glslang_tab.cpp"
+#line 7869 "MachineIndependent/glslang_tab.cpp"
break;
- case 257: /* type_specifier_nonarray: INT64_T */
-#line 1971 "MachineIndependent/glslang.y"
+ case 258: /* type_specifier_nonarray: INT64_T */
+#line 1980 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
}
-#line 7854 "MachineIndependent/glslang_tab.cpp"
+#line 7879 "MachineIndependent/glslang_tab.cpp"
break;
- case 258: /* type_specifier_nonarray: UINT64_T */
-#line 1976 "MachineIndependent/glslang.y"
+ case 259: /* type_specifier_nonarray: UINT64_T */
+#line 1985 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
}
-#line 7864 "MachineIndependent/glslang_tab.cpp"
+#line 7889 "MachineIndependent/glslang_tab.cpp"
break;
- case 259: /* type_specifier_nonarray: DVEC2 */
-#line 1981 "MachineIndependent/glslang.y"
+ case 260: /* type_specifier_nonarray: DVEC2 */
+#line 1990 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7873,11 +7898,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(2);
}
-#line 7877 "MachineIndependent/glslang_tab.cpp"
+#line 7902 "MachineIndependent/glslang_tab.cpp"
break;
- case 260: /* type_specifier_nonarray: DVEC3 */
-#line 1989 "MachineIndependent/glslang.y"
+ case 261: /* type_specifier_nonarray: DVEC3 */
+#line 1998 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7886,11 +7911,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(3);
}
-#line 7890 "MachineIndependent/glslang_tab.cpp"
+#line 7915 "MachineIndependent/glslang_tab.cpp"
break;
- case 261: /* type_specifier_nonarray: DVEC4 */
-#line 1997 "MachineIndependent/glslang.y"
+ case 262: /* type_specifier_nonarray: DVEC4 */
+#line 2006 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7899,374 +7924,374 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(4);
}
-#line 7903 "MachineIndependent/glslang_tab.cpp"
+#line 7928 "MachineIndependent/glslang_tab.cpp"
break;
- case 262: /* type_specifier_nonarray: F16VEC2 */
-#line 2005 "MachineIndependent/glslang.y"
+ case 263: /* type_specifier_nonarray: F16VEC2 */
+#line 2014 "MachineIndependent/glslang.y"
{
parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setVector(2);
}
-#line 7914 "MachineIndependent/glslang_tab.cpp"
+#line 7939 "MachineIndependent/glslang_tab.cpp"
break;
- case 263: /* type_specifier_nonarray: F16VEC3 */
-#line 2011 "MachineIndependent/glslang.y"
+ case 264: /* type_specifier_nonarray: F16VEC3 */
+#line 2020 "MachineIndependent/glslang.y"
{
parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setVector(3);
}
-#line 7925 "MachineIndependent/glslang_tab.cpp"
+#line 7950 "MachineIndependent/glslang_tab.cpp"
break;
- case 264: /* type_specifier_nonarray: F16VEC4 */
-#line 2017 "MachineIndependent/glslang.y"
+ case 265: /* type_specifier_nonarray: F16VEC4 */
+#line 2026 "MachineIndependent/glslang.y"
{
parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setVector(4);
}
-#line 7936 "MachineIndependent/glslang_tab.cpp"
+#line 7961 "MachineIndependent/glslang_tab.cpp"
break;
- case 265: /* type_specifier_nonarray: F32VEC2 */
-#line 2023 "MachineIndependent/glslang.y"
+ case 266: /* type_specifier_nonarray: F32VEC2 */
+#line 2032 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(2);
}
-#line 7947 "MachineIndependent/glslang_tab.cpp"
+#line 7972 "MachineIndependent/glslang_tab.cpp"
break;
- case 266: /* type_specifier_nonarray: F32VEC3 */
-#line 2029 "MachineIndependent/glslang.y"
+ case 267: /* type_specifier_nonarray: F32VEC3 */
+#line 2038 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(3);
}
-#line 7958 "MachineIndependent/glslang_tab.cpp"
+#line 7983 "MachineIndependent/glslang_tab.cpp"
break;
- case 267: /* type_specifier_nonarray: F32VEC4 */
-#line 2035 "MachineIndependent/glslang.y"
+ case 268: /* type_specifier_nonarray: F32VEC4 */
+#line 2044 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(4);
}
-#line 7969 "MachineIndependent/glslang_tab.cpp"
+#line 7994 "MachineIndependent/glslang_tab.cpp"
break;
- case 268: /* type_specifier_nonarray: F64VEC2 */
-#line 2041 "MachineIndependent/glslang.y"
+ case 269: /* type_specifier_nonarray: F64VEC2 */
+#line 2050 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(2);
}
-#line 7980 "MachineIndependent/glslang_tab.cpp"
+#line 8005 "MachineIndependent/glslang_tab.cpp"
break;
- case 269: /* type_specifier_nonarray: F64VEC3 */
-#line 2047 "MachineIndependent/glslang.y"
+ case 270: /* type_specifier_nonarray: F64VEC3 */
+#line 2056 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(3);
}
-#line 7991 "MachineIndependent/glslang_tab.cpp"
+#line 8016 "MachineIndependent/glslang_tab.cpp"
break;
- case 270: /* type_specifier_nonarray: F64VEC4 */
-#line 2053 "MachineIndependent/glslang.y"
+ case 271: /* type_specifier_nonarray: F64VEC4 */
+#line 2062 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(4);
}
-#line 8002 "MachineIndependent/glslang_tab.cpp"
+#line 8027 "MachineIndependent/glslang_tab.cpp"
break;
- case 271: /* type_specifier_nonarray: I8VEC2 */
-#line 2059 "MachineIndependent/glslang.y"
+ case 272: /* type_specifier_nonarray: I8VEC2 */
+#line 2068 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt8;
(yyval.interm.type).setVector(2);
}
-#line 8013 "MachineIndependent/glslang_tab.cpp"
+#line 8038 "MachineIndependent/glslang_tab.cpp"
break;
- case 272: /* type_specifier_nonarray: I8VEC3 */
-#line 2065 "MachineIndependent/glslang.y"
+ case 273: /* type_specifier_nonarray: I8VEC3 */
+#line 2074 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt8;
(yyval.interm.type).setVector(3);
}
-#line 8024 "MachineIndependent/glslang_tab.cpp"
+#line 8049 "MachineIndependent/glslang_tab.cpp"
break;
- case 273: /* type_specifier_nonarray: I8VEC4 */
-#line 2071 "MachineIndependent/glslang.y"
+ case 274: /* type_specifier_nonarray: I8VEC4 */
+#line 2080 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt8;
(yyval.interm.type).setVector(4);
}
-#line 8035 "MachineIndependent/glslang_tab.cpp"
+#line 8060 "MachineIndependent/glslang_tab.cpp"
break;
- case 274: /* type_specifier_nonarray: I16VEC2 */
-#line 2077 "MachineIndependent/glslang.y"
+ case 275: /* type_specifier_nonarray: I16VEC2 */
+#line 2086 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt16;
(yyval.interm.type).setVector(2);
}
-#line 8046 "MachineIndependent/glslang_tab.cpp"
+#line 8071 "MachineIndependent/glslang_tab.cpp"
break;
- case 275: /* type_specifier_nonarray: I16VEC3 */
-#line 2083 "MachineIndependent/glslang.y"
+ case 276: /* type_specifier_nonarray: I16VEC3 */
+#line 2092 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt16;
(yyval.interm.type).setVector(3);
}
-#line 8057 "MachineIndependent/glslang_tab.cpp"
+#line 8082 "MachineIndependent/glslang_tab.cpp"
break;
- case 276: /* type_specifier_nonarray: I16VEC4 */
-#line 2089 "MachineIndependent/glslang.y"
+ case 277: /* type_specifier_nonarray: I16VEC4 */
+#line 2098 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt16;
(yyval.interm.type).setVector(4);
}
-#line 8068 "MachineIndependent/glslang_tab.cpp"
+#line 8093 "MachineIndependent/glslang_tab.cpp"
break;
- case 277: /* type_specifier_nonarray: I32VEC2 */
-#line 2095 "MachineIndependent/glslang.y"
+ case 278: /* type_specifier_nonarray: I32VEC2 */
+#line 2104 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(2);
}
-#line 8079 "MachineIndependent/glslang_tab.cpp"
+#line 8104 "MachineIndependent/glslang_tab.cpp"
break;
- case 278: /* type_specifier_nonarray: I32VEC3 */
-#line 2101 "MachineIndependent/glslang.y"
+ case 279: /* type_specifier_nonarray: I32VEC3 */
+#line 2110 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(3);
}
-#line 8090 "MachineIndependent/glslang_tab.cpp"
+#line 8115 "MachineIndependent/glslang_tab.cpp"
break;
- case 279: /* type_specifier_nonarray: I32VEC4 */
-#line 2107 "MachineIndependent/glslang.y"
+ case 280: /* type_specifier_nonarray: I32VEC4 */
+#line 2116 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(4);
}
-#line 8101 "MachineIndependent/glslang_tab.cpp"
+#line 8126 "MachineIndependent/glslang_tab.cpp"
break;
- case 280: /* type_specifier_nonarray: I64VEC2 */
-#line 2113 "MachineIndependent/glslang.y"
+ case 281: /* type_specifier_nonarray: I64VEC2 */
+#line 2122 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
(yyval.interm.type).setVector(2);
}
-#line 8112 "MachineIndependent/glslang_tab.cpp"
+#line 8137 "MachineIndependent/glslang_tab.cpp"
break;
- case 281: /* type_specifier_nonarray: I64VEC3 */
-#line 2119 "MachineIndependent/glslang.y"
+ case 282: /* type_specifier_nonarray: I64VEC3 */
+#line 2128 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
(yyval.interm.type).setVector(3);
}
-#line 8123 "MachineIndependent/glslang_tab.cpp"
+#line 8148 "MachineIndependent/glslang_tab.cpp"
break;
- case 282: /* type_specifier_nonarray: I64VEC4 */
-#line 2125 "MachineIndependent/glslang.y"
+ case 283: /* type_specifier_nonarray: I64VEC4 */
+#line 2134 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
(yyval.interm.type).setVector(4);
}
-#line 8134 "MachineIndependent/glslang_tab.cpp"
+#line 8159 "MachineIndependent/glslang_tab.cpp"
break;
- case 283: /* type_specifier_nonarray: U8VEC2 */
-#line 2131 "MachineIndependent/glslang.y"
+ case 284: /* type_specifier_nonarray: U8VEC2 */
+#line 2140 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
(yyval.interm.type).setVector(2);
}
-#line 8145 "MachineIndependent/glslang_tab.cpp"
+#line 8170 "MachineIndependent/glslang_tab.cpp"
break;
- case 284: /* type_specifier_nonarray: U8VEC3 */
-#line 2137 "MachineIndependent/glslang.y"
+ case 285: /* type_specifier_nonarray: U8VEC3 */
+#line 2146 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
(yyval.interm.type).setVector(3);
}
-#line 8156 "MachineIndependent/glslang_tab.cpp"
+#line 8181 "MachineIndependent/glslang_tab.cpp"
break;
- case 285: /* type_specifier_nonarray: U8VEC4 */
-#line 2143 "MachineIndependent/glslang.y"
+ case 286: /* type_specifier_nonarray: U8VEC4 */
+#line 2152 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
(yyval.interm.type).setVector(4);
}
-#line 8167 "MachineIndependent/glslang_tab.cpp"
+#line 8192 "MachineIndependent/glslang_tab.cpp"
break;
- case 286: /* type_specifier_nonarray: U16VEC2 */
-#line 2149 "MachineIndependent/glslang.y"
+ case 287: /* type_specifier_nonarray: U16VEC2 */
+#line 2158 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
(yyval.interm.type).setVector(2);
}
-#line 8178 "MachineIndependent/glslang_tab.cpp"
+#line 8203 "MachineIndependent/glslang_tab.cpp"
break;
- case 287: /* type_specifier_nonarray: U16VEC3 */
-#line 2155 "MachineIndependent/glslang.y"
+ case 288: /* type_specifier_nonarray: U16VEC3 */
+#line 2164 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
(yyval.interm.type).setVector(3);
}
-#line 8189 "MachineIndependent/glslang_tab.cpp"
+#line 8214 "MachineIndependent/glslang_tab.cpp"
break;
- case 288: /* type_specifier_nonarray: U16VEC4 */
-#line 2161 "MachineIndependent/glslang.y"
+ case 289: /* type_specifier_nonarray: U16VEC4 */
+#line 2170 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
(yyval.interm.type).setVector(4);
}
-#line 8200 "MachineIndependent/glslang_tab.cpp"
+#line 8225 "MachineIndependent/glslang_tab.cpp"
break;
- case 289: /* type_specifier_nonarray: U32VEC2 */
-#line 2167 "MachineIndependent/glslang.y"
+ case 290: /* type_specifier_nonarray: U32VEC2 */
+#line 2176 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(2);
}
-#line 8211 "MachineIndependent/glslang_tab.cpp"
+#line 8236 "MachineIndependent/glslang_tab.cpp"
break;
- case 290: /* type_specifier_nonarray: U32VEC3 */
-#line 2173 "MachineIndependent/glslang.y"
+ case 291: /* type_specifier_nonarray: U32VEC3 */
+#line 2182 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(3);
}
-#line 8222 "MachineIndependent/glslang_tab.cpp"
+#line 8247 "MachineIndependent/glslang_tab.cpp"
break;
- case 291: /* type_specifier_nonarray: U32VEC4 */
-#line 2179 "MachineIndependent/glslang.y"
+ case 292: /* type_specifier_nonarray: U32VEC4 */
+#line 2188 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(4);
}
-#line 8233 "MachineIndependent/glslang_tab.cpp"
+#line 8258 "MachineIndependent/glslang_tab.cpp"
break;
- case 292: /* type_specifier_nonarray: U64VEC2 */
-#line 2185 "MachineIndependent/glslang.y"
+ case 293: /* type_specifier_nonarray: U64VEC2 */
+#line 2194 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
(yyval.interm.type).setVector(2);
}
-#line 8244 "MachineIndependent/glslang_tab.cpp"
+#line 8269 "MachineIndependent/glslang_tab.cpp"
break;
- case 293: /* type_specifier_nonarray: U64VEC3 */
-#line 2191 "MachineIndependent/glslang.y"
+ case 294: /* type_specifier_nonarray: U64VEC3 */
+#line 2200 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
(yyval.interm.type).setVector(3);
}
-#line 8255 "MachineIndependent/glslang_tab.cpp"
+#line 8280 "MachineIndependent/glslang_tab.cpp"
break;
- case 294: /* type_specifier_nonarray: U64VEC4 */
-#line 2197 "MachineIndependent/glslang.y"
+ case 295: /* type_specifier_nonarray: U64VEC4 */
+#line 2206 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
(yyval.interm.type).setVector(4);
}
-#line 8266 "MachineIndependent/glslang_tab.cpp"
+#line 8291 "MachineIndependent/glslang_tab.cpp"
break;
- case 295: /* type_specifier_nonarray: DMAT2 */
-#line 2203 "MachineIndependent/glslang.y"
+ case 296: /* type_specifier_nonarray: DMAT2 */
+#line 2212 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8275,11 +8300,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8279 "MachineIndependent/glslang_tab.cpp"
+#line 8304 "MachineIndependent/glslang_tab.cpp"
break;
- case 296: /* type_specifier_nonarray: DMAT3 */
-#line 2211 "MachineIndependent/glslang.y"
+ case 297: /* type_specifier_nonarray: DMAT3 */
+#line 2220 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8288,11 +8313,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8292 "MachineIndependent/glslang_tab.cpp"
+#line 8317 "MachineIndependent/glslang_tab.cpp"
break;
- case 297: /* type_specifier_nonarray: DMAT4 */
-#line 2219 "MachineIndependent/glslang.y"
+ case 298: /* type_specifier_nonarray: DMAT4 */
+#line 2228 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8301,11 +8326,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8305 "MachineIndependent/glslang_tab.cpp"
+#line 8330 "MachineIndependent/glslang_tab.cpp"
break;
- case 298: /* type_specifier_nonarray: DMAT2X2 */
-#line 2227 "MachineIndependent/glslang.y"
+ case 299: /* type_specifier_nonarray: DMAT2X2 */
+#line 2236 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8314,11 +8339,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8318 "MachineIndependent/glslang_tab.cpp"
+#line 8343 "MachineIndependent/glslang_tab.cpp"
break;
- case 299: /* type_specifier_nonarray: DMAT2X3 */
-#line 2235 "MachineIndependent/glslang.y"
+ case 300: /* type_specifier_nonarray: DMAT2X3 */
+#line 2244 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8327,11 +8352,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 8331 "MachineIndependent/glslang_tab.cpp"
+#line 8356 "MachineIndependent/glslang_tab.cpp"
break;
- case 300: /* type_specifier_nonarray: DMAT2X4 */
-#line 2243 "MachineIndependent/glslang.y"
+ case 301: /* type_specifier_nonarray: DMAT2X4 */
+#line 2252 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8340,11 +8365,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 8344 "MachineIndependent/glslang_tab.cpp"
+#line 8369 "MachineIndependent/glslang_tab.cpp"
break;
- case 301: /* type_specifier_nonarray: DMAT3X2 */
-#line 2251 "MachineIndependent/glslang.y"
+ case 302: /* type_specifier_nonarray: DMAT3X2 */
+#line 2260 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8353,11 +8378,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 8357 "MachineIndependent/glslang_tab.cpp"
+#line 8382 "MachineIndependent/glslang_tab.cpp"
break;
- case 302: /* type_specifier_nonarray: DMAT3X3 */
-#line 2259 "MachineIndependent/glslang.y"
+ case 303: /* type_specifier_nonarray: DMAT3X3 */
+#line 2268 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8366,11 +8391,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8370 "MachineIndependent/glslang_tab.cpp"
+#line 8395 "MachineIndependent/glslang_tab.cpp"
break;
- case 303: /* type_specifier_nonarray: DMAT3X4 */
-#line 2267 "MachineIndependent/glslang.y"
+ case 304: /* type_specifier_nonarray: DMAT3X4 */
+#line 2276 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8379,11 +8404,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 8383 "MachineIndependent/glslang_tab.cpp"
+#line 8408 "MachineIndependent/glslang_tab.cpp"
break;
- case 304: /* type_specifier_nonarray: DMAT4X2 */
-#line 2275 "MachineIndependent/glslang.y"
+ case 305: /* type_specifier_nonarray: DMAT4X2 */
+#line 2284 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8392,11 +8417,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 8396 "MachineIndependent/glslang_tab.cpp"
+#line 8421 "MachineIndependent/glslang_tab.cpp"
break;
- case 305: /* type_specifier_nonarray: DMAT4X3 */
-#line 2283 "MachineIndependent/glslang.y"
+ case 306: /* type_specifier_nonarray: DMAT4X3 */
+#line 2292 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8405,11 +8430,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 8409 "MachineIndependent/glslang_tab.cpp"
+#line 8434 "MachineIndependent/glslang_tab.cpp"
break;
- case 306: /* type_specifier_nonarray: DMAT4X4 */
-#line 2291 "MachineIndependent/glslang.y"
+ case 307: /* type_specifier_nonarray: DMAT4X4 */
+#line 2300 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8418,2228 +8443,2228 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8422 "MachineIndependent/glslang_tab.cpp"
+#line 8447 "MachineIndependent/glslang_tab.cpp"
break;
- case 307: /* type_specifier_nonarray: F16MAT2 */
-#line 2299 "MachineIndependent/glslang.y"
+ case 308: /* type_specifier_nonarray: F16MAT2 */
+#line 2308 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8433 "MachineIndependent/glslang_tab.cpp"
+#line 8458 "MachineIndependent/glslang_tab.cpp"
break;
- case 308: /* type_specifier_nonarray: F16MAT3 */
-#line 2305 "MachineIndependent/glslang.y"
+ case 309: /* type_specifier_nonarray: F16MAT3 */
+#line 2314 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8444 "MachineIndependent/glslang_tab.cpp"
+#line 8469 "MachineIndependent/glslang_tab.cpp"
break;
- case 309: /* type_specifier_nonarray: F16MAT4 */
-#line 2311 "MachineIndependent/glslang.y"
+ case 310: /* type_specifier_nonarray: F16MAT4 */
+#line 2320 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8455 "MachineIndependent/glslang_tab.cpp"
+#line 8480 "MachineIndependent/glslang_tab.cpp"
break;
- case 310: /* type_specifier_nonarray: F16MAT2X2 */
-#line 2317 "MachineIndependent/glslang.y"
+ case 311: /* type_specifier_nonarray: F16MAT2X2 */
+#line 2326 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8466 "MachineIndependent/glslang_tab.cpp"
+#line 8491 "MachineIndependent/glslang_tab.cpp"
break;
- case 311: /* type_specifier_nonarray: F16MAT2X3 */
-#line 2323 "MachineIndependent/glslang.y"
+ case 312: /* type_specifier_nonarray: F16MAT2X3 */
+#line 2332 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 8477 "MachineIndependent/glslang_tab.cpp"
+#line 8502 "MachineIndependent/glslang_tab.cpp"
break;
- case 312: /* type_specifier_nonarray: F16MAT2X4 */
-#line 2329 "MachineIndependent/glslang.y"
+ case 313: /* type_specifier_nonarray: F16MAT2X4 */
+#line 2338 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 8488 "MachineIndependent/glslang_tab.cpp"
+#line 8513 "MachineIndependent/glslang_tab.cpp"
break;
- case 313: /* type_specifier_nonarray: F16MAT3X2 */
-#line 2335 "MachineIndependent/glslang.y"
+ case 314: /* type_specifier_nonarray: F16MAT3X2 */
+#line 2344 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 8499 "MachineIndependent/glslang_tab.cpp"
+#line 8524 "MachineIndependent/glslang_tab.cpp"
break;
- case 314: /* type_specifier_nonarray: F16MAT3X3 */
-#line 2341 "MachineIndependent/glslang.y"
+ case 315: /* type_specifier_nonarray: F16MAT3X3 */
+#line 2350 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8510 "MachineIndependent/glslang_tab.cpp"
+#line 8535 "MachineIndependent/glslang_tab.cpp"
break;
- case 315: /* type_specifier_nonarray: F16MAT3X4 */
-#line 2347 "MachineIndependent/glslang.y"
+ case 316: /* type_specifier_nonarray: F16MAT3X4 */
+#line 2356 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 8521 "MachineIndependent/glslang_tab.cpp"
+#line 8546 "MachineIndependent/glslang_tab.cpp"
break;
- case 316: /* type_specifier_nonarray: F16MAT4X2 */
-#line 2353 "MachineIndependent/glslang.y"
+ case 317: /* type_specifier_nonarray: F16MAT4X2 */
+#line 2362 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 8532 "MachineIndependent/glslang_tab.cpp"
+#line 8557 "MachineIndependent/glslang_tab.cpp"
break;
- case 317: /* type_specifier_nonarray: F16MAT4X3 */
-#line 2359 "MachineIndependent/glslang.y"
+ case 318: /* type_specifier_nonarray: F16MAT4X3 */
+#line 2368 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 8543 "MachineIndependent/glslang_tab.cpp"
+#line 8568 "MachineIndependent/glslang_tab.cpp"
break;
- case 318: /* type_specifier_nonarray: F16MAT4X4 */
-#line 2365 "MachineIndependent/glslang.y"
+ case 319: /* type_specifier_nonarray: F16MAT4X4 */
+#line 2374 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8554 "MachineIndependent/glslang_tab.cpp"
+#line 8579 "MachineIndependent/glslang_tab.cpp"
break;
- case 319: /* type_specifier_nonarray: F32MAT2 */
-#line 2371 "MachineIndependent/glslang.y"
+ case 320: /* type_specifier_nonarray: F32MAT2 */
+#line 2380 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8565 "MachineIndependent/glslang_tab.cpp"
+#line 8590 "MachineIndependent/glslang_tab.cpp"
break;
- case 320: /* type_specifier_nonarray: F32MAT3 */
-#line 2377 "MachineIndependent/glslang.y"
+ case 321: /* type_specifier_nonarray: F32MAT3 */
+#line 2386 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8576 "MachineIndependent/glslang_tab.cpp"
+#line 8601 "MachineIndependent/glslang_tab.cpp"
break;
- case 321: /* type_specifier_nonarray: F32MAT4 */
-#line 2383 "MachineIndependent/glslang.y"
+ case 322: /* type_specifier_nonarray: F32MAT4 */
+#line 2392 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8587 "MachineIndependent/glslang_tab.cpp"
+#line 8612 "MachineIndependent/glslang_tab.cpp"
break;
- case 322: /* type_specifier_nonarray: F32MAT2X2 */
-#line 2389 "MachineIndependent/glslang.y"
+ case 323: /* type_specifier_nonarray: F32MAT2X2 */
+#line 2398 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8598 "MachineIndependent/glslang_tab.cpp"
+#line 8623 "MachineIndependent/glslang_tab.cpp"
break;
- case 323: /* type_specifier_nonarray: F32MAT2X3 */
-#line 2395 "MachineIndependent/glslang.y"
+ case 324: /* type_specifier_nonarray: F32MAT2X3 */
+#line 2404 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 8609 "MachineIndependent/glslang_tab.cpp"
+#line 8634 "MachineIndependent/glslang_tab.cpp"
break;
- case 324: /* type_specifier_nonarray: F32MAT2X4 */
-#line 2401 "MachineIndependent/glslang.y"
+ case 325: /* type_specifier_nonarray: F32MAT2X4 */
+#line 2410 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 8620 "MachineIndependent/glslang_tab.cpp"
+#line 8645 "MachineIndependent/glslang_tab.cpp"
break;
- case 325: /* type_specifier_nonarray: F32MAT3X2 */
-#line 2407 "MachineIndependent/glslang.y"
+ case 326: /* type_specifier_nonarray: F32MAT3X2 */
+#line 2416 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 8631 "MachineIndependent/glslang_tab.cpp"
+#line 8656 "MachineIndependent/glslang_tab.cpp"
break;
- case 326: /* type_specifier_nonarray: F32MAT3X3 */
-#line 2413 "MachineIndependent/glslang.y"
+ case 327: /* type_specifier_nonarray: F32MAT3X3 */
+#line 2422 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8642 "MachineIndependent/glslang_tab.cpp"
+#line 8667 "MachineIndependent/glslang_tab.cpp"
break;
- case 327: /* type_specifier_nonarray: F32MAT3X4 */
-#line 2419 "MachineIndependent/glslang.y"
+ case 328: /* type_specifier_nonarray: F32MAT3X4 */
+#line 2428 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 8653 "MachineIndependent/glslang_tab.cpp"
+#line 8678 "MachineIndependent/glslang_tab.cpp"
break;
- case 328: /* type_specifier_nonarray: F32MAT4X2 */
-#line 2425 "MachineIndependent/glslang.y"
+ case 329: /* type_specifier_nonarray: F32MAT4X2 */
+#line 2434 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 8664 "MachineIndependent/glslang_tab.cpp"
+#line 8689 "MachineIndependent/glslang_tab.cpp"
break;
- case 329: /* type_specifier_nonarray: F32MAT4X3 */
-#line 2431 "MachineIndependent/glslang.y"
+ case 330: /* type_specifier_nonarray: F32MAT4X3 */
+#line 2440 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 8675 "MachineIndependent/glslang_tab.cpp"
+#line 8700 "MachineIndependent/glslang_tab.cpp"
break;
- case 330: /* type_specifier_nonarray: F32MAT4X4 */
-#line 2437 "MachineIndependent/glslang.y"
+ case 331: /* type_specifier_nonarray: F32MAT4X4 */
+#line 2446 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8686 "MachineIndependent/glslang_tab.cpp"
+#line 8711 "MachineIndependent/glslang_tab.cpp"
break;
- case 331: /* type_specifier_nonarray: F64MAT2 */
-#line 2443 "MachineIndependent/glslang.y"
+ case 332: /* type_specifier_nonarray: F64MAT2 */
+#line 2452 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8697 "MachineIndependent/glslang_tab.cpp"
+#line 8722 "MachineIndependent/glslang_tab.cpp"
break;
- case 332: /* type_specifier_nonarray: F64MAT3 */
-#line 2449 "MachineIndependent/glslang.y"
+ case 333: /* type_specifier_nonarray: F64MAT3 */
+#line 2458 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8708 "MachineIndependent/glslang_tab.cpp"
+#line 8733 "MachineIndependent/glslang_tab.cpp"
break;
- case 333: /* type_specifier_nonarray: F64MAT4 */
-#line 2455 "MachineIndependent/glslang.y"
+ case 334: /* type_specifier_nonarray: F64MAT4 */
+#line 2464 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8719 "MachineIndependent/glslang_tab.cpp"
+#line 8744 "MachineIndependent/glslang_tab.cpp"
break;
- case 334: /* type_specifier_nonarray: F64MAT2X2 */
-#line 2461 "MachineIndependent/glslang.y"
+ case 335: /* type_specifier_nonarray: F64MAT2X2 */
+#line 2470 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8730 "MachineIndependent/glslang_tab.cpp"
+#line 8755 "MachineIndependent/glslang_tab.cpp"
break;
- case 335: /* type_specifier_nonarray: F64MAT2X3 */
-#line 2467 "MachineIndependent/glslang.y"
+ case 336: /* type_specifier_nonarray: F64MAT2X3 */
+#line 2476 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 8741 "MachineIndependent/glslang_tab.cpp"
+#line 8766 "MachineIndependent/glslang_tab.cpp"
break;
- case 336: /* type_specifier_nonarray: F64MAT2X4 */
-#line 2473 "MachineIndependent/glslang.y"
+ case 337: /* type_specifier_nonarray: F64MAT2X4 */
+#line 2482 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 8752 "MachineIndependent/glslang_tab.cpp"
+#line 8777 "MachineIndependent/glslang_tab.cpp"
break;
- case 337: /* type_specifier_nonarray: F64MAT3X2 */
-#line 2479 "MachineIndependent/glslang.y"
+ case 338: /* type_specifier_nonarray: F64MAT3X2 */
+#line 2488 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 8763 "MachineIndependent/glslang_tab.cpp"
+#line 8788 "MachineIndependent/glslang_tab.cpp"
break;
- case 338: /* type_specifier_nonarray: F64MAT3X3 */
-#line 2485 "MachineIndependent/glslang.y"
+ case 339: /* type_specifier_nonarray: F64MAT3X3 */
+#line 2494 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8774 "MachineIndependent/glslang_tab.cpp"
+#line 8799 "MachineIndependent/glslang_tab.cpp"
break;
- case 339: /* type_specifier_nonarray: F64MAT3X4 */
-#line 2491 "MachineIndependent/glslang.y"
+ case 340: /* type_specifier_nonarray: F64MAT3X4 */
+#line 2500 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 8785 "MachineIndependent/glslang_tab.cpp"
+#line 8810 "MachineIndependent/glslang_tab.cpp"
break;
- case 340: /* type_specifier_nonarray: F64MAT4X2 */
-#line 2497 "MachineIndependent/glslang.y"
+ case 341: /* type_specifier_nonarray: F64MAT4X2 */
+#line 2506 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 8796 "MachineIndependent/glslang_tab.cpp"
+#line 8821 "MachineIndependent/glslang_tab.cpp"
break;
- case 341: /* type_specifier_nonarray: F64MAT4X3 */
-#line 2503 "MachineIndependent/glslang.y"
+ case 342: /* type_specifier_nonarray: F64MAT4X3 */
+#line 2512 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 8807 "MachineIndependent/glslang_tab.cpp"
+#line 8832 "MachineIndependent/glslang_tab.cpp"
break;
- case 342: /* type_specifier_nonarray: F64MAT4X4 */
-#line 2509 "MachineIndependent/glslang.y"
+ case 343: /* type_specifier_nonarray: F64MAT4X4 */
+#line 2518 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8818 "MachineIndependent/glslang_tab.cpp"
+#line 8843 "MachineIndependent/glslang_tab.cpp"
break;
- case 343: /* type_specifier_nonarray: ACCSTRUCTNV */
-#line 2515 "MachineIndependent/glslang.y"
+ case 344: /* type_specifier_nonarray: ACCSTRUCTNV */
+#line 2524 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtAccStruct;
}
-#line 8827 "MachineIndependent/glslang_tab.cpp"
+#line 8852 "MachineIndependent/glslang_tab.cpp"
break;
- case 344: /* type_specifier_nonarray: ACCSTRUCTEXT */
-#line 2519 "MachineIndependent/glslang.y"
+ case 345: /* type_specifier_nonarray: ACCSTRUCTEXT */
+#line 2528 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtAccStruct;
}
-#line 8836 "MachineIndependent/glslang_tab.cpp"
+#line 8861 "MachineIndependent/glslang_tab.cpp"
break;
- case 345: /* type_specifier_nonarray: RAYQUERYEXT */
-#line 2523 "MachineIndependent/glslang.y"
+ case 346: /* type_specifier_nonarray: RAYQUERYEXT */
+#line 2532 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtRayQuery;
}
-#line 8845 "MachineIndependent/glslang_tab.cpp"
+#line 8870 "MachineIndependent/glslang_tab.cpp"
break;
- case 346: /* type_specifier_nonarray: ATOMIC_UINT */
-#line 2527 "MachineIndependent/glslang.y"
+ case 347: /* type_specifier_nonarray: ATOMIC_UINT */
+#line 2536 "MachineIndependent/glslang.y"
{
parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtAtomicUint;
}
-#line 8855 "MachineIndependent/glslang_tab.cpp"
+#line 8880 "MachineIndependent/glslang_tab.cpp"
break;
- case 347: /* type_specifier_nonarray: SAMPLER1D */
-#line 2532 "MachineIndependent/glslang.y"
+ case 348: /* type_specifier_nonarray: SAMPLER1D */
+#line 2541 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D);
}
-#line 8865 "MachineIndependent/glslang_tab.cpp"
+#line 8890 "MachineIndependent/glslang_tab.cpp"
break;
- case 348: /* type_specifier_nonarray: SAMPLER2D */
-#line 2538 "MachineIndependent/glslang.y"
+ case 349: /* type_specifier_nonarray: SAMPLER2D */
+#line 2547 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D);
}
-#line 8875 "MachineIndependent/glslang_tab.cpp"
+#line 8900 "MachineIndependent/glslang_tab.cpp"
break;
- case 349: /* type_specifier_nonarray: SAMPLER3D */
-#line 2543 "MachineIndependent/glslang.y"
+ case 350: /* type_specifier_nonarray: SAMPLER3D */
+#line 2552 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd3D);
}
-#line 8885 "MachineIndependent/glslang_tab.cpp"
+#line 8910 "MachineIndependent/glslang_tab.cpp"
break;
- case 350: /* type_specifier_nonarray: SAMPLERCUBE */
-#line 2548 "MachineIndependent/glslang.y"
+ case 351: /* type_specifier_nonarray: SAMPLERCUBE */
+#line 2557 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube);
}
-#line 8895 "MachineIndependent/glslang_tab.cpp"
+#line 8920 "MachineIndependent/glslang_tab.cpp"
break;
- case 351: /* type_specifier_nonarray: SAMPLER2DSHADOW */
-#line 2553 "MachineIndependent/glslang.y"
+ case 352: /* type_specifier_nonarray: SAMPLER2DSHADOW */
+#line 2562 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
}
-#line 8905 "MachineIndependent/glslang_tab.cpp"
+#line 8930 "MachineIndependent/glslang_tab.cpp"
break;
- case 352: /* type_specifier_nonarray: SAMPLERCUBESHADOW */
-#line 2558 "MachineIndependent/glslang.y"
+ case 353: /* type_specifier_nonarray: SAMPLERCUBESHADOW */
+#line 2567 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
}
-#line 8915 "MachineIndependent/glslang_tab.cpp"
+#line 8940 "MachineIndependent/glslang_tab.cpp"
break;
- case 353: /* type_specifier_nonarray: SAMPLER2DARRAY */
-#line 2563 "MachineIndependent/glslang.y"
+ case 354: /* type_specifier_nonarray: SAMPLER2DARRAY */
+#line 2572 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
}
-#line 8925 "MachineIndependent/glslang_tab.cpp"
+#line 8950 "MachineIndependent/glslang_tab.cpp"
break;
- case 354: /* type_specifier_nonarray: SAMPLER2DARRAYSHADOW */
-#line 2568 "MachineIndependent/glslang.y"
+ case 355: /* type_specifier_nonarray: SAMPLER2DARRAYSHADOW */
+#line 2577 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
}
-#line 8935 "MachineIndependent/glslang_tab.cpp"
+#line 8960 "MachineIndependent/glslang_tab.cpp"
break;
- case 355: /* type_specifier_nonarray: SAMPLER1DSHADOW */
-#line 2574 "MachineIndependent/glslang.y"
+ case 356: /* type_specifier_nonarray: SAMPLER1DSHADOW */
+#line 2583 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
}
-#line 8945 "MachineIndependent/glslang_tab.cpp"
+#line 8970 "MachineIndependent/glslang_tab.cpp"
break;
- case 356: /* type_specifier_nonarray: SAMPLER1DARRAY */
-#line 2579 "MachineIndependent/glslang.y"
+ case 357: /* type_specifier_nonarray: SAMPLER1DARRAY */
+#line 2588 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
}
-#line 8955 "MachineIndependent/glslang_tab.cpp"
+#line 8980 "MachineIndependent/glslang_tab.cpp"
break;
- case 357: /* type_specifier_nonarray: SAMPLER1DARRAYSHADOW */
-#line 2584 "MachineIndependent/glslang.y"
+ case 358: /* type_specifier_nonarray: SAMPLER1DARRAYSHADOW */
+#line 2593 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
}
-#line 8965 "MachineIndependent/glslang_tab.cpp"
+#line 8990 "MachineIndependent/glslang_tab.cpp"
break;
- case 358: /* type_specifier_nonarray: SAMPLERCUBEARRAY */
-#line 2589 "MachineIndependent/glslang.y"
+ case 359: /* type_specifier_nonarray: SAMPLERCUBEARRAY */
+#line 2598 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
}
-#line 8975 "MachineIndependent/glslang_tab.cpp"
+#line 9000 "MachineIndependent/glslang_tab.cpp"
break;
- case 359: /* type_specifier_nonarray: SAMPLERCUBEARRAYSHADOW */
-#line 2594 "MachineIndependent/glslang.y"
+ case 360: /* type_specifier_nonarray: SAMPLERCUBEARRAYSHADOW */
+#line 2603 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
}
-#line 8985 "MachineIndependent/glslang_tab.cpp"
+#line 9010 "MachineIndependent/glslang_tab.cpp"
break;
- case 360: /* type_specifier_nonarray: F16SAMPLER1D */
-#line 2599 "MachineIndependent/glslang.y"
+ case 361: /* type_specifier_nonarray: F16SAMPLER1D */
+#line 2608 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D);
}
-#line 8996 "MachineIndependent/glslang_tab.cpp"
+#line 9021 "MachineIndependent/glslang_tab.cpp"
break;
- case 361: /* type_specifier_nonarray: F16SAMPLER2D */
-#line 2605 "MachineIndependent/glslang.y"
+ case 362: /* type_specifier_nonarray: F16SAMPLER2D */
+#line 2614 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D);
}
-#line 9007 "MachineIndependent/glslang_tab.cpp"
+#line 9032 "MachineIndependent/glslang_tab.cpp"
break;
- case 362: /* type_specifier_nonarray: F16SAMPLER3D */
-#line 2611 "MachineIndependent/glslang.y"
+ case 363: /* type_specifier_nonarray: F16SAMPLER3D */
+#line 2620 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd3D);
}
-#line 9018 "MachineIndependent/glslang_tab.cpp"
+#line 9043 "MachineIndependent/glslang_tab.cpp"
break;
- case 363: /* type_specifier_nonarray: F16SAMPLERCUBE */
-#line 2617 "MachineIndependent/glslang.y"
+ case 364: /* type_specifier_nonarray: F16SAMPLERCUBE */
+#line 2626 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube);
}
-#line 9029 "MachineIndependent/glslang_tab.cpp"
+#line 9054 "MachineIndependent/glslang_tab.cpp"
break;
- case 364: /* type_specifier_nonarray: F16SAMPLER1DSHADOW */
-#line 2623 "MachineIndependent/glslang.y"
+ case 365: /* type_specifier_nonarray: F16SAMPLER1DSHADOW */
+#line 2632 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true);
}
-#line 9040 "MachineIndependent/glslang_tab.cpp"
+#line 9065 "MachineIndependent/glslang_tab.cpp"
break;
- case 365: /* type_specifier_nonarray: F16SAMPLER2DSHADOW */
-#line 2629 "MachineIndependent/glslang.y"
+ case 366: /* type_specifier_nonarray: F16SAMPLER2DSHADOW */
+#line 2638 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true);
}
-#line 9051 "MachineIndependent/glslang_tab.cpp"
+#line 9076 "MachineIndependent/glslang_tab.cpp"
break;
- case 366: /* type_specifier_nonarray: F16SAMPLERCUBESHADOW */
-#line 2635 "MachineIndependent/glslang.y"
+ case 367: /* type_specifier_nonarray: F16SAMPLERCUBESHADOW */
+#line 2644 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true);
}
-#line 9062 "MachineIndependent/glslang_tab.cpp"
+#line 9087 "MachineIndependent/glslang_tab.cpp"
break;
- case 367: /* type_specifier_nonarray: F16SAMPLER1DARRAY */
-#line 2641 "MachineIndependent/glslang.y"
+ case 368: /* type_specifier_nonarray: F16SAMPLER1DARRAY */
+#line 2650 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true);
}
-#line 9073 "MachineIndependent/glslang_tab.cpp"
+#line 9098 "MachineIndependent/glslang_tab.cpp"
break;
- case 368: /* type_specifier_nonarray: F16SAMPLER2DARRAY */
-#line 2647 "MachineIndependent/glslang.y"
+ case 369: /* type_specifier_nonarray: F16SAMPLER2DARRAY */
+#line 2656 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true);
}
-#line 9084 "MachineIndependent/glslang_tab.cpp"
+#line 9109 "MachineIndependent/glslang_tab.cpp"
break;
- case 369: /* type_specifier_nonarray: F16SAMPLER1DARRAYSHADOW */
-#line 2653 "MachineIndependent/glslang.y"
+ case 370: /* type_specifier_nonarray: F16SAMPLER1DARRAYSHADOW */
+#line 2662 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true);
}
-#line 9095 "MachineIndependent/glslang_tab.cpp"
+#line 9120 "MachineIndependent/glslang_tab.cpp"
break;
- case 370: /* type_specifier_nonarray: F16SAMPLER2DARRAYSHADOW */
-#line 2659 "MachineIndependent/glslang.y"
+ case 371: /* type_specifier_nonarray: F16SAMPLER2DARRAYSHADOW */
+#line 2668 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true);
}
-#line 9106 "MachineIndependent/glslang_tab.cpp"
+#line 9131 "MachineIndependent/glslang_tab.cpp"
break;
- case 371: /* type_specifier_nonarray: F16SAMPLERCUBEARRAY */
-#line 2665 "MachineIndependent/glslang.y"
+ case 372: /* type_specifier_nonarray: F16SAMPLERCUBEARRAY */
+#line 2674 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true);
}
-#line 9117 "MachineIndependent/glslang_tab.cpp"
+#line 9142 "MachineIndependent/glslang_tab.cpp"
break;
- case 372: /* type_specifier_nonarray: F16SAMPLERCUBEARRAYSHADOW */
-#line 2671 "MachineIndependent/glslang.y"
+ case 373: /* type_specifier_nonarray: F16SAMPLERCUBEARRAYSHADOW */
+#line 2680 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true);
}
-#line 9128 "MachineIndependent/glslang_tab.cpp"
+#line 9153 "MachineIndependent/glslang_tab.cpp"
break;
- case 373: /* type_specifier_nonarray: ISAMPLER1D */
-#line 2677 "MachineIndependent/glslang.y"
+ case 374: /* type_specifier_nonarray: ISAMPLER1D */
+#line 2686 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd1D);
}
-#line 9138 "MachineIndependent/glslang_tab.cpp"
+#line 9163 "MachineIndependent/glslang_tab.cpp"
break;
- case 374: /* type_specifier_nonarray: ISAMPLER2D */
-#line 2683 "MachineIndependent/glslang.y"
+ case 375: /* type_specifier_nonarray: ISAMPLER2D */
+#line 2692 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D);
}
-#line 9148 "MachineIndependent/glslang_tab.cpp"
+#line 9173 "MachineIndependent/glslang_tab.cpp"
break;
- case 375: /* type_specifier_nonarray: ISAMPLER3D */
-#line 2688 "MachineIndependent/glslang.y"
+ case 376: /* type_specifier_nonarray: ISAMPLER3D */
+#line 2697 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd3D);
}
-#line 9158 "MachineIndependent/glslang_tab.cpp"
+#line 9183 "MachineIndependent/glslang_tab.cpp"
break;
- case 376: /* type_specifier_nonarray: ISAMPLERCUBE */
-#line 2693 "MachineIndependent/glslang.y"
+ case 377: /* type_specifier_nonarray: ISAMPLERCUBE */
+#line 2702 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdCube);
}
-#line 9168 "MachineIndependent/glslang_tab.cpp"
+#line 9193 "MachineIndependent/glslang_tab.cpp"
break;
- case 377: /* type_specifier_nonarray: ISAMPLER2DARRAY */
-#line 2698 "MachineIndependent/glslang.y"
+ case 378: /* type_specifier_nonarray: ISAMPLER2DARRAY */
+#line 2707 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
}
-#line 9178 "MachineIndependent/glslang_tab.cpp"
+#line 9203 "MachineIndependent/glslang_tab.cpp"
break;
- case 378: /* type_specifier_nonarray: USAMPLER2D */
-#line 2703 "MachineIndependent/glslang.y"
+ case 379: /* type_specifier_nonarray: USAMPLER2D */
+#line 2712 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D);
}
-#line 9188 "MachineIndependent/glslang_tab.cpp"
+#line 9213 "MachineIndependent/glslang_tab.cpp"
break;
- case 379: /* type_specifier_nonarray: USAMPLER3D */
-#line 2708 "MachineIndependent/glslang.y"
+ case 380: /* type_specifier_nonarray: USAMPLER3D */
+#line 2717 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd3D);
}
-#line 9198 "MachineIndependent/glslang_tab.cpp"
+#line 9223 "MachineIndependent/glslang_tab.cpp"
break;
- case 380: /* type_specifier_nonarray: USAMPLERCUBE */
-#line 2713 "MachineIndependent/glslang.y"
+ case 381: /* type_specifier_nonarray: USAMPLERCUBE */
+#line 2722 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdCube);
}
-#line 9208 "MachineIndependent/glslang_tab.cpp"
+#line 9233 "MachineIndependent/glslang_tab.cpp"
break;
- case 381: /* type_specifier_nonarray: ISAMPLER1DARRAY */
-#line 2719 "MachineIndependent/glslang.y"
+ case 382: /* type_specifier_nonarray: ISAMPLER1DARRAY */
+#line 2728 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
}
-#line 9218 "MachineIndependent/glslang_tab.cpp"
+#line 9243 "MachineIndependent/glslang_tab.cpp"
break;
- case 382: /* type_specifier_nonarray: ISAMPLERCUBEARRAY */
-#line 2724 "MachineIndependent/glslang.y"
+ case 383: /* type_specifier_nonarray: ISAMPLERCUBEARRAY */
+#line 2733 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
}
-#line 9228 "MachineIndependent/glslang_tab.cpp"
+#line 9253 "MachineIndependent/glslang_tab.cpp"
break;
- case 383: /* type_specifier_nonarray: USAMPLER1D */
-#line 2729 "MachineIndependent/glslang.y"
+ case 384: /* type_specifier_nonarray: USAMPLER1D */
+#line 2738 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd1D);
}
-#line 9238 "MachineIndependent/glslang_tab.cpp"
+#line 9263 "MachineIndependent/glslang_tab.cpp"
break;
- case 384: /* type_specifier_nonarray: USAMPLER1DARRAY */
-#line 2734 "MachineIndependent/glslang.y"
+ case 385: /* type_specifier_nonarray: USAMPLER1DARRAY */
+#line 2743 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd1D, true);
}
-#line 9248 "MachineIndependent/glslang_tab.cpp"
+#line 9273 "MachineIndependent/glslang_tab.cpp"
break;
- case 385: /* type_specifier_nonarray: USAMPLERCUBEARRAY */
-#line 2739 "MachineIndependent/glslang.y"
+ case 386: /* type_specifier_nonarray: USAMPLERCUBEARRAY */
+#line 2748 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdCube, true);
}
-#line 9258 "MachineIndependent/glslang_tab.cpp"
+#line 9283 "MachineIndependent/glslang_tab.cpp"
break;
- case 386: /* type_specifier_nonarray: TEXTURECUBEARRAY */
-#line 2744 "MachineIndependent/glslang.y"
+ case 387: /* type_specifier_nonarray: TEXTURECUBEARRAY */
+#line 2753 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);
}
-#line 9268 "MachineIndependent/glslang_tab.cpp"
+#line 9293 "MachineIndependent/glslang_tab.cpp"
break;
- case 387: /* type_specifier_nonarray: ITEXTURECUBEARRAY */
-#line 2749 "MachineIndependent/glslang.y"
+ case 388: /* type_specifier_nonarray: ITEXTURECUBEARRAY */
+#line 2758 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);
}
-#line 9278 "MachineIndependent/glslang_tab.cpp"
+#line 9303 "MachineIndependent/glslang_tab.cpp"
break;
- case 388: /* type_specifier_nonarray: UTEXTURECUBEARRAY */
-#line 2754 "MachineIndependent/glslang.y"
+ case 389: /* type_specifier_nonarray: UTEXTURECUBEARRAY */
+#line 2763 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true);
}
-#line 9288 "MachineIndependent/glslang_tab.cpp"
+#line 9313 "MachineIndependent/glslang_tab.cpp"
break;
- case 389: /* type_specifier_nonarray: USAMPLER2DARRAY */
-#line 2760 "MachineIndependent/glslang.y"
+ case 390: /* type_specifier_nonarray: USAMPLER2DARRAY */
+#line 2769 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D, true);
}
-#line 9298 "MachineIndependent/glslang_tab.cpp"
+#line 9323 "MachineIndependent/glslang_tab.cpp"
break;
- case 390: /* type_specifier_nonarray: TEXTURE2D */
-#line 2765 "MachineIndependent/glslang.y"
+ case 391: /* type_specifier_nonarray: TEXTURE2D */
+#line 2774 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);
}
-#line 9308 "MachineIndependent/glslang_tab.cpp"
+#line 9333 "MachineIndependent/glslang_tab.cpp"
break;
- case 391: /* type_specifier_nonarray: TEXTURE3D */
-#line 2770 "MachineIndependent/glslang.y"
+ case 392: /* type_specifier_nonarray: TEXTURE3D */
+#line 2779 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);
}
-#line 9318 "MachineIndependent/glslang_tab.cpp"
+#line 9343 "MachineIndependent/glslang_tab.cpp"
break;
- case 392: /* type_specifier_nonarray: TEXTURE2DARRAY */
-#line 2775 "MachineIndependent/glslang.y"
+ case 393: /* type_specifier_nonarray: TEXTURE2DARRAY */
+#line 2784 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);
}
-#line 9328 "MachineIndependent/glslang_tab.cpp"
+#line 9353 "MachineIndependent/glslang_tab.cpp"
break;
- case 393: /* type_specifier_nonarray: TEXTURECUBE */
-#line 2780 "MachineIndependent/glslang.y"
+ case 394: /* type_specifier_nonarray: TEXTURECUBE */
+#line 2789 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);
}
-#line 9338 "MachineIndependent/glslang_tab.cpp"
+#line 9363 "MachineIndependent/glslang_tab.cpp"
break;
- case 394: /* type_specifier_nonarray: ITEXTURE2D */
-#line 2785 "MachineIndependent/glslang.y"
+ case 395: /* type_specifier_nonarray: ITEXTURE2D */
+#line 2794 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);
}
-#line 9348 "MachineIndependent/glslang_tab.cpp"
+#line 9373 "MachineIndependent/glslang_tab.cpp"
break;
- case 395: /* type_specifier_nonarray: ITEXTURE3D */
-#line 2790 "MachineIndependent/glslang.y"
+ case 396: /* type_specifier_nonarray: ITEXTURE3D */
+#line 2799 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);
}
-#line 9358 "MachineIndependent/glslang_tab.cpp"
+#line 9383 "MachineIndependent/glslang_tab.cpp"
break;
- case 396: /* type_specifier_nonarray: ITEXTURECUBE */
-#line 2795 "MachineIndependent/glslang.y"
+ case 397: /* type_specifier_nonarray: ITEXTURECUBE */
+#line 2804 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);
}
-#line 9368 "MachineIndependent/glslang_tab.cpp"
+#line 9393 "MachineIndependent/glslang_tab.cpp"
break;
- case 397: /* type_specifier_nonarray: ITEXTURE2DARRAY */
-#line 2800 "MachineIndependent/glslang.y"
+ case 398: /* type_specifier_nonarray: ITEXTURE2DARRAY */
+#line 2809 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);
}
-#line 9378 "MachineIndependent/glslang_tab.cpp"
+#line 9403 "MachineIndependent/glslang_tab.cpp"
break;
- case 398: /* type_specifier_nonarray: UTEXTURE2D */
-#line 2805 "MachineIndependent/glslang.y"
+ case 399: /* type_specifier_nonarray: UTEXTURE2D */
+#line 2814 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);
}
-#line 9388 "MachineIndependent/glslang_tab.cpp"
+#line 9413 "MachineIndependent/glslang_tab.cpp"
break;
- case 399: /* type_specifier_nonarray: UTEXTURE3D */
-#line 2810 "MachineIndependent/glslang.y"
+ case 400: /* type_specifier_nonarray: UTEXTURE3D */
+#line 2819 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);
}
-#line 9398 "MachineIndependent/glslang_tab.cpp"
+#line 9423 "MachineIndependent/glslang_tab.cpp"
break;
- case 400: /* type_specifier_nonarray: UTEXTURECUBE */
-#line 2815 "MachineIndependent/glslang.y"
+ case 401: /* type_specifier_nonarray: UTEXTURECUBE */
+#line 2824 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);
}
-#line 9408 "MachineIndependent/glslang_tab.cpp"
+#line 9433 "MachineIndependent/glslang_tab.cpp"
break;
- case 401: /* type_specifier_nonarray: UTEXTURE2DARRAY */
-#line 2820 "MachineIndependent/glslang.y"
+ case 402: /* type_specifier_nonarray: UTEXTURE2DARRAY */
+#line 2829 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);
}
-#line 9418 "MachineIndependent/glslang_tab.cpp"
+#line 9443 "MachineIndependent/glslang_tab.cpp"
break;
- case 402: /* type_specifier_nonarray: SAMPLER */
-#line 2825 "MachineIndependent/glslang.y"
+ case 403: /* type_specifier_nonarray: SAMPLER */
+#line 2834 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setPureSampler(false);
}
-#line 9428 "MachineIndependent/glslang_tab.cpp"
+#line 9453 "MachineIndependent/glslang_tab.cpp"
break;
- case 403: /* type_specifier_nonarray: SAMPLERSHADOW */
-#line 2830 "MachineIndependent/glslang.y"
+ case 404: /* type_specifier_nonarray: SAMPLERSHADOW */
+#line 2839 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setPureSampler(true);
}
-#line 9438 "MachineIndependent/glslang_tab.cpp"
+#line 9463 "MachineIndependent/glslang_tab.cpp"
break;
- case 404: /* type_specifier_nonarray: SAMPLER2DRECT */
-#line 2836 "MachineIndependent/glslang.y"
+ case 405: /* type_specifier_nonarray: SAMPLER2DRECT */
+#line 2845 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdRect);
}
-#line 9448 "MachineIndependent/glslang_tab.cpp"
+#line 9473 "MachineIndependent/glslang_tab.cpp"
break;
- case 405: /* type_specifier_nonarray: SAMPLER2DRECTSHADOW */
-#line 2841 "MachineIndependent/glslang.y"
+ case 406: /* type_specifier_nonarray: SAMPLER2DRECTSHADOW */
+#line 2850 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
}
-#line 9458 "MachineIndependent/glslang_tab.cpp"
+#line 9483 "MachineIndependent/glslang_tab.cpp"
break;
- case 406: /* type_specifier_nonarray: F16SAMPLER2DRECT */
-#line 2846 "MachineIndependent/glslang.y"
+ case 407: /* type_specifier_nonarray: F16SAMPLER2DRECT */
+#line 2855 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdRect);
}
-#line 9469 "MachineIndependent/glslang_tab.cpp"
+#line 9494 "MachineIndependent/glslang_tab.cpp"
break;
- case 407: /* type_specifier_nonarray: F16SAMPLER2DRECTSHADOW */
-#line 2852 "MachineIndependent/glslang.y"
+ case 408: /* type_specifier_nonarray: F16SAMPLER2DRECTSHADOW */
+#line 2861 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true);
}
-#line 9480 "MachineIndependent/glslang_tab.cpp"
+#line 9505 "MachineIndependent/glslang_tab.cpp"
break;
- case 408: /* type_specifier_nonarray: ISAMPLER2DRECT */
-#line 2858 "MachineIndependent/glslang.y"
+ case 409: /* type_specifier_nonarray: ISAMPLER2DRECT */
+#line 2867 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdRect);
}
-#line 9490 "MachineIndependent/glslang_tab.cpp"
+#line 9515 "MachineIndependent/glslang_tab.cpp"
break;
- case 409: /* type_specifier_nonarray: USAMPLER2DRECT */
-#line 2863 "MachineIndependent/glslang.y"
+ case 410: /* type_specifier_nonarray: USAMPLER2DRECT */
+#line 2872 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdRect);
}
-#line 9500 "MachineIndependent/glslang_tab.cpp"
+#line 9525 "MachineIndependent/glslang_tab.cpp"
break;
- case 410: /* type_specifier_nonarray: SAMPLERBUFFER */
-#line 2868 "MachineIndependent/glslang.y"
+ case 411: /* type_specifier_nonarray: SAMPLERBUFFER */
+#line 2877 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);
}
-#line 9510 "MachineIndependent/glslang_tab.cpp"
+#line 9535 "MachineIndependent/glslang_tab.cpp"
break;
- case 411: /* type_specifier_nonarray: F16SAMPLERBUFFER */
-#line 2873 "MachineIndependent/glslang.y"
+ case 412: /* type_specifier_nonarray: F16SAMPLERBUFFER */
+#line 2882 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer);
}
-#line 9521 "MachineIndependent/glslang_tab.cpp"
+#line 9546 "MachineIndependent/glslang_tab.cpp"
break;
- case 412: /* type_specifier_nonarray: ISAMPLERBUFFER */
-#line 2879 "MachineIndependent/glslang.y"
+ case 413: /* type_specifier_nonarray: ISAMPLERBUFFER */
+#line 2888 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
}
-#line 9531 "MachineIndependent/glslang_tab.cpp"
+#line 9556 "MachineIndependent/glslang_tab.cpp"
break;
- case 413: /* type_specifier_nonarray: USAMPLERBUFFER */
-#line 2884 "MachineIndependent/glslang.y"
+ case 414: /* type_specifier_nonarray: USAMPLERBUFFER */
+#line 2893 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
}
-#line 9541 "MachineIndependent/glslang_tab.cpp"
+#line 9566 "MachineIndependent/glslang_tab.cpp"
break;
- case 414: /* type_specifier_nonarray: SAMPLER2DMS */
-#line 2889 "MachineIndependent/glslang.y"
+ case 415: /* type_specifier_nonarray: SAMPLER2DMS */
+#line 2898 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
}
-#line 9551 "MachineIndependent/glslang_tab.cpp"
+#line 9576 "MachineIndependent/glslang_tab.cpp"
break;
- case 415: /* type_specifier_nonarray: F16SAMPLER2DMS */
-#line 2894 "MachineIndependent/glslang.y"
+ case 416: /* type_specifier_nonarray: F16SAMPLER2DMS */
+#line 2903 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true);
}
-#line 9562 "MachineIndependent/glslang_tab.cpp"
+#line 9587 "MachineIndependent/glslang_tab.cpp"
break;
- case 416: /* type_specifier_nonarray: ISAMPLER2DMS */
-#line 2900 "MachineIndependent/glslang.y"
+ case 417: /* type_specifier_nonarray: ISAMPLER2DMS */
+#line 2909 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
}
-#line 9572 "MachineIndependent/glslang_tab.cpp"
+#line 9597 "MachineIndependent/glslang_tab.cpp"
break;
- case 417: /* type_specifier_nonarray: USAMPLER2DMS */
-#line 2905 "MachineIndependent/glslang.y"
+ case 418: /* type_specifier_nonarray: USAMPLER2DMS */
+#line 2914 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);
}
-#line 9582 "MachineIndependent/glslang_tab.cpp"
+#line 9607 "MachineIndependent/glslang_tab.cpp"
break;
- case 418: /* type_specifier_nonarray: SAMPLER2DMSARRAY */
-#line 2910 "MachineIndependent/glslang.y"
+ case 419: /* type_specifier_nonarray: SAMPLER2DMSARRAY */
+#line 2919 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
}
-#line 9592 "MachineIndependent/glslang_tab.cpp"
+#line 9617 "MachineIndependent/glslang_tab.cpp"
break;
- case 419: /* type_specifier_nonarray: F16SAMPLER2DMSARRAY */
-#line 2915 "MachineIndependent/glslang.y"
+ case 420: /* type_specifier_nonarray: F16SAMPLER2DMSARRAY */
+#line 2924 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true);
}
-#line 9603 "MachineIndependent/glslang_tab.cpp"
+#line 9628 "MachineIndependent/glslang_tab.cpp"
break;
- case 420: /* type_specifier_nonarray: ISAMPLER2DMSARRAY */
-#line 2921 "MachineIndependent/glslang.y"
+ case 421: /* type_specifier_nonarray: ISAMPLER2DMSARRAY */
+#line 2930 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
}
-#line 9613 "MachineIndependent/glslang_tab.cpp"
+#line 9638 "MachineIndependent/glslang_tab.cpp"
break;
- case 421: /* type_specifier_nonarray: USAMPLER2DMSARRAY */
-#line 2926 "MachineIndependent/glslang.y"
+ case 422: /* type_specifier_nonarray: USAMPLER2DMSARRAY */
+#line 2935 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
}
-#line 9623 "MachineIndependent/glslang_tab.cpp"
+#line 9648 "MachineIndependent/glslang_tab.cpp"
break;
- case 422: /* type_specifier_nonarray: TEXTURE1D */
-#line 2931 "MachineIndependent/glslang.y"
+ case 423: /* type_specifier_nonarray: TEXTURE1D */
+#line 2940 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
}
-#line 9633 "MachineIndependent/glslang_tab.cpp"
+#line 9658 "MachineIndependent/glslang_tab.cpp"
break;
- case 423: /* type_specifier_nonarray: F16TEXTURE1D */
-#line 2936 "MachineIndependent/glslang.y"
+ case 424: /* type_specifier_nonarray: F16TEXTURE1D */
+#line 2945 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D);
}
-#line 9644 "MachineIndependent/glslang_tab.cpp"
+#line 9669 "MachineIndependent/glslang_tab.cpp"
break;
- case 424: /* type_specifier_nonarray: F16TEXTURE2D */
-#line 2942 "MachineIndependent/glslang.y"
+ case 425: /* type_specifier_nonarray: F16TEXTURE2D */
+#line 2951 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D);
}
-#line 9655 "MachineIndependent/glslang_tab.cpp"
+#line 9680 "MachineIndependent/glslang_tab.cpp"
break;
- case 425: /* type_specifier_nonarray: F16TEXTURE3D */
-#line 2948 "MachineIndependent/glslang.y"
+ case 426: /* type_specifier_nonarray: F16TEXTURE3D */
+#line 2957 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D);
}
-#line 9666 "MachineIndependent/glslang_tab.cpp"
+#line 9691 "MachineIndependent/glslang_tab.cpp"
break;
- case 426: /* type_specifier_nonarray: F16TEXTURECUBE */
-#line 2954 "MachineIndependent/glslang.y"
+ case 427: /* type_specifier_nonarray: F16TEXTURECUBE */
+#line 2963 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube);
}
-#line 9677 "MachineIndependent/glslang_tab.cpp"
+#line 9702 "MachineIndependent/glslang_tab.cpp"
break;
- case 427: /* type_specifier_nonarray: TEXTURE1DARRAY */
-#line 2960 "MachineIndependent/glslang.y"
+ case 428: /* type_specifier_nonarray: TEXTURE1DARRAY */
+#line 2969 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true);
}
-#line 9687 "MachineIndependent/glslang_tab.cpp"
+#line 9712 "MachineIndependent/glslang_tab.cpp"
break;
- case 428: /* type_specifier_nonarray: F16TEXTURE1DARRAY */
-#line 2965 "MachineIndependent/glslang.y"
+ case 429: /* type_specifier_nonarray: F16TEXTURE1DARRAY */
+#line 2974 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true);
}
-#line 9698 "MachineIndependent/glslang_tab.cpp"
+#line 9723 "MachineIndependent/glslang_tab.cpp"
break;
- case 429: /* type_specifier_nonarray: F16TEXTURE2DARRAY */
-#line 2971 "MachineIndependent/glslang.y"
+ case 430: /* type_specifier_nonarray: F16TEXTURE2DARRAY */
+#line 2980 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true);
}
-#line 9709 "MachineIndependent/glslang_tab.cpp"
+#line 9734 "MachineIndependent/glslang_tab.cpp"
break;
- case 430: /* type_specifier_nonarray: F16TEXTURECUBEARRAY */
-#line 2977 "MachineIndependent/glslang.y"
+ case 431: /* type_specifier_nonarray: F16TEXTURECUBEARRAY */
+#line 2986 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true);
}
-#line 9720 "MachineIndependent/glslang_tab.cpp"
+#line 9745 "MachineIndependent/glslang_tab.cpp"
break;
- case 431: /* type_specifier_nonarray: ITEXTURE1D */
-#line 2983 "MachineIndependent/glslang.y"
+ case 432: /* type_specifier_nonarray: ITEXTURE1D */
+#line 2992 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);
}
-#line 9730 "MachineIndependent/glslang_tab.cpp"
+#line 9755 "MachineIndependent/glslang_tab.cpp"
break;
- case 432: /* type_specifier_nonarray: ITEXTURE1DARRAY */
-#line 2988 "MachineIndependent/glslang.y"
+ case 433: /* type_specifier_nonarray: ITEXTURE1DARRAY */
+#line 2997 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);
}
-#line 9740 "MachineIndependent/glslang_tab.cpp"
+#line 9765 "MachineIndependent/glslang_tab.cpp"
break;
- case 433: /* type_specifier_nonarray: UTEXTURE1D */
-#line 2993 "MachineIndependent/glslang.y"
+ case 434: /* type_specifier_nonarray: UTEXTURE1D */
+#line 3002 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);
}
-#line 9750 "MachineIndependent/glslang_tab.cpp"
+#line 9775 "MachineIndependent/glslang_tab.cpp"
break;
- case 434: /* type_specifier_nonarray: UTEXTURE1DARRAY */
-#line 2998 "MachineIndependent/glslang.y"
+ case 435: /* type_specifier_nonarray: UTEXTURE1DARRAY */
+#line 3007 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);
}
-#line 9760 "MachineIndependent/glslang_tab.cpp"
+#line 9785 "MachineIndependent/glslang_tab.cpp"
break;
- case 435: /* type_specifier_nonarray: TEXTURE2DRECT */
-#line 3003 "MachineIndependent/glslang.y"
+ case 436: /* type_specifier_nonarray: TEXTURE2DRECT */
+#line 3012 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect);
}
-#line 9770 "MachineIndependent/glslang_tab.cpp"
+#line 9795 "MachineIndependent/glslang_tab.cpp"
break;
- case 436: /* type_specifier_nonarray: F16TEXTURE2DRECT */
-#line 3008 "MachineIndependent/glslang.y"
+ case 437: /* type_specifier_nonarray: F16TEXTURE2DRECT */
+#line 3017 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect);
}
-#line 9781 "MachineIndependent/glslang_tab.cpp"
+#line 9806 "MachineIndependent/glslang_tab.cpp"
break;
- case 437: /* type_specifier_nonarray: ITEXTURE2DRECT */
-#line 3014 "MachineIndependent/glslang.y"
+ case 438: /* type_specifier_nonarray: ITEXTURE2DRECT */
+#line 3023 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);
}
-#line 9791 "MachineIndependent/glslang_tab.cpp"
+#line 9816 "MachineIndependent/glslang_tab.cpp"
break;
- case 438: /* type_specifier_nonarray: UTEXTURE2DRECT */
-#line 3019 "MachineIndependent/glslang.y"
+ case 439: /* type_specifier_nonarray: UTEXTURE2DRECT */
+#line 3028 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdRect);
}
-#line 9801 "MachineIndependent/glslang_tab.cpp"
+#line 9826 "MachineIndependent/glslang_tab.cpp"
break;
- case 439: /* type_specifier_nonarray: TEXTUREBUFFER */
-#line 3024 "MachineIndependent/glslang.y"
+ case 440: /* type_specifier_nonarray: TEXTUREBUFFER */
+#line 3033 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer);
}
-#line 9811 "MachineIndependent/glslang_tab.cpp"
+#line 9836 "MachineIndependent/glslang_tab.cpp"
break;
- case 440: /* type_specifier_nonarray: F16TEXTUREBUFFER */
-#line 3029 "MachineIndependent/glslang.y"
+ case 441: /* type_specifier_nonarray: F16TEXTUREBUFFER */
+#line 3038 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer);
}
-#line 9822 "MachineIndependent/glslang_tab.cpp"
+#line 9847 "MachineIndependent/glslang_tab.cpp"
break;
- case 441: /* type_specifier_nonarray: ITEXTUREBUFFER */
-#line 3035 "MachineIndependent/glslang.y"
+ case 442: /* type_specifier_nonarray: ITEXTUREBUFFER */
+#line 3044 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);
}
-#line 9832 "MachineIndependent/glslang_tab.cpp"
+#line 9857 "MachineIndependent/glslang_tab.cpp"
break;
- case 442: /* type_specifier_nonarray: UTEXTUREBUFFER */
-#line 3040 "MachineIndependent/glslang.y"
+ case 443: /* type_specifier_nonarray: UTEXTUREBUFFER */
+#line 3049 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer);
}
-#line 9842 "MachineIndependent/glslang_tab.cpp"
+#line 9867 "MachineIndependent/glslang_tab.cpp"
break;
- case 443: /* type_specifier_nonarray: TEXTURE2DMS */
-#line 3045 "MachineIndependent/glslang.y"
+ case 444: /* type_specifier_nonarray: TEXTURE2DMS */
+#line 3054 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true);
}
-#line 9852 "MachineIndependent/glslang_tab.cpp"
+#line 9877 "MachineIndependent/glslang_tab.cpp"
break;
- case 444: /* type_specifier_nonarray: F16TEXTURE2DMS */
-#line 3050 "MachineIndependent/glslang.y"
+ case 445: /* type_specifier_nonarray: F16TEXTURE2DMS */
+#line 3059 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true);
}
-#line 9863 "MachineIndependent/glslang_tab.cpp"
+#line 9888 "MachineIndependent/glslang_tab.cpp"
break;
- case 445: /* type_specifier_nonarray: ITEXTURE2DMS */
-#line 3056 "MachineIndependent/glslang.y"
+ case 446: /* type_specifier_nonarray: ITEXTURE2DMS */
+#line 3065 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);
}
-#line 9873 "MachineIndependent/glslang_tab.cpp"
+#line 9898 "MachineIndependent/glslang_tab.cpp"
break;
- case 446: /* type_specifier_nonarray: UTEXTURE2DMS */
-#line 3061 "MachineIndependent/glslang.y"
+ case 447: /* type_specifier_nonarray: UTEXTURE2DMS */
+#line 3070 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true);
}
-#line 9883 "MachineIndependent/glslang_tab.cpp"
+#line 9908 "MachineIndependent/glslang_tab.cpp"
break;
- case 447: /* type_specifier_nonarray: TEXTURE2DMSARRAY */
-#line 3066 "MachineIndependent/glslang.y"
+ case 448: /* type_specifier_nonarray: TEXTURE2DMSARRAY */
+#line 3075 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true);
}
-#line 9893 "MachineIndependent/glslang_tab.cpp"
+#line 9918 "MachineIndependent/glslang_tab.cpp"
break;
- case 448: /* type_specifier_nonarray: F16TEXTURE2DMSARRAY */
-#line 3071 "MachineIndependent/glslang.y"
+ case 449: /* type_specifier_nonarray: F16TEXTURE2DMSARRAY */
+#line 3080 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true);
}
-#line 9904 "MachineIndependent/glslang_tab.cpp"
+#line 9929 "MachineIndependent/glslang_tab.cpp"
break;
- case 449: /* type_specifier_nonarray: ITEXTURE2DMSARRAY */
-#line 3077 "MachineIndependent/glslang.y"
+ case 450: /* type_specifier_nonarray: ITEXTURE2DMSARRAY */
+#line 3086 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);
}
-#line 9914 "MachineIndependent/glslang_tab.cpp"
+#line 9939 "MachineIndependent/glslang_tab.cpp"
break;
- case 450: /* type_specifier_nonarray: UTEXTURE2DMSARRAY */
-#line 3082 "MachineIndependent/glslang.y"
+ case 451: /* type_specifier_nonarray: UTEXTURE2DMSARRAY */
+#line 3091 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true);
}
-#line 9924 "MachineIndependent/glslang_tab.cpp"
+#line 9949 "MachineIndependent/glslang_tab.cpp"
break;
- case 451: /* type_specifier_nonarray: IMAGE1D */
-#line 3087 "MachineIndependent/glslang.y"
+ case 452: /* type_specifier_nonarray: IMAGE1D */
+#line 3096 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd1D);
}
-#line 9934 "MachineIndependent/glslang_tab.cpp"
+#line 9959 "MachineIndependent/glslang_tab.cpp"
break;
- case 452: /* type_specifier_nonarray: F16IMAGE1D */
-#line 3092 "MachineIndependent/glslang.y"
+ case 453: /* type_specifier_nonarray: F16IMAGE1D */
+#line 3101 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D);
}
-#line 9945 "MachineIndependent/glslang_tab.cpp"
+#line 9970 "MachineIndependent/glslang_tab.cpp"
break;
- case 453: /* type_specifier_nonarray: IIMAGE1D */
-#line 3098 "MachineIndependent/glslang.y"
+ case 454: /* type_specifier_nonarray: IIMAGE1D */
+#line 3107 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd1D);
}
-#line 9955 "MachineIndependent/glslang_tab.cpp"
+#line 9980 "MachineIndependent/glslang_tab.cpp"
break;
- case 454: /* type_specifier_nonarray: UIMAGE1D */
-#line 3103 "MachineIndependent/glslang.y"
+ case 455: /* type_specifier_nonarray: UIMAGE1D */
+#line 3112 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd1D);
}
-#line 9965 "MachineIndependent/glslang_tab.cpp"
+#line 9990 "MachineIndependent/glslang_tab.cpp"
break;
- case 455: /* type_specifier_nonarray: IMAGE2D */
-#line 3108 "MachineIndependent/glslang.y"
+ case 456: /* type_specifier_nonarray: IMAGE2D */
+#line 3117 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D);
}
-#line 9975 "MachineIndependent/glslang_tab.cpp"
+#line 10000 "MachineIndependent/glslang_tab.cpp"
break;
- case 456: /* type_specifier_nonarray: F16IMAGE2D */
-#line 3113 "MachineIndependent/glslang.y"
+ case 457: /* type_specifier_nonarray: F16IMAGE2D */
+#line 3122 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D);
}
-#line 9986 "MachineIndependent/glslang_tab.cpp"
+#line 10011 "MachineIndependent/glslang_tab.cpp"
break;
- case 457: /* type_specifier_nonarray: IIMAGE2D */
-#line 3119 "MachineIndependent/glslang.y"
+ case 458: /* type_specifier_nonarray: IIMAGE2D */
+#line 3128 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D);
}
-#line 9996 "MachineIndependent/glslang_tab.cpp"
+#line 10021 "MachineIndependent/glslang_tab.cpp"
break;
- case 458: /* type_specifier_nonarray: UIMAGE2D */
-#line 3124 "MachineIndependent/glslang.y"
+ case 459: /* type_specifier_nonarray: UIMAGE2D */
+#line 3133 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D);
}
-#line 10006 "MachineIndependent/glslang_tab.cpp"
+#line 10031 "MachineIndependent/glslang_tab.cpp"
break;
- case 459: /* type_specifier_nonarray: IMAGE3D */
-#line 3129 "MachineIndependent/glslang.y"
+ case 460: /* type_specifier_nonarray: IMAGE3D */
+#line 3138 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd3D);
}
-#line 10016 "MachineIndependent/glslang_tab.cpp"
+#line 10041 "MachineIndependent/glslang_tab.cpp"
break;
- case 460: /* type_specifier_nonarray: F16IMAGE3D */
-#line 3134 "MachineIndependent/glslang.y"
+ case 461: /* type_specifier_nonarray: F16IMAGE3D */
+#line 3143 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D);
}
-#line 10027 "MachineIndependent/glslang_tab.cpp"
+#line 10052 "MachineIndependent/glslang_tab.cpp"
break;
- case 461: /* type_specifier_nonarray: IIMAGE3D */
-#line 3140 "MachineIndependent/glslang.y"
+ case 462: /* type_specifier_nonarray: IIMAGE3D */
+#line 3149 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd3D);
}
-#line 10037 "MachineIndependent/glslang_tab.cpp"
+#line 10062 "MachineIndependent/glslang_tab.cpp"
break;
- case 462: /* type_specifier_nonarray: UIMAGE3D */
-#line 3145 "MachineIndependent/glslang.y"
+ case 463: /* type_specifier_nonarray: UIMAGE3D */
+#line 3154 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd3D);
}
-#line 10047 "MachineIndependent/glslang_tab.cpp"
+#line 10072 "MachineIndependent/glslang_tab.cpp"
break;
- case 463: /* type_specifier_nonarray: IMAGE2DRECT */
-#line 3150 "MachineIndependent/glslang.y"
+ case 464: /* type_specifier_nonarray: IMAGE2DRECT */
+#line 3159 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdRect);
}
-#line 10057 "MachineIndependent/glslang_tab.cpp"
+#line 10082 "MachineIndependent/glslang_tab.cpp"
break;
- case 464: /* type_specifier_nonarray: F16IMAGE2DRECT */
-#line 3155 "MachineIndependent/glslang.y"
+ case 465: /* type_specifier_nonarray: F16IMAGE2DRECT */
+#line 3164 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect);
}
-#line 10068 "MachineIndependent/glslang_tab.cpp"
+#line 10093 "MachineIndependent/glslang_tab.cpp"
break;
- case 465: /* type_specifier_nonarray: IIMAGE2DRECT */
-#line 3161 "MachineIndependent/glslang.y"
+ case 466: /* type_specifier_nonarray: IIMAGE2DRECT */
+#line 3170 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdRect);
}
-#line 10078 "MachineIndependent/glslang_tab.cpp"
+#line 10103 "MachineIndependent/glslang_tab.cpp"
break;
- case 466: /* type_specifier_nonarray: UIMAGE2DRECT */
-#line 3166 "MachineIndependent/glslang.y"
+ case 467: /* type_specifier_nonarray: UIMAGE2DRECT */
+#line 3175 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdRect);
}
-#line 10088 "MachineIndependent/glslang_tab.cpp"
+#line 10113 "MachineIndependent/glslang_tab.cpp"
break;
- case 467: /* type_specifier_nonarray: IMAGECUBE */
-#line 3171 "MachineIndependent/glslang.y"
+ case 468: /* type_specifier_nonarray: IMAGECUBE */
+#line 3180 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdCube);
}
-#line 10098 "MachineIndependent/glslang_tab.cpp"
+#line 10123 "MachineIndependent/glslang_tab.cpp"
break;
- case 468: /* type_specifier_nonarray: F16IMAGECUBE */
-#line 3176 "MachineIndependent/glslang.y"
+ case 469: /* type_specifier_nonarray: F16IMAGECUBE */
+#line 3185 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube);
}
-#line 10109 "MachineIndependent/glslang_tab.cpp"
+#line 10134 "MachineIndependent/glslang_tab.cpp"
break;
- case 469: /* type_specifier_nonarray: IIMAGECUBE */
-#line 3182 "MachineIndependent/glslang.y"
+ case 470: /* type_specifier_nonarray: IIMAGECUBE */
+#line 3191 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdCube);
}
-#line 10119 "MachineIndependent/glslang_tab.cpp"
+#line 10144 "MachineIndependent/glslang_tab.cpp"
break;
- case 470: /* type_specifier_nonarray: UIMAGECUBE */
-#line 3187 "MachineIndependent/glslang.y"
+ case 471: /* type_specifier_nonarray: UIMAGECUBE */
+#line 3196 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdCube);
}
-#line 10129 "MachineIndependent/glslang_tab.cpp"
+#line 10154 "MachineIndependent/glslang_tab.cpp"
break;
- case 471: /* type_specifier_nonarray: IMAGEBUFFER */
-#line 3192 "MachineIndependent/glslang.y"
+ case 472: /* type_specifier_nonarray: IMAGEBUFFER */
+#line 3201 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer);
}
-#line 10139 "MachineIndependent/glslang_tab.cpp"
+#line 10164 "MachineIndependent/glslang_tab.cpp"
break;
- case 472: /* type_specifier_nonarray: F16IMAGEBUFFER */
-#line 3197 "MachineIndependent/glslang.y"
+ case 473: /* type_specifier_nonarray: F16IMAGEBUFFER */
+#line 3206 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer);
}
-#line 10150 "MachineIndependent/glslang_tab.cpp"
+#line 10175 "MachineIndependent/glslang_tab.cpp"
break;
- case 473: /* type_specifier_nonarray: IIMAGEBUFFER */
-#line 3203 "MachineIndependent/glslang.y"
+ case 474: /* type_specifier_nonarray: IIMAGEBUFFER */
+#line 3212 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);
}
-#line 10160 "MachineIndependent/glslang_tab.cpp"
+#line 10185 "MachineIndependent/glslang_tab.cpp"
break;
- case 474: /* type_specifier_nonarray: UIMAGEBUFFER */
-#line 3208 "MachineIndependent/glslang.y"
+ case 475: /* type_specifier_nonarray: UIMAGEBUFFER */
+#line 3217 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer);
}
-#line 10170 "MachineIndependent/glslang_tab.cpp"
+#line 10195 "MachineIndependent/glslang_tab.cpp"
break;
- case 475: /* type_specifier_nonarray: IMAGE1DARRAY */
-#line 3213 "MachineIndependent/glslang.y"
+ case 476: /* type_specifier_nonarray: IMAGE1DARRAY */
+#line 3222 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true);
}
-#line 10180 "MachineIndependent/glslang_tab.cpp"
+#line 10205 "MachineIndependent/glslang_tab.cpp"
break;
- case 476: /* type_specifier_nonarray: F16IMAGE1DARRAY */
-#line 3218 "MachineIndependent/glslang.y"
+ case 477: /* type_specifier_nonarray: F16IMAGE1DARRAY */
+#line 3227 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true);
}
-#line 10191 "MachineIndependent/glslang_tab.cpp"
+#line 10216 "MachineIndependent/glslang_tab.cpp"
break;
- case 477: /* type_specifier_nonarray: IIMAGE1DARRAY */
-#line 3224 "MachineIndependent/glslang.y"
+ case 478: /* type_specifier_nonarray: IIMAGE1DARRAY */
+#line 3233 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);
}
-#line 10201 "MachineIndependent/glslang_tab.cpp"
+#line 10226 "MachineIndependent/glslang_tab.cpp"
break;
- case 478: /* type_specifier_nonarray: UIMAGE1DARRAY */
-#line 3229 "MachineIndependent/glslang.y"
+ case 479: /* type_specifier_nonarray: UIMAGE1DARRAY */
+#line 3238 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true);
}
-#line 10211 "MachineIndependent/glslang_tab.cpp"
+#line 10236 "MachineIndependent/glslang_tab.cpp"
break;
- case 479: /* type_specifier_nonarray: IMAGE2DARRAY */
-#line 3234 "MachineIndependent/glslang.y"
+ case 480: /* type_specifier_nonarray: IMAGE2DARRAY */
+#line 3243 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true);
}
-#line 10221 "MachineIndependent/glslang_tab.cpp"
+#line 10246 "MachineIndependent/glslang_tab.cpp"
break;
- case 480: /* type_specifier_nonarray: F16IMAGE2DARRAY */
-#line 3239 "MachineIndependent/glslang.y"
+ case 481: /* type_specifier_nonarray: F16IMAGE2DARRAY */
+#line 3248 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true);
}
-#line 10232 "MachineIndependent/glslang_tab.cpp"
+#line 10257 "MachineIndependent/glslang_tab.cpp"
break;
- case 481: /* type_specifier_nonarray: IIMAGE2DARRAY */
-#line 3245 "MachineIndependent/glslang.y"
+ case 482: /* type_specifier_nonarray: IIMAGE2DARRAY */
+#line 3254 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);
}
-#line 10242 "MachineIndependent/glslang_tab.cpp"
+#line 10267 "MachineIndependent/glslang_tab.cpp"
break;
- case 482: /* type_specifier_nonarray: UIMAGE2DARRAY */
-#line 3250 "MachineIndependent/glslang.y"
+ case 483: /* type_specifier_nonarray: UIMAGE2DARRAY */
+#line 3259 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true);
}
-#line 10252 "MachineIndependent/glslang_tab.cpp"
+#line 10277 "MachineIndependent/glslang_tab.cpp"
break;
- case 483: /* type_specifier_nonarray: IMAGECUBEARRAY */
-#line 3255 "MachineIndependent/glslang.y"
+ case 484: /* type_specifier_nonarray: IMAGECUBEARRAY */
+#line 3264 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true);
}
-#line 10262 "MachineIndependent/glslang_tab.cpp"
+#line 10287 "MachineIndependent/glslang_tab.cpp"
break;
- case 484: /* type_specifier_nonarray: F16IMAGECUBEARRAY */
-#line 3260 "MachineIndependent/glslang.y"
+ case 485: /* type_specifier_nonarray: F16IMAGECUBEARRAY */
+#line 3269 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true);
}
-#line 10273 "MachineIndependent/glslang_tab.cpp"
+#line 10298 "MachineIndependent/glslang_tab.cpp"
break;
- case 485: /* type_specifier_nonarray: IIMAGECUBEARRAY */
-#line 3266 "MachineIndependent/glslang.y"
+ case 486: /* type_specifier_nonarray: IIMAGECUBEARRAY */
+#line 3275 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);
}
-#line 10283 "MachineIndependent/glslang_tab.cpp"
+#line 10308 "MachineIndependent/glslang_tab.cpp"
break;
- case 486: /* type_specifier_nonarray: UIMAGECUBEARRAY */
-#line 3271 "MachineIndependent/glslang.y"
+ case 487: /* type_specifier_nonarray: UIMAGECUBEARRAY */
+#line 3280 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);
}
-#line 10293 "MachineIndependent/glslang_tab.cpp"
+#line 10318 "MachineIndependent/glslang_tab.cpp"
break;
- case 487: /* type_specifier_nonarray: IMAGE2DMS */
-#line 3276 "MachineIndependent/glslang.y"
+ case 488: /* type_specifier_nonarray: IMAGE2DMS */
+#line 3285 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);
}
-#line 10303 "MachineIndependent/glslang_tab.cpp"
+#line 10328 "MachineIndependent/glslang_tab.cpp"
break;
- case 488: /* type_specifier_nonarray: F16IMAGE2DMS */
-#line 3281 "MachineIndependent/glslang.y"
+ case 489: /* type_specifier_nonarray: F16IMAGE2DMS */
+#line 3290 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true);
}
-#line 10314 "MachineIndependent/glslang_tab.cpp"
+#line 10339 "MachineIndependent/glslang_tab.cpp"
break;
- case 489: /* type_specifier_nonarray: IIMAGE2DMS */
-#line 3287 "MachineIndependent/glslang.y"
+ case 490: /* type_specifier_nonarray: IIMAGE2DMS */
+#line 3296 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);
}
-#line 10324 "MachineIndependent/glslang_tab.cpp"
+#line 10349 "MachineIndependent/glslang_tab.cpp"
break;
- case 490: /* type_specifier_nonarray: UIMAGE2DMS */
-#line 3292 "MachineIndependent/glslang.y"
+ case 491: /* type_specifier_nonarray: UIMAGE2DMS */
+#line 3301 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);
}
-#line 10334 "MachineIndependent/glslang_tab.cpp"
+#line 10359 "MachineIndependent/glslang_tab.cpp"
break;
- case 491: /* type_specifier_nonarray: IMAGE2DMSARRAY */
-#line 3297 "MachineIndependent/glslang.y"
+ case 492: /* type_specifier_nonarray: IMAGE2DMSARRAY */
+#line 3306 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);
}
-#line 10344 "MachineIndependent/glslang_tab.cpp"
+#line 10369 "MachineIndependent/glslang_tab.cpp"
break;
- case 492: /* type_specifier_nonarray: F16IMAGE2DMSARRAY */
-#line 3302 "MachineIndependent/glslang.y"
+ case 493: /* type_specifier_nonarray: F16IMAGE2DMSARRAY */
+#line 3311 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true);
}
-#line 10355 "MachineIndependent/glslang_tab.cpp"
+#line 10380 "MachineIndependent/glslang_tab.cpp"
break;
- case 493: /* type_specifier_nonarray: IIMAGE2DMSARRAY */
-#line 3308 "MachineIndependent/glslang.y"
+ case 494: /* type_specifier_nonarray: IIMAGE2DMSARRAY */
+#line 3317 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);
}
-#line 10365 "MachineIndependent/glslang_tab.cpp"
+#line 10390 "MachineIndependent/glslang_tab.cpp"
break;
- case 494: /* type_specifier_nonarray: UIMAGE2DMSARRAY */
-#line 3313 "MachineIndependent/glslang.y"
+ case 495: /* type_specifier_nonarray: UIMAGE2DMSARRAY */
+#line 3322 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);
}
-#line 10375 "MachineIndependent/glslang_tab.cpp"
+#line 10400 "MachineIndependent/glslang_tab.cpp"
break;
- case 495: /* type_specifier_nonarray: I64IMAGE1D */
-#line 3318 "MachineIndependent/glslang.y"
+ case 496: /* type_specifier_nonarray: I64IMAGE1D */
+#line 3327 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd1D);
}
-#line 10385 "MachineIndependent/glslang_tab.cpp"
+#line 10410 "MachineIndependent/glslang_tab.cpp"
break;
- case 496: /* type_specifier_nonarray: U64IMAGE1D */
-#line 3323 "MachineIndependent/glslang.y"
+ case 497: /* type_specifier_nonarray: U64IMAGE1D */
+#line 3332 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd1D);
}
-#line 10395 "MachineIndependent/glslang_tab.cpp"
+#line 10420 "MachineIndependent/glslang_tab.cpp"
break;
- case 497: /* type_specifier_nonarray: I64IMAGE2D */
-#line 3328 "MachineIndependent/glslang.y"
+ case 498: /* type_specifier_nonarray: I64IMAGE2D */
+#line 3337 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D);
}
-#line 10405 "MachineIndependent/glslang_tab.cpp"
+#line 10430 "MachineIndependent/glslang_tab.cpp"
break;
- case 498: /* type_specifier_nonarray: U64IMAGE2D */
-#line 3333 "MachineIndependent/glslang.y"
+ case 499: /* type_specifier_nonarray: U64IMAGE2D */
+#line 3342 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D);
}
-#line 10415 "MachineIndependent/glslang_tab.cpp"
+#line 10440 "MachineIndependent/glslang_tab.cpp"
break;
- case 499: /* type_specifier_nonarray: I64IMAGE3D */
-#line 3338 "MachineIndependent/glslang.y"
+ case 500: /* type_specifier_nonarray: I64IMAGE3D */
+#line 3347 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd3D);
}
-#line 10425 "MachineIndependent/glslang_tab.cpp"
+#line 10450 "MachineIndependent/glslang_tab.cpp"
break;
- case 500: /* type_specifier_nonarray: U64IMAGE3D */
-#line 3343 "MachineIndependent/glslang.y"
+ case 501: /* type_specifier_nonarray: U64IMAGE3D */
+#line 3352 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd3D);
}
-#line 10435 "MachineIndependent/glslang_tab.cpp"
+#line 10460 "MachineIndependent/glslang_tab.cpp"
break;
- case 501: /* type_specifier_nonarray: I64IMAGE2DRECT */
-#line 3348 "MachineIndependent/glslang.y"
+ case 502: /* type_specifier_nonarray: I64IMAGE2DRECT */
+#line 3357 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, EsdRect);
}
-#line 10445 "MachineIndependent/glslang_tab.cpp"
+#line 10470 "MachineIndependent/glslang_tab.cpp"
break;
- case 502: /* type_specifier_nonarray: U64IMAGE2DRECT */
-#line 3353 "MachineIndependent/glslang.y"
+ case 503: /* type_specifier_nonarray: U64IMAGE2DRECT */
+#line 3362 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, EsdRect);
}
-#line 10455 "MachineIndependent/glslang_tab.cpp"
+#line 10480 "MachineIndependent/glslang_tab.cpp"
break;
- case 503: /* type_specifier_nonarray: I64IMAGECUBE */
-#line 3358 "MachineIndependent/glslang.y"
+ case 504: /* type_specifier_nonarray: I64IMAGECUBE */
+#line 3367 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, EsdCube);
}
-#line 10465 "MachineIndependent/glslang_tab.cpp"
+#line 10490 "MachineIndependent/glslang_tab.cpp"
break;
- case 504: /* type_specifier_nonarray: U64IMAGECUBE */
-#line 3363 "MachineIndependent/glslang.y"
+ case 505: /* type_specifier_nonarray: U64IMAGECUBE */
+#line 3372 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, EsdCube);
}
-#line 10475 "MachineIndependent/glslang_tab.cpp"
+#line 10500 "MachineIndependent/glslang_tab.cpp"
break;
- case 505: /* type_specifier_nonarray: I64IMAGEBUFFER */
-#line 3368 "MachineIndependent/glslang.y"
+ case 506: /* type_specifier_nonarray: I64IMAGEBUFFER */
+#line 3377 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, EsdBuffer);
}
-#line 10485 "MachineIndependent/glslang_tab.cpp"
+#line 10510 "MachineIndependent/glslang_tab.cpp"
break;
- case 506: /* type_specifier_nonarray: U64IMAGEBUFFER */
-#line 3373 "MachineIndependent/glslang.y"
+ case 507: /* type_specifier_nonarray: U64IMAGEBUFFER */
+#line 3382 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, EsdBuffer);
}
-#line 10495 "MachineIndependent/glslang_tab.cpp"
+#line 10520 "MachineIndependent/glslang_tab.cpp"
break;
- case 507: /* type_specifier_nonarray: I64IMAGE1DARRAY */
-#line 3378 "MachineIndependent/glslang.y"
+ case 508: /* type_specifier_nonarray: I64IMAGE1DARRAY */
+#line 3387 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd1D, true);
}
-#line 10505 "MachineIndependent/glslang_tab.cpp"
+#line 10530 "MachineIndependent/glslang_tab.cpp"
break;
- case 508: /* type_specifier_nonarray: U64IMAGE1DARRAY */
-#line 3383 "MachineIndependent/glslang.y"
+ case 509: /* type_specifier_nonarray: U64IMAGE1DARRAY */
+#line 3392 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd1D, true);
}
-#line 10515 "MachineIndependent/glslang_tab.cpp"
+#line 10540 "MachineIndependent/glslang_tab.cpp"
break;
- case 509: /* type_specifier_nonarray: I64IMAGE2DARRAY */
-#line 3388 "MachineIndependent/glslang.y"
+ case 510: /* type_specifier_nonarray: I64IMAGE2DARRAY */
+#line 3397 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true);
}
-#line 10525 "MachineIndependent/glslang_tab.cpp"
+#line 10550 "MachineIndependent/glslang_tab.cpp"
break;
- case 510: /* type_specifier_nonarray: U64IMAGE2DARRAY */
-#line 3393 "MachineIndependent/glslang.y"
+ case 511: /* type_specifier_nonarray: U64IMAGE2DARRAY */
+#line 3402 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true);
}
-#line 10535 "MachineIndependent/glslang_tab.cpp"
+#line 10560 "MachineIndependent/glslang_tab.cpp"
break;
- case 511: /* type_specifier_nonarray: I64IMAGECUBEARRAY */
-#line 3398 "MachineIndependent/glslang.y"
+ case 512: /* type_specifier_nonarray: I64IMAGECUBEARRAY */
+#line 3407 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, EsdCube, true);
}
-#line 10545 "MachineIndependent/glslang_tab.cpp"
+#line 10570 "MachineIndependent/glslang_tab.cpp"
break;
- case 512: /* type_specifier_nonarray: U64IMAGECUBEARRAY */
-#line 3403 "MachineIndependent/glslang.y"
+ case 513: /* type_specifier_nonarray: U64IMAGECUBEARRAY */
+#line 3412 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, EsdCube, true);
}
-#line 10555 "MachineIndependent/glslang_tab.cpp"
+#line 10580 "MachineIndependent/glslang_tab.cpp"
break;
- case 513: /* type_specifier_nonarray: I64IMAGE2DMS */
-#line 3408 "MachineIndependent/glslang.y"
+ case 514: /* type_specifier_nonarray: I64IMAGE2DMS */
+#line 3417 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, false, false, true);
}
-#line 10565 "MachineIndependent/glslang_tab.cpp"
+#line 10590 "MachineIndependent/glslang_tab.cpp"
break;
- case 514: /* type_specifier_nonarray: U64IMAGE2DMS */
-#line 3413 "MachineIndependent/glslang.y"
+ case 515: /* type_specifier_nonarray: U64IMAGE2DMS */
+#line 3422 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, false, false, true);
}
-#line 10575 "MachineIndependent/glslang_tab.cpp"
+#line 10600 "MachineIndependent/glslang_tab.cpp"
break;
- case 515: /* type_specifier_nonarray: I64IMAGE2DMSARRAY */
-#line 3418 "MachineIndependent/glslang.y"
+ case 516: /* type_specifier_nonarray: I64IMAGE2DMSARRAY */
+#line 3427 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true, false, true);
}
-#line 10585 "MachineIndependent/glslang_tab.cpp"
+#line 10610 "MachineIndependent/glslang_tab.cpp"
break;
- case 516: /* type_specifier_nonarray: U64IMAGE2DMSARRAY */
-#line 3423 "MachineIndependent/glslang.y"
+ case 517: /* type_specifier_nonarray: U64IMAGE2DMSARRAY */
+#line 3432 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true, false, true);
}
-#line 10595 "MachineIndependent/glslang_tab.cpp"
+#line 10620 "MachineIndependent/glslang_tab.cpp"
break;
- case 517: /* type_specifier_nonarray: SAMPLEREXTERNALOES */
-#line 3428 "MachineIndependent/glslang.y"
+ case 518: /* type_specifier_nonarray: SAMPLEREXTERNALOES */
+#line 3437 "MachineIndependent/glslang.y"
{ // GL_OES_EGL_image_external
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D);
(yyval.interm.type).sampler.external = true;
}
-#line 10606 "MachineIndependent/glslang_tab.cpp"
+#line 10631 "MachineIndependent/glslang_tab.cpp"
break;
- case 518: /* type_specifier_nonarray: SAMPLEREXTERNAL2DY2YEXT */
-#line 3434 "MachineIndependent/glslang.y"
+ case 519: /* type_specifier_nonarray: SAMPLEREXTERNAL2DY2YEXT */
+#line 3443 "MachineIndependent/glslang.y"
{ // GL_EXT_YUV_target
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D);
(yyval.interm.type).sampler.yuv = true;
}
-#line 10617 "MachineIndependent/glslang_tab.cpp"
+#line 10642 "MachineIndependent/glslang_tab.cpp"
break;
- case 519: /* type_specifier_nonarray: SUBPASSINPUT */
-#line 3440 "MachineIndependent/glslang.y"
+ case 520: /* type_specifier_nonarray: SUBPASSINPUT */
+#line 3449 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat);
}
-#line 10628 "MachineIndependent/glslang_tab.cpp"
+#line 10653 "MachineIndependent/glslang_tab.cpp"
break;
- case 520: /* type_specifier_nonarray: SUBPASSINPUTMS */
-#line 3446 "MachineIndependent/glslang.y"
+ case 521: /* type_specifier_nonarray: SUBPASSINPUTMS */
+#line 3455 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat, true);
}
-#line 10639 "MachineIndependent/glslang_tab.cpp"
+#line 10664 "MachineIndependent/glslang_tab.cpp"
break;
- case 521: /* type_specifier_nonarray: F16SUBPASSINPUT */
-#line 3452 "MachineIndependent/glslang.y"
+ case 522: /* type_specifier_nonarray: F16SUBPASSINPUT */
+#line 3461 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
@@ -10647,11 +10672,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat16);
}
-#line 10651 "MachineIndependent/glslang_tab.cpp"
+#line 10676 "MachineIndependent/glslang_tab.cpp"
break;
- case 522: /* type_specifier_nonarray: F16SUBPASSINPUTMS */
-#line 3459 "MachineIndependent/glslang.y"
+ case 523: /* type_specifier_nonarray: F16SUBPASSINPUTMS */
+#line 3468 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
@@ -10659,107 +10684,116 @@ yyreduce:
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat16, true);
}
-#line 10663 "MachineIndependent/glslang_tab.cpp"
+#line 10688 "MachineIndependent/glslang_tab.cpp"
break;
- case 523: /* type_specifier_nonarray: ISUBPASSINPUT */
-#line 3466 "MachineIndependent/glslang.y"
+ case 524: /* type_specifier_nonarray: ISUBPASSINPUT */
+#line 3475 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtInt);
}
-#line 10674 "MachineIndependent/glslang_tab.cpp"
+#line 10699 "MachineIndependent/glslang_tab.cpp"
break;
- case 524: /* type_specifier_nonarray: ISUBPASSINPUTMS */
-#line 3472 "MachineIndependent/glslang.y"
+ case 525: /* type_specifier_nonarray: ISUBPASSINPUTMS */
+#line 3481 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtInt, true);
}
-#line 10685 "MachineIndependent/glslang_tab.cpp"
+#line 10710 "MachineIndependent/glslang_tab.cpp"
break;
- case 525: /* type_specifier_nonarray: USUBPASSINPUT */
-#line 3478 "MachineIndependent/glslang.y"
+ case 526: /* type_specifier_nonarray: USUBPASSINPUT */
+#line 3487 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtUint);
}
-#line 10696 "MachineIndependent/glslang_tab.cpp"
+#line 10721 "MachineIndependent/glslang_tab.cpp"
break;
- case 526: /* type_specifier_nonarray: USUBPASSINPUTMS */
-#line 3484 "MachineIndependent/glslang.y"
+ case 527: /* type_specifier_nonarray: USUBPASSINPUTMS */
+#line 3493 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtUint, true);
}
-#line 10707 "MachineIndependent/glslang_tab.cpp"
+#line 10732 "MachineIndependent/glslang_tab.cpp"
break;
- case 527: /* type_specifier_nonarray: FCOOPMATNV */
-#line 3490 "MachineIndependent/glslang.y"
+ case 528: /* type_specifier_nonarray: FCOOPMATNV */
+#line 3499 "MachineIndependent/glslang.y"
{
parseContext.fcoopmatCheck((yyvsp[0].lex).loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).coopmat = true;
}
-#line 10718 "MachineIndependent/glslang_tab.cpp"
+#line 10743 "MachineIndependent/glslang_tab.cpp"
break;
- case 528: /* type_specifier_nonarray: ICOOPMATNV */
-#line 3496 "MachineIndependent/glslang.y"
+ case 529: /* type_specifier_nonarray: ICOOPMATNV */
+#line 3505 "MachineIndependent/glslang.y"
{
parseContext.intcoopmatCheck((yyvsp[0].lex).loc, "icoopmatNV", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).coopmat = true;
}
-#line 10729 "MachineIndependent/glslang_tab.cpp"
+#line 10754 "MachineIndependent/glslang_tab.cpp"
break;
- case 529: /* type_specifier_nonarray: UCOOPMATNV */
-#line 3502 "MachineIndependent/glslang.y"
+ case 530: /* type_specifier_nonarray: UCOOPMATNV */
+#line 3511 "MachineIndependent/glslang.y"
{
parseContext.intcoopmatCheck((yyvsp[0].lex).loc, "ucoopmatNV", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).coopmat = true;
}
-#line 10740 "MachineIndependent/glslang_tab.cpp"
+#line 10765 "MachineIndependent/glslang_tab.cpp"
break;
- case 530: /* type_specifier_nonarray: spirv_type_specifier */
-#line 3508 "MachineIndependent/glslang.y"
+ case 531: /* type_specifier_nonarray: spirv_type_specifier */
+#line 3517 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].interm.type).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V type specifier");
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 10749 "MachineIndependent/glslang_tab.cpp"
+#line 10774 "MachineIndependent/glslang_tab.cpp"
+ break;
+
+ case 532: /* type_specifier_nonarray: HITOBJECTNV */
+#line 3521 "MachineIndependent/glslang.y"
+ {
+ (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ (yyval.interm.type).basicType = EbtHitObjectNV;
+ }
+#line 10783 "MachineIndependent/glslang_tab.cpp"
break;
- case 531: /* type_specifier_nonarray: struct_specifier */
-#line 3513 "MachineIndependent/glslang.y"
+ case 533: /* type_specifier_nonarray: struct_specifier */
+#line 3526 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
(yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));
}
-#line 10759 "MachineIndependent/glslang_tab.cpp"
+#line 10793 "MachineIndependent/glslang_tab.cpp"
break;
- case 532: /* type_specifier_nonarray: TYPE_NAME */
-#line 3518 "MachineIndependent/glslang.y"
+ case 534: /* type_specifier_nonarray: TYPE_NAME */
+#line 3531 "MachineIndependent/glslang.y"
{
//
// This is for user defined type names. The lexical phase looked up the
@@ -10773,47 +10807,47 @@ yyreduce:
} else
parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
}
-#line 10777 "MachineIndependent/glslang_tab.cpp"
+#line 10811 "MachineIndependent/glslang_tab.cpp"
break;
- case 533: /* precision_qualifier: HIGH_PRECISION */
-#line 3534 "MachineIndependent/glslang.y"
+ case 535: /* precision_qualifier: HIGH_PRECISION */
+#line 3547 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);
}
-#line 10787 "MachineIndependent/glslang_tab.cpp"
+#line 10821 "MachineIndependent/glslang_tab.cpp"
break;
- case 534: /* precision_qualifier: MEDIUM_PRECISION */
-#line 3539 "MachineIndependent/glslang.y"
+ case 536: /* precision_qualifier: MEDIUM_PRECISION */
+#line 3552 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);
}
-#line 10797 "MachineIndependent/glslang_tab.cpp"
+#line 10831 "MachineIndependent/glslang_tab.cpp"
break;
- case 535: /* precision_qualifier: LOW_PRECISION */
-#line 3544 "MachineIndependent/glslang.y"
+ case 537: /* precision_qualifier: LOW_PRECISION */
+#line 3557 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);
}
-#line 10807 "MachineIndependent/glslang_tab.cpp"
+#line 10841 "MachineIndependent/glslang_tab.cpp"
break;
- case 536: /* $@3: %empty */
-#line 3552 "MachineIndependent/glslang.y"
+ case 538: /* $@3: %empty */
+#line 3565 "MachineIndependent/glslang.y"
{ parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
-#line 10813 "MachineIndependent/glslang_tab.cpp"
+#line 10847 "MachineIndependent/glslang_tab.cpp"
break;
- case 537: /* struct_specifier: STRUCT IDENTIFIER LEFT_BRACE $@3 struct_declaration_list RIGHT_BRACE */
-#line 3552 "MachineIndependent/glslang.y"
+ case 539: /* struct_specifier: STRUCT IDENTIFIER LEFT_BRACE $@3 struct_declaration_list RIGHT_BRACE */
+#line 3565 "MachineIndependent/glslang.y"
{
TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
@@ -10825,17 +10859,17 @@ yyreduce:
(yyval.interm.type).userDef = structure;
--parseContext.structNestingLevel;
}
-#line 10829 "MachineIndependent/glslang_tab.cpp"
+#line 10863 "MachineIndependent/glslang_tab.cpp"
break;
- case 538: /* $@4: %empty */
-#line 3563 "MachineIndependent/glslang.y"
+ case 540: /* $@4: %empty */
+#line 3576 "MachineIndependent/glslang.y"
{ parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
-#line 10835 "MachineIndependent/glslang_tab.cpp"
+#line 10869 "MachineIndependent/glslang_tab.cpp"
break;
- case 539: /* struct_specifier: STRUCT LEFT_BRACE $@4 struct_declaration_list RIGHT_BRACE */
-#line 3563 "MachineIndependent/glslang.y"
+ case 541: /* struct_specifier: STRUCT LEFT_BRACE $@4 struct_declaration_list RIGHT_BRACE */
+#line 3576 "MachineIndependent/glslang.y"
{
TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
(yyval.interm.type).init((yyvsp[-4].lex).loc);
@@ -10843,19 +10877,19 @@ yyreduce:
(yyval.interm.type).userDef = structure;
--parseContext.structNestingLevel;
}
-#line 10847 "MachineIndependent/glslang_tab.cpp"
+#line 10881 "MachineIndependent/glslang_tab.cpp"
break;
- case 540: /* struct_declaration_list: struct_declaration */
-#line 3573 "MachineIndependent/glslang.y"
+ case 542: /* struct_declaration_list: struct_declaration */
+#line 3586 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList) = (yyvsp[0].interm.typeList);
}
-#line 10855 "MachineIndependent/glslang_tab.cpp"
+#line 10889 "MachineIndependent/glslang_tab.cpp"
break;
- case 541: /* struct_declaration_list: struct_declaration_list struct_declaration */
-#line 3576 "MachineIndependent/glslang.y"
+ case 543: /* struct_declaration_list: struct_declaration_list struct_declaration */
+#line 3589 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
@@ -10866,11 +10900,11 @@ yyreduce:
(yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
}
}
-#line 10870 "MachineIndependent/glslang_tab.cpp"
+#line 10904 "MachineIndependent/glslang_tab.cpp"
break;
- case 542: /* struct_declaration: type_specifier struct_declarator_list SEMICOLON */
-#line 3589 "MachineIndependent/glslang.y"
+ case 544: /* struct_declaration: type_specifier struct_declarator_list SEMICOLON */
+#line 3602 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -10893,11 +10927,11 @@ yyreduce:
(*(yyval.interm.typeList))[i].type->shallowCopy(type);
}
}
-#line 10897 "MachineIndependent/glslang_tab.cpp"
+#line 10931 "MachineIndependent/glslang_tab.cpp"
break;
- case 543: /* struct_declaration: type_qualifier type_specifier struct_declarator_list SEMICOLON */
-#line 3611 "MachineIndependent/glslang.y"
+ case 545: /* struct_declaration: type_qualifier type_specifier struct_declarator_list SEMICOLON */
+#line 3624 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -10922,38 +10956,38 @@ yyreduce:
(*(yyval.interm.typeList))[i].type->shallowCopy(type);
}
}
-#line 10926 "MachineIndependent/glslang_tab.cpp"
+#line 10960 "MachineIndependent/glslang_tab.cpp"
break;
- case 544: /* struct_declarator_list: struct_declarator */
-#line 3638 "MachineIndependent/glslang.y"
+ case 546: /* struct_declarator_list: struct_declarator */
+#line 3651 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList) = new TTypeList;
(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
}
-#line 10935 "MachineIndependent/glslang_tab.cpp"
+#line 10969 "MachineIndependent/glslang_tab.cpp"
break;
- case 545: /* struct_declarator_list: struct_declarator_list COMMA struct_declarator */
-#line 3642 "MachineIndependent/glslang.y"
+ case 547: /* struct_declarator_list: struct_declarator_list COMMA struct_declarator */
+#line 3655 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
}
-#line 10943 "MachineIndependent/glslang_tab.cpp"
+#line 10977 "MachineIndependent/glslang_tab.cpp"
break;
- case 546: /* struct_declarator: IDENTIFIER */
-#line 3648 "MachineIndependent/glslang.y"
+ case 548: /* struct_declarator: IDENTIFIER */
+#line 3661 "MachineIndependent/glslang.y"
{
(yyval.interm.typeLine).type = new TType(EbtVoid);
(yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;
(yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);
}
-#line 10953 "MachineIndependent/glslang_tab.cpp"
+#line 10987 "MachineIndependent/glslang_tab.cpp"
break;
- case 547: /* struct_declarator: IDENTIFIER array_specifier */
-#line 3653 "MachineIndependent/glslang.y"
+ case 549: /* struct_declarator: IDENTIFIER array_specifier */
+#line 3666 "MachineIndependent/glslang.y"
{
parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);
@@ -10962,246 +10996,246 @@ yyreduce:
(yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
(yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);
}
-#line 10966 "MachineIndependent/glslang_tab.cpp"
+#line 11000 "MachineIndependent/glslang_tab.cpp"
break;
- case 548: /* initializer: assignment_expression */
-#line 3664 "MachineIndependent/glslang.y"
+ case 550: /* initializer: assignment_expression */
+#line 3677 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 10974 "MachineIndependent/glslang_tab.cpp"
+#line 11008 "MachineIndependent/glslang_tab.cpp"
break;
- case 549: /* initializer: LEFT_BRACE initializer_list RIGHT_BRACE */
-#line 3668 "MachineIndependent/glslang.y"
+ case 551: /* initializer: LEFT_BRACE initializer_list RIGHT_BRACE */
+#line 3681 "MachineIndependent/glslang.y"
{
const char* initFeature = "{ } style initializers";
parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);
parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
(yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
}
-#line 10985 "MachineIndependent/glslang_tab.cpp"
+#line 11019 "MachineIndependent/glslang_tab.cpp"
break;
- case 550: /* initializer: LEFT_BRACE initializer_list COMMA RIGHT_BRACE */
-#line 3674 "MachineIndependent/glslang.y"
+ case 552: /* initializer: LEFT_BRACE initializer_list COMMA RIGHT_BRACE */
+#line 3687 "MachineIndependent/glslang.y"
{
const char* initFeature = "{ } style initializers";
parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);
parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 10996 "MachineIndependent/glslang_tab.cpp"
+#line 11030 "MachineIndependent/glslang_tab.cpp"
break;
- case 551: /* initializer: LEFT_BRACE RIGHT_BRACE */
-#line 3680 "MachineIndependent/glslang.y"
+ case 553: /* initializer: LEFT_BRACE RIGHT_BRACE */
+#line 3693 "MachineIndependent/glslang.y"
{
const char* initFeature = "empty { } initializer";
parseContext.profileRequires((yyvsp[-1].lex).loc, EEsProfile, 0, E_GL_EXT_null_initializer, initFeature);
parseContext.profileRequires((yyvsp[-1].lex).loc, ~EEsProfile, 0, E_GL_EXT_null_initializer, initFeature);
(yyval.interm.intermTypedNode) = parseContext.intermediate.makeAggregate((yyvsp[-1].lex).loc);
}
-#line 11007 "MachineIndependent/glslang_tab.cpp"
+#line 11041 "MachineIndependent/glslang_tab.cpp"
break;
- case 552: /* initializer_list: initializer */
-#line 3691 "MachineIndependent/glslang.y"
+ case 554: /* initializer_list: initializer */
+#line 3704 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
}
-#line 11015 "MachineIndependent/glslang_tab.cpp"
+#line 11049 "MachineIndependent/glslang_tab.cpp"
break;
- case 553: /* initializer_list: initializer_list COMMA initializer */
-#line 3694 "MachineIndependent/glslang.y"
+ case 555: /* initializer_list: initializer_list COMMA initializer */
+#line 3707 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
}
-#line 11023 "MachineIndependent/glslang_tab.cpp"
+#line 11057 "MachineIndependent/glslang_tab.cpp"
break;
- case 554: /* declaration_statement: declaration */
-#line 3701 "MachineIndependent/glslang.y"
+ case 556: /* declaration_statement: declaration */
+#line 3714 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11029 "MachineIndependent/glslang_tab.cpp"
+#line 11063 "MachineIndependent/glslang_tab.cpp"
break;
- case 555: /* statement: compound_statement */
-#line 3705 "MachineIndependent/glslang.y"
+ case 557: /* statement: compound_statement */
+#line 3718 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11035 "MachineIndependent/glslang_tab.cpp"
+#line 11069 "MachineIndependent/glslang_tab.cpp"
break;
- case 556: /* statement: simple_statement */
-#line 3706 "MachineIndependent/glslang.y"
+ case 558: /* statement: simple_statement */
+#line 3719 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11041 "MachineIndependent/glslang_tab.cpp"
+#line 11075 "MachineIndependent/glslang_tab.cpp"
break;
- case 557: /* simple_statement: declaration_statement */
-#line 3712 "MachineIndependent/glslang.y"
+ case 559: /* simple_statement: declaration_statement */
+#line 3725 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11047 "MachineIndependent/glslang_tab.cpp"
+#line 11081 "MachineIndependent/glslang_tab.cpp"
break;
- case 558: /* simple_statement: expression_statement */
-#line 3713 "MachineIndependent/glslang.y"
+ case 560: /* simple_statement: expression_statement */
+#line 3726 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11053 "MachineIndependent/glslang_tab.cpp"
+#line 11087 "MachineIndependent/glslang_tab.cpp"
break;
- case 559: /* simple_statement: selection_statement */
-#line 3714 "MachineIndependent/glslang.y"
+ case 561: /* simple_statement: selection_statement */
+#line 3727 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11059 "MachineIndependent/glslang_tab.cpp"
+#line 11093 "MachineIndependent/glslang_tab.cpp"
break;
- case 560: /* simple_statement: switch_statement */
-#line 3715 "MachineIndependent/glslang.y"
+ case 562: /* simple_statement: switch_statement */
+#line 3728 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11065 "MachineIndependent/glslang_tab.cpp"
+#line 11099 "MachineIndependent/glslang_tab.cpp"
break;
- case 561: /* simple_statement: case_label */
-#line 3716 "MachineIndependent/glslang.y"
+ case 563: /* simple_statement: case_label */
+#line 3729 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11071 "MachineIndependent/glslang_tab.cpp"
+#line 11105 "MachineIndependent/glslang_tab.cpp"
break;
- case 562: /* simple_statement: iteration_statement */
-#line 3717 "MachineIndependent/glslang.y"
+ case 564: /* simple_statement: iteration_statement */
+#line 3730 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11077 "MachineIndependent/glslang_tab.cpp"
+#line 11111 "MachineIndependent/glslang_tab.cpp"
break;
- case 563: /* simple_statement: jump_statement */
-#line 3718 "MachineIndependent/glslang.y"
+ case 565: /* simple_statement: jump_statement */
+#line 3731 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11083 "MachineIndependent/glslang_tab.cpp"
+#line 11117 "MachineIndependent/glslang_tab.cpp"
break;
- case 564: /* simple_statement: demote_statement */
-#line 3720 "MachineIndependent/glslang.y"
+ case 566: /* simple_statement: demote_statement */
+#line 3733 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11089 "MachineIndependent/glslang_tab.cpp"
+#line 11123 "MachineIndependent/glslang_tab.cpp"
break;
- case 565: /* demote_statement: DEMOTE SEMICOLON */
-#line 3726 "MachineIndependent/glslang.y"
+ case 567: /* demote_statement: DEMOTE SEMICOLON */
+#line 3739 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "demote");
parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_demote_to_helper_invocation, "demote");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDemote, (yyvsp[-1].lex).loc);
}
-#line 11099 "MachineIndependent/glslang_tab.cpp"
+#line 11133 "MachineIndependent/glslang_tab.cpp"
break;
- case 566: /* compound_statement: LEFT_BRACE RIGHT_BRACE */
-#line 3735 "MachineIndependent/glslang.y"
+ case 568: /* compound_statement: LEFT_BRACE RIGHT_BRACE */
+#line 3748 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = 0; }
-#line 11105 "MachineIndependent/glslang_tab.cpp"
+#line 11139 "MachineIndependent/glslang_tab.cpp"
break;
- case 567: /* $@5: %empty */
-#line 3736 "MachineIndependent/glslang.y"
+ case 569: /* $@5: %empty */
+#line 3749 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.statementNestingLevel;
}
-#line 11114 "MachineIndependent/glslang_tab.cpp"
+#line 11148 "MachineIndependent/glslang_tab.cpp"
break;
- case 568: /* $@6: %empty */
-#line 3740 "MachineIndependent/glslang.y"
+ case 570: /* $@6: %empty */
+#line 3753 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.statementNestingLevel;
}
-#line 11123 "MachineIndependent/glslang_tab.cpp"
+#line 11157 "MachineIndependent/glslang_tab.cpp"
break;
- case 569: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */
-#line 3744 "MachineIndependent/glslang.y"
+ case 571: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */
+#line 3757 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
(yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
}
-#line 11133 "MachineIndependent/glslang_tab.cpp"
+#line 11167 "MachineIndependent/glslang_tab.cpp"
break;
- case 570: /* statement_no_new_scope: compound_statement_no_new_scope */
-#line 3752 "MachineIndependent/glslang.y"
+ case 572: /* statement_no_new_scope: compound_statement_no_new_scope */
+#line 3765 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11139 "MachineIndependent/glslang_tab.cpp"
+#line 11173 "MachineIndependent/glslang_tab.cpp"
break;
- case 571: /* statement_no_new_scope: simple_statement */
-#line 3753 "MachineIndependent/glslang.y"
+ case 573: /* statement_no_new_scope: simple_statement */
+#line 3766 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11145 "MachineIndependent/glslang_tab.cpp"
+#line 11179 "MachineIndependent/glslang_tab.cpp"
break;
- case 572: /* $@7: %empty */
-#line 3757 "MachineIndependent/glslang.y"
+ case 574: /* $@7: %empty */
+#line 3770 "MachineIndependent/glslang.y"
{
++parseContext.controlFlowNestingLevel;
}
-#line 11153 "MachineIndependent/glslang_tab.cpp"
+#line 11187 "MachineIndependent/glslang_tab.cpp"
break;
- case 573: /* statement_scoped: $@7 compound_statement */
-#line 3760 "MachineIndependent/glslang.y"
+ case 575: /* statement_scoped: $@7 compound_statement */
+#line 3773 "MachineIndependent/glslang.y"
{
--parseContext.controlFlowNestingLevel;
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11162 "MachineIndependent/glslang_tab.cpp"
+#line 11196 "MachineIndependent/glslang_tab.cpp"
break;
- case 574: /* $@8: %empty */
-#line 3764 "MachineIndependent/glslang.y"
+ case 576: /* $@8: %empty */
+#line 3777 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11172 "MachineIndependent/glslang_tab.cpp"
+#line 11206 "MachineIndependent/glslang_tab.cpp"
break;
- case 575: /* statement_scoped: $@8 simple_statement */
-#line 3769 "MachineIndependent/glslang.y"
+ case 577: /* statement_scoped: $@8 simple_statement */
+#line 3782 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11183 "MachineIndependent/glslang_tab.cpp"
+#line 11217 "MachineIndependent/glslang_tab.cpp"
break;
- case 576: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */
-#line 3778 "MachineIndependent/glslang.y"
+ case 578: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */
+#line 3791 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
}
-#line 11191 "MachineIndependent/glslang_tab.cpp"
+#line 11225 "MachineIndependent/glslang_tab.cpp"
break;
- case 577: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */
-#line 3781 "MachineIndependent/glslang.y"
+ case 579: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */
+#line 3794 "MachineIndependent/glslang.y"
{
if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())
(yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);
}
-#line 11201 "MachineIndependent/glslang_tab.cpp"
+#line 11235 "MachineIndependent/glslang_tab.cpp"
break;
- case 578: /* statement_list: statement */
-#line 3789 "MachineIndependent/glslang.y"
+ case 580: /* statement_list: statement */
+#line 3802 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
@@ -11210,11 +11244,11 @@ yyreduce:
(yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
}
}
-#line 11214 "MachineIndependent/glslang_tab.cpp"
+#line 11248 "MachineIndependent/glslang_tab.cpp"
break;
- case 579: /* statement_list: statement_list statement */
-#line 3797 "MachineIndependent/glslang.y"
+ case 581: /* statement_list: statement_list statement */
+#line 3810 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
(yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
@@ -11223,77 +11257,77 @@ yyreduce:
} else
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 11227 "MachineIndependent/glslang_tab.cpp"
+#line 11261 "MachineIndependent/glslang_tab.cpp"
break;
- case 580: /* expression_statement: SEMICOLON */
-#line 3808 "MachineIndependent/glslang.y"
+ case 582: /* expression_statement: SEMICOLON */
+#line 3821 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = 0; }
-#line 11233 "MachineIndependent/glslang_tab.cpp"
+#line 11267 "MachineIndependent/glslang_tab.cpp"
break;
- case 581: /* expression_statement: expression SEMICOLON */
-#line 3809 "MachineIndependent/glslang.y"
+ case 583: /* expression_statement: expression SEMICOLON */
+#line 3822 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
-#line 11239 "MachineIndependent/glslang_tab.cpp"
+#line 11273 "MachineIndependent/glslang_tab.cpp"
break;
- case 582: /* selection_statement: selection_statement_nonattributed */
-#line 3813 "MachineIndependent/glslang.y"
+ case 584: /* selection_statement: selection_statement_nonattributed */
+#line 3826 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11247 "MachineIndependent/glslang_tab.cpp"
+#line 11281 "MachineIndependent/glslang_tab.cpp"
break;
- case 583: /* selection_statement: attribute selection_statement_nonattributed */
-#line 3817 "MachineIndependent/glslang.y"
+ case 585: /* selection_statement: attribute selection_statement_nonattributed */
+#line 3830 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute");
parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11257 "MachineIndependent/glslang_tab.cpp"
+#line 11291 "MachineIndependent/glslang_tab.cpp"
break;
- case 584: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */
-#line 3825 "MachineIndependent/glslang.y"
+ case 586: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */
+#line 3838 "MachineIndependent/glslang.y"
{
parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));
(yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);
}
-#line 11266 "MachineIndependent/glslang_tab.cpp"
+#line 11300 "MachineIndependent/glslang_tab.cpp"
break;
- case 585: /* selection_rest_statement: statement_scoped ELSE statement_scoped */
-#line 3832 "MachineIndependent/glslang.y"
+ case 587: /* selection_rest_statement: statement_scoped ELSE statement_scoped */
+#line 3845 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
}
-#line 11275 "MachineIndependent/glslang_tab.cpp"
+#line 11309 "MachineIndependent/glslang_tab.cpp"
break;
- case 586: /* selection_rest_statement: statement_scoped */
-#line 3836 "MachineIndependent/glslang.y"
+ case 588: /* selection_rest_statement: statement_scoped */
+#line 3849 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
(yyval.interm.nodePair).node2 = 0;
}
-#line 11284 "MachineIndependent/glslang_tab.cpp"
+#line 11318 "MachineIndependent/glslang_tab.cpp"
break;
- case 587: /* condition: expression */
-#line 3844 "MachineIndependent/glslang.y"
+ case 589: /* condition: expression */
+#line 3857 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
}
-#line 11293 "MachineIndependent/glslang_tab.cpp"
+#line 11327 "MachineIndependent/glslang_tab.cpp"
break;
- case 588: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */
-#line 3848 "MachineIndependent/glslang.y"
+ case 590: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */
+#line 3861 "MachineIndependent/glslang.y"
{
parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
@@ -11304,29 +11338,29 @@ yyreduce:
else
(yyval.interm.intermTypedNode) = 0;
}
-#line 11308 "MachineIndependent/glslang_tab.cpp"
+#line 11342 "MachineIndependent/glslang_tab.cpp"
break;
- case 589: /* switch_statement: switch_statement_nonattributed */
-#line 3861 "MachineIndependent/glslang.y"
+ case 591: /* switch_statement: switch_statement_nonattributed */
+#line 3874 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11316 "MachineIndependent/glslang_tab.cpp"
+#line 11350 "MachineIndependent/glslang_tab.cpp"
break;
- case 590: /* switch_statement: attribute switch_statement_nonattributed */
-#line 3865 "MachineIndependent/glslang.y"
+ case 592: /* switch_statement: attribute switch_statement_nonattributed */
+#line 3878 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute");
parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11326 "MachineIndependent/glslang_tab.cpp"
+#line 11360 "MachineIndependent/glslang_tab.cpp"
break;
- case 591: /* $@9: %empty */
-#line 3873 "MachineIndependent/glslang.y"
+ case 593: /* $@9: %empty */
+#line 3886 "MachineIndependent/glslang.y"
{
// start new switch sequence on the switch stack
++parseContext.controlFlowNestingLevel;
@@ -11335,11 +11369,11 @@ yyreduce:
parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
parseContext.symbolTable.push();
}
-#line 11339 "MachineIndependent/glslang_tab.cpp"
+#line 11373 "MachineIndependent/glslang_tab.cpp"
break;
- case 592: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */
-#line 3881 "MachineIndependent/glslang.y"
+ case 594: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */
+#line 3894 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
delete parseContext.switchSequenceStack.back();
@@ -11349,27 +11383,27 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11353 "MachineIndependent/glslang_tab.cpp"
+#line 11387 "MachineIndependent/glslang_tab.cpp"
break;
- case 593: /* switch_statement_list: %empty */
-#line 3893 "MachineIndependent/glslang.y"
+ case 595: /* switch_statement_list: %empty */
+#line 3906 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
}
-#line 11361 "MachineIndependent/glslang_tab.cpp"
+#line 11395 "MachineIndependent/glslang_tab.cpp"
break;
- case 594: /* switch_statement_list: statement_list */
-#line 3896 "MachineIndependent/glslang.y"
+ case 596: /* switch_statement_list: statement_list */
+#line 3909 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11369 "MachineIndependent/glslang_tab.cpp"
+#line 11403 "MachineIndependent/glslang_tab.cpp"
break;
- case 595: /* case_label: CASE expression COLON */
-#line 3902 "MachineIndependent/glslang.y"
+ case 597: /* case_label: CASE expression COLON */
+#line 3915 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
@@ -11382,11 +11416,11 @@ yyreduce:
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
}
}
-#line 11386 "MachineIndependent/glslang_tab.cpp"
+#line 11420 "MachineIndependent/glslang_tab.cpp"
break;
- case 596: /* case_label: DEFAULT COLON */
-#line 3914 "MachineIndependent/glslang.y"
+ case 598: /* case_label: DEFAULT COLON */
+#line 3927 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
@@ -11396,29 +11430,29 @@ yyreduce:
else
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
}
-#line 11400 "MachineIndependent/glslang_tab.cpp"
+#line 11434 "MachineIndependent/glslang_tab.cpp"
break;
- case 597: /* iteration_statement: iteration_statement_nonattributed */
-#line 3926 "MachineIndependent/glslang.y"
+ case 599: /* iteration_statement: iteration_statement_nonattributed */
+#line 3939 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11408 "MachineIndependent/glslang_tab.cpp"
+#line 11442 "MachineIndependent/glslang_tab.cpp"
break;
- case 598: /* iteration_statement: attribute iteration_statement_nonattributed */
-#line 3930 "MachineIndependent/glslang.y"
+ case 600: /* iteration_statement: attribute iteration_statement_nonattributed */
+#line 3943 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute");
parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11418 "MachineIndependent/glslang_tab.cpp"
+#line 11452 "MachineIndependent/glslang_tab.cpp"
break;
- case 599: /* $@10: %empty */
-#line 3938 "MachineIndependent/glslang.y"
+ case 601: /* $@10: %empty */
+#line 3951 "MachineIndependent/glslang.y"
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
@@ -11427,11 +11461,11 @@ yyreduce:
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11431 "MachineIndependent/glslang_tab.cpp"
+#line 11465 "MachineIndependent/glslang_tab.cpp"
break;
- case 600: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */
-#line 3946 "MachineIndependent/glslang.y"
+ case 602: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */
+#line 3959 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
@@ -11439,22 +11473,22 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11443 "MachineIndependent/glslang_tab.cpp"
+#line 11477 "MachineIndependent/glslang_tab.cpp"
break;
- case 601: /* $@11: %empty */
-#line 3953 "MachineIndependent/glslang.y"
+ case 603: /* $@11: %empty */
+#line 3966 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11454 "MachineIndependent/glslang_tab.cpp"
+#line 11488 "MachineIndependent/glslang_tab.cpp"
break;
- case 602: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */
-#line 3959 "MachineIndependent/glslang.y"
+ case 604: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */
+#line 3972 "MachineIndependent/glslang.y"
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
@@ -11467,22 +11501,22 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11471 "MachineIndependent/glslang_tab.cpp"
+#line 11505 "MachineIndependent/glslang_tab.cpp"
break;
- case 603: /* $@12: %empty */
-#line 3971 "MachineIndependent/glslang.y"
+ case 605: /* $@12: %empty */
+#line 3984 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11482 "MachineIndependent/glslang_tab.cpp"
+#line 11516 "MachineIndependent/glslang_tab.cpp"
break;
- case 604: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */
-#line 3977 "MachineIndependent/glslang.y"
+ case 606: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */
+#line 3990 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
@@ -11495,81 +11529,81 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11499 "MachineIndependent/glslang_tab.cpp"
+#line 11533 "MachineIndependent/glslang_tab.cpp"
break;
- case 605: /* for_init_statement: expression_statement */
-#line 3992 "MachineIndependent/glslang.y"
+ case 607: /* for_init_statement: expression_statement */
+#line 4005 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11507 "MachineIndependent/glslang_tab.cpp"
+#line 11541 "MachineIndependent/glslang_tab.cpp"
break;
- case 606: /* for_init_statement: declaration_statement */
-#line 3995 "MachineIndependent/glslang.y"
+ case 608: /* for_init_statement: declaration_statement */
+#line 4008 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11515 "MachineIndependent/glslang_tab.cpp"
+#line 11549 "MachineIndependent/glslang_tab.cpp"
break;
- case 607: /* conditionopt: condition */
-#line 4001 "MachineIndependent/glslang.y"
+ case 609: /* conditionopt: condition */
+#line 4014 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 11523 "MachineIndependent/glslang_tab.cpp"
+#line 11557 "MachineIndependent/glslang_tab.cpp"
break;
- case 608: /* conditionopt: %empty */
-#line 4004 "MachineIndependent/glslang.y"
+ case 610: /* conditionopt: %empty */
+#line 4017 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = 0;
}
-#line 11531 "MachineIndependent/glslang_tab.cpp"
+#line 11565 "MachineIndependent/glslang_tab.cpp"
break;
- case 609: /* for_rest_statement: conditionopt SEMICOLON */
-#line 4010 "MachineIndependent/glslang.y"
+ case 611: /* for_rest_statement: conditionopt SEMICOLON */
+#line 4023 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
-#line 11540 "MachineIndependent/glslang_tab.cpp"
+#line 11574 "MachineIndependent/glslang_tab.cpp"
break;
- case 610: /* for_rest_statement: conditionopt SEMICOLON expression */
-#line 4014 "MachineIndependent/glslang.y"
+ case 612: /* for_rest_statement: conditionopt SEMICOLON expression */
+#line 4027 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
}
-#line 11549 "MachineIndependent/glslang_tab.cpp"
+#line 11583 "MachineIndependent/glslang_tab.cpp"
break;
- case 611: /* jump_statement: CONTINUE SEMICOLON */
-#line 4021 "MachineIndependent/glslang.y"
+ case 613: /* jump_statement: CONTINUE SEMICOLON */
+#line 4034 "MachineIndependent/glslang.y"
{
if (parseContext.loopNestingLevel <= 0)
parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
}
-#line 11559 "MachineIndependent/glslang_tab.cpp"
+#line 11593 "MachineIndependent/glslang_tab.cpp"
break;
- case 612: /* jump_statement: BREAK SEMICOLON */
-#line 4026 "MachineIndependent/glslang.y"
+ case 614: /* jump_statement: BREAK SEMICOLON */
+#line 4039 "MachineIndependent/glslang.y"
{
if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
}
-#line 11569 "MachineIndependent/glslang_tab.cpp"
+#line 11603 "MachineIndependent/glslang_tab.cpp"
break;
- case 613: /* jump_statement: RETURN SEMICOLON */
-#line 4031 "MachineIndependent/glslang.y"
+ case 615: /* jump_statement: RETURN SEMICOLON */
+#line 4044 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
@@ -11577,101 +11611,101 @@ yyreduce:
if (parseContext.inMain)
parseContext.postEntryPointReturn = true;
}
-#line 11581 "MachineIndependent/glslang_tab.cpp"
+#line 11615 "MachineIndependent/glslang_tab.cpp"
break;
- case 614: /* jump_statement: RETURN expression SEMICOLON */
-#line 4038 "MachineIndependent/glslang.y"
+ case 616: /* jump_statement: RETURN expression SEMICOLON */
+#line 4051 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
}
-#line 11589 "MachineIndependent/glslang_tab.cpp"
+#line 11623 "MachineIndependent/glslang_tab.cpp"
break;
- case 615: /* jump_statement: DISCARD SEMICOLON */
-#line 4041 "MachineIndependent/glslang.y"
+ case 617: /* jump_statement: DISCARD SEMICOLON */
+#line 4054 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
}
-#line 11598 "MachineIndependent/glslang_tab.cpp"
+#line 11632 "MachineIndependent/glslang_tab.cpp"
break;
- case 616: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */
-#line 4045 "MachineIndependent/glslang.y"
+ case 618: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */
+#line 4058 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc);
}
-#line 11607 "MachineIndependent/glslang_tab.cpp"
+#line 11641 "MachineIndependent/glslang_tab.cpp"
break;
- case 617: /* jump_statement: TERMINATE_RAY SEMICOLON */
-#line 4050 "MachineIndependent/glslang.y"
+ case 619: /* jump_statement: TERMINATE_RAY SEMICOLON */
+#line 4063 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc);
}
-#line 11616 "MachineIndependent/glslang_tab.cpp"
+#line 11650 "MachineIndependent/glslang_tab.cpp"
break;
- case 618: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */
-#line 4054 "MachineIndependent/glslang.y"
+ case 620: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */
+#line 4067 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc);
}
-#line 11625 "MachineIndependent/glslang_tab.cpp"
+#line 11659 "MachineIndependent/glslang_tab.cpp"
break;
- case 619: /* translation_unit: external_declaration */
-#line 4064 "MachineIndependent/glslang.y"
+ case 621: /* translation_unit: external_declaration */
+#line 4077 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
-#line 11634 "MachineIndependent/glslang_tab.cpp"
+#line 11668 "MachineIndependent/glslang_tab.cpp"
break;
- case 620: /* translation_unit: translation_unit external_declaration */
-#line 4068 "MachineIndependent/glslang.y"
+ case 622: /* translation_unit: translation_unit external_declaration */
+#line 4081 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermNode) != nullptr) {
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
}
-#line 11645 "MachineIndependent/glslang_tab.cpp"
+#line 11679 "MachineIndependent/glslang_tab.cpp"
break;
- case 621: /* external_declaration: function_definition */
-#line 4077 "MachineIndependent/glslang.y"
+ case 623: /* external_declaration: function_definition */
+#line 4090 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11653 "MachineIndependent/glslang_tab.cpp"
+#line 11687 "MachineIndependent/glslang_tab.cpp"
break;
- case 622: /* external_declaration: declaration */
-#line 4080 "MachineIndependent/glslang.y"
+ case 624: /* external_declaration: declaration */
+#line 4093 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11661 "MachineIndependent/glslang_tab.cpp"
+#line 11695 "MachineIndependent/glslang_tab.cpp"
break;
- case 623: /* external_declaration: SEMICOLON */
-#line 4084 "MachineIndependent/glslang.y"
+ case 625: /* external_declaration: SEMICOLON */
+#line 4097 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
(yyval.interm.intermNode) = nullptr;
}
-#line 11671 "MachineIndependent/glslang_tab.cpp"
+#line 11705 "MachineIndependent/glslang_tab.cpp"
break;
- case 624: /* $@13: %empty */
-#line 4093 "MachineIndependent/glslang.y"
+ case 626: /* $@13: %empty */
+#line 4106 "MachineIndependent/glslang.y"
{
(yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
(yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
@@ -11684,11 +11718,11 @@ yyreduce:
++parseContext.statementNestingLevel;
}
}
-#line 11688 "MachineIndependent/glslang_tab.cpp"
+#line 11722 "MachineIndependent/glslang_tab.cpp"
break;
- case 625: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */
-#line 4105 "MachineIndependent/glslang.y"
+ case 627: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */
+#line 4118 "MachineIndependent/glslang.y"
{
// May be best done as post process phase on intermediate code
if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
@@ -11715,228 +11749,228 @@ yyreduce:
--parseContext.statementNestingLevel;
}
}
-#line 11719 "MachineIndependent/glslang_tab.cpp"
+#line 11753 "MachineIndependent/glslang_tab.cpp"
break;
- case 626: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */
-#line 4135 "MachineIndependent/glslang.y"
+ case 628: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */
+#line 4148 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
}
-#line 11727 "MachineIndependent/glslang_tab.cpp"
+#line 11761 "MachineIndependent/glslang_tab.cpp"
break;
- case 627: /* attribute_list: single_attribute */
-#line 4140 "MachineIndependent/glslang.y"
+ case 629: /* attribute_list: single_attribute */
+#line 4153 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = (yyvsp[0].interm.attributes);
}
-#line 11735 "MachineIndependent/glslang_tab.cpp"
+#line 11769 "MachineIndependent/glslang_tab.cpp"
break;
- case 628: /* attribute_list: attribute_list COMMA single_attribute */
-#line 4143 "MachineIndependent/glslang.y"
+ case 630: /* attribute_list: attribute_list COMMA single_attribute */
+#line 4156 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
}
-#line 11743 "MachineIndependent/glslang_tab.cpp"
+#line 11777 "MachineIndependent/glslang_tab.cpp"
break;
- case 629: /* single_attribute: IDENTIFIER */
-#line 4148 "MachineIndependent/glslang.y"
+ case 631: /* single_attribute: IDENTIFIER */
+#line 4161 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
}
-#line 11751 "MachineIndependent/glslang_tab.cpp"
+#line 11785 "MachineIndependent/glslang_tab.cpp"
break;
- case 630: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */
-#line 4151 "MachineIndependent/glslang.y"
+ case 632: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */
+#line 4164 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
}
-#line 11759 "MachineIndependent/glslang_tab.cpp"
+#line 11793 "MachineIndependent/glslang_tab.cpp"
break;
- case 631: /* spirv_requirements_list: spirv_requirements_parameter */
-#line 4158 "MachineIndependent/glslang.y"
+ case 633: /* spirv_requirements_list: spirv_requirements_parameter */
+#line 4171 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = (yyvsp[0].interm.spirvReq);
}
-#line 11767 "MachineIndependent/glslang_tab.cpp"
+#line 11801 "MachineIndependent/glslang_tab.cpp"
break;
- case 632: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */
-#line 4161 "MachineIndependent/glslang.y"
+ case 634: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */
+#line 4174 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = parseContext.mergeSpirvRequirements((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvReq), (yyvsp[0].interm.spirvReq));
}
-#line 11775 "MachineIndependent/glslang_tab.cpp"
+#line 11809 "MachineIndependent/glslang_tab.cpp"
break;
- case 633: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */
-#line 4166 "MachineIndependent/glslang.y"
+ case 635: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */
+#line 4179 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, (yyvsp[-1].interm.intermNode)->getAsAggregate(), nullptr);
}
-#line 11783 "MachineIndependent/glslang_tab.cpp"
+#line 11817 "MachineIndependent/glslang_tab.cpp"
break;
- case 634: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */
-#line 4169 "MachineIndependent/glslang.y"
+ case 636: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */
+#line 4182 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, nullptr, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 11791 "MachineIndependent/glslang_tab.cpp"
+#line 11825 "MachineIndependent/glslang_tab.cpp"
break;
- case 635: /* spirv_extension_list: STRING_LITERAL */
-#line 4174 "MachineIndependent/glslang.y"
+ case 637: /* spirv_extension_list: STRING_LITERAL */
+#line 4187 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 11799 "MachineIndependent/glslang_tab.cpp"
+#line 11833 "MachineIndependent/glslang_tab.cpp"
break;
- case 636: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */
-#line 4177 "MachineIndependent/glslang.y"
+ case 638: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */
+#line 4190 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 11807 "MachineIndependent/glslang_tab.cpp"
+#line 11841 "MachineIndependent/glslang_tab.cpp"
break;
- case 637: /* spirv_capability_list: INTCONSTANT */
-#line 4182 "MachineIndependent/glslang.y"
+ case 639: /* spirv_capability_list: INTCONSTANT */
+#line 4195 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true));
}
-#line 11815 "MachineIndependent/glslang_tab.cpp"
+#line 11849 "MachineIndependent/glslang_tab.cpp"
break;
- case 638: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */
-#line 4185 "MachineIndependent/glslang.y"
+ case 640: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */
+#line 4198 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true));
}
-#line 11823 "MachineIndependent/glslang_tab.cpp"
+#line 11857 "MachineIndependent/glslang_tab.cpp"
break;
- case 639: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
-#line 4190 "MachineIndependent/glslang.y"
+ case 641: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
+#line 4203 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i);
(yyval.interm.intermNode) = 0;
}
-#line 11832 "MachineIndependent/glslang_tab.cpp"
+#line 11866 "MachineIndependent/glslang_tab.cpp"
break;
- case 640: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
-#line 4194 "MachineIndependent/glslang.y"
+ case 642: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
+#line 4207 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i);
(yyval.interm.intermNode) = 0;
}
-#line 11842 "MachineIndependent/glslang_tab.cpp"
+#line 11876 "MachineIndependent/glslang_tab.cpp"
break;
- case 641: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
-#line 4199 "MachineIndependent/glslang.y"
+ case 643: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
+#line 4212 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11851 "MachineIndependent/glslang_tab.cpp"
+#line 11885 "MachineIndependent/glslang_tab.cpp"
break;
- case 642: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
-#line 4203 "MachineIndependent/glslang.y"
+ case 644: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
+#line 4216 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11861 "MachineIndependent/glslang_tab.cpp"
+#line 11895 "MachineIndependent/glslang_tab.cpp"
break;
- case 643: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
-#line 4208 "MachineIndependent/glslang.y"
+ case 645: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
+#line 4221 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11870 "MachineIndependent/glslang_tab.cpp"
+#line 11904 "MachineIndependent/glslang_tab.cpp"
break;
- case 644: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
-#line 4212 "MachineIndependent/glslang.y"
+ case 646: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
+#line 4225 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11880 "MachineIndependent/glslang_tab.cpp"
+#line 11914 "MachineIndependent/glslang_tab.cpp"
break;
- case 645: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */
-#line 4219 "MachineIndependent/glslang.y"
+ case 647: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */
+#line 4232 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
}
-#line 11888 "MachineIndependent/glslang_tab.cpp"
+#line 11922 "MachineIndependent/glslang_tab.cpp"
break;
- case 646: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */
-#line 4222 "MachineIndependent/glslang.y"
+ case 648: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */
+#line 4235 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 11896 "MachineIndependent/glslang_tab.cpp"
+#line 11930 "MachineIndependent/glslang_tab.cpp"
break;
- case 647: /* spirv_execution_mode_parameter: FLOATCONSTANT */
-#line 4227 "MachineIndependent/glslang.y"
+ case 649: /* spirv_execution_mode_parameter: FLOATCONSTANT */
+#line 4240 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
}
-#line 11904 "MachineIndependent/glslang_tab.cpp"
+#line 11938 "MachineIndependent/glslang_tab.cpp"
break;
- case 648: /* spirv_execution_mode_parameter: INTCONSTANT */
-#line 4230 "MachineIndependent/glslang.y"
+ case 650: /* spirv_execution_mode_parameter: INTCONSTANT */
+#line 4243 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 11912 "MachineIndependent/glslang_tab.cpp"
+#line 11946 "MachineIndependent/glslang_tab.cpp"
break;
- case 649: /* spirv_execution_mode_parameter: UINTCONSTANT */
-#line 4233 "MachineIndependent/glslang.y"
+ case 651: /* spirv_execution_mode_parameter: UINTCONSTANT */
+#line 4246 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 11920 "MachineIndependent/glslang_tab.cpp"
+#line 11954 "MachineIndependent/glslang_tab.cpp"
break;
- case 650: /* spirv_execution_mode_parameter: BOOLCONSTANT */
-#line 4236 "MachineIndependent/glslang.y"
+ case 652: /* spirv_execution_mode_parameter: BOOLCONSTANT */
+#line 4249 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
}
-#line 11928 "MachineIndependent/glslang_tab.cpp"
+#line 11962 "MachineIndependent/glslang_tab.cpp"
break;
- case 651: /* spirv_execution_mode_parameter: STRING_LITERAL */
-#line 4239 "MachineIndependent/glslang.y"
+ case 653: /* spirv_execution_mode_parameter: STRING_LITERAL */
+#line 4252 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true);
}
-#line 11936 "MachineIndependent/glslang_tab.cpp"
+#line 11970 "MachineIndependent/glslang_tab.cpp"
break;
- case 652: /* spirv_execution_mode_id_parameter_list: constant_expression */
-#line 4244 "MachineIndependent/glslang.y"
+ case 654: /* spirv_execution_mode_id_parameter_list: constant_expression */
+#line 4257 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -11946,11 +11980,11 @@ yyreduce:
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermTypedNode));
}
-#line 11950 "MachineIndependent/glslang_tab.cpp"
+#line 11984 "MachineIndependent/glslang_tab.cpp"
break;
- case 653: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */
-#line 4253 "MachineIndependent/glslang.y"
+ case 655: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */
+#line 4266 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -11960,156 +11994,156 @@ yyreduce:
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermTypedNode));
}
-#line 11964 "MachineIndependent/glslang_tab.cpp"
+#line 11998 "MachineIndependent/glslang_tab.cpp"
break;
- case 654: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */
-#line 4264 "MachineIndependent/glslang.y"
+ case 656: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */
+#line 4277 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-3].lex).loc);
(yyval.interm.type).qualifier.storage = EvqSpirvStorageClass;
(yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i;
}
-#line 11974 "MachineIndependent/glslang_tab.cpp"
+#line 12008 "MachineIndependent/glslang_tab.cpp"
break;
- case 655: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
-#line 4269 "MachineIndependent/glslang.y"
+ case 657: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
+#line 4282 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.type).qualifier.storage = EvqSpirvStorageClass;
(yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i;
}
-#line 11985 "MachineIndependent/glslang_tab.cpp"
+#line 12019 "MachineIndependent/glslang_tab.cpp"
break;
- case 656: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
-#line 4277 "MachineIndependent/glslang.y"
+ case 658: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
+#line 4290 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-3].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i);
}
-#line 11994 "MachineIndependent/glslang_tab.cpp"
+#line 12028 "MachineIndependent/glslang_tab.cpp"
break;
- case 657: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
-#line 4281 "MachineIndependent/glslang.y"
+ case 659: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
+#line 4294 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i);
}
-#line 12004 "MachineIndependent/glslang_tab.cpp"
+#line 12038 "MachineIndependent/glslang_tab.cpp"
break;
- case 658: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
-#line 4286 "MachineIndependent/glslang.y"
+ case 660: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
+#line 4299 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12013 "MachineIndependent/glslang_tab.cpp"
+#line 12047 "MachineIndependent/glslang_tab.cpp"
break;
- case 659: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
-#line 4290 "MachineIndependent/glslang.y"
+ case 661: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
+#line 4303 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12023 "MachineIndependent/glslang_tab.cpp"
+#line 12057 "MachineIndependent/glslang_tab.cpp"
break;
- case 660: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
-#line 4295 "MachineIndependent/glslang.y"
+ case 662: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
+#line 4308 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12032 "MachineIndependent/glslang_tab.cpp"
+#line 12066 "MachineIndependent/glslang_tab.cpp"
break;
- case 661: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
-#line 4299 "MachineIndependent/glslang.y"
+ case 663: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
+#line 4312 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12042 "MachineIndependent/glslang_tab.cpp"
+#line 12076 "MachineIndependent/glslang_tab.cpp"
break;
- case 662: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
-#line 4304 "MachineIndependent/glslang.y"
+ case 664: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
+#line 4317 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12051 "MachineIndependent/glslang_tab.cpp"
+#line 12085 "MachineIndependent/glslang_tab.cpp"
break;
- case 663: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
-#line 4308 "MachineIndependent/glslang.y"
+ case 665: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
+#line 4321 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12061 "MachineIndependent/glslang_tab.cpp"
+#line 12095 "MachineIndependent/glslang_tab.cpp"
break;
- case 664: /* spirv_decorate_parameter_list: spirv_decorate_parameter */
-#line 4315 "MachineIndependent/glslang.y"
+ case 666: /* spirv_decorate_parameter_list: spirv_decorate_parameter */
+#line 4328 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
}
-#line 12069 "MachineIndependent/glslang_tab.cpp"
+#line 12103 "MachineIndependent/glslang_tab.cpp"
break;
- case 665: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */
-#line 4318 "MachineIndependent/glslang.y"
+ case 667: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */
+#line 4331 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 12077 "MachineIndependent/glslang_tab.cpp"
+#line 12111 "MachineIndependent/glslang_tab.cpp"
break;
- case 666: /* spirv_decorate_parameter: FLOATCONSTANT */
-#line 4323 "MachineIndependent/glslang.y"
+ case 668: /* spirv_decorate_parameter: FLOATCONSTANT */
+#line 4336 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
}
-#line 12085 "MachineIndependent/glslang_tab.cpp"
+#line 12119 "MachineIndependent/glslang_tab.cpp"
break;
- case 667: /* spirv_decorate_parameter: INTCONSTANT */
-#line 4326 "MachineIndependent/glslang.y"
+ case 669: /* spirv_decorate_parameter: INTCONSTANT */
+#line 4339 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 12093 "MachineIndependent/glslang_tab.cpp"
+#line 12127 "MachineIndependent/glslang_tab.cpp"
break;
- case 668: /* spirv_decorate_parameter: UINTCONSTANT */
-#line 4329 "MachineIndependent/glslang.y"
+ case 670: /* spirv_decorate_parameter: UINTCONSTANT */
+#line 4342 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 12101 "MachineIndependent/glslang_tab.cpp"
+#line 12135 "MachineIndependent/glslang_tab.cpp"
break;
- case 669: /* spirv_decorate_parameter: BOOLCONSTANT */
-#line 4332 "MachineIndependent/glslang.y"
+ case 671: /* spirv_decorate_parameter: BOOLCONSTANT */
+#line 4345 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
}
-#line 12109 "MachineIndependent/glslang_tab.cpp"
+#line 12143 "MachineIndependent/glslang_tab.cpp"
break;
- case 670: /* spirv_decorate_id_parameter_list: constant_expression */
-#line 4337 "MachineIndependent/glslang.y"
+ case 672: /* spirv_decorate_id_parameter_list: constant_expression */
+#line 4350 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -12118,11 +12152,11 @@ yyreduce:
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermTypedNode));
}
-#line 12122 "MachineIndependent/glslang_tab.cpp"
+#line 12156 "MachineIndependent/glslang_tab.cpp"
break;
- case 671: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA constant_expression */
-#line 4345 "MachineIndependent/glslang.y"
+ case 673: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA constant_expression */
+#line 4358 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -12131,139 +12165,139 @@ yyreduce:
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermTypedNode));
}
-#line 12135 "MachineIndependent/glslang_tab.cpp"
+#line 12169 "MachineIndependent/glslang_tab.cpp"
break;
- case 672: /* spirv_decorate_string_parameter_list: STRING_LITERAL */
-#line 4355 "MachineIndependent/glslang.y"
+ case 674: /* spirv_decorate_string_parameter_list: STRING_LITERAL */
+#line 4368 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(
parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 12144 "MachineIndependent/glslang_tab.cpp"
+#line 12178 "MachineIndependent/glslang_tab.cpp"
break;
- case 673: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */
-#line 4359 "MachineIndependent/glslang.y"
+ case 675: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */
+#line 4372 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 12152 "MachineIndependent/glslang_tab.cpp"
+#line 12186 "MachineIndependent/glslang_tab.cpp"
break;
- case 674: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
-#line 4364 "MachineIndependent/glslang.y"
+ case 676: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
+#line 4377 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams));
}
-#line 12161 "MachineIndependent/glslang_tab.cpp"
+#line 12195 "MachineIndependent/glslang_tab.cpp"
break;
- case 675: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
-#line 4368 "MachineIndependent/glslang.y"
+ case 677: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
+#line 4381 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams));
}
-#line 12171 "MachineIndependent/glslang_tab.cpp"
+#line 12205 "MachineIndependent/glslang_tab.cpp"
break;
- case 676: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4373 "MachineIndependent/glslang.y"
+ case 678: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4386 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-3].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst));
}
-#line 12180 "MachineIndependent/glslang_tab.cpp"
+#line 12214 "MachineIndependent/glslang_tab.cpp"
break;
- case 677: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4377 "MachineIndependent/glslang.y"
+ case 679: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4390 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst));
}
-#line 12190 "MachineIndependent/glslang_tab.cpp"
+#line 12224 "MachineIndependent/glslang_tab.cpp"
break;
- case 678: /* spirv_type_parameter_list: spirv_type_parameter */
-#line 4384 "MachineIndependent/glslang.y"
+ case 680: /* spirv_type_parameter_list: spirv_type_parameter */
+#line 4397 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvTypeParams) = (yyvsp[0].interm.spirvTypeParams);
}
-#line 12198 "MachineIndependent/glslang_tab.cpp"
+#line 12232 "MachineIndependent/glslang_tab.cpp"
break;
- case 679: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */
-#line 4387 "MachineIndependent/glslang.y"
+ case 681: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */
+#line 4400 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvTypeParams) = parseContext.mergeSpirvTypeParameters((yyvsp[-2].interm.spirvTypeParams), (yyvsp[0].interm.spirvTypeParams));
}
-#line 12206 "MachineIndependent/glslang_tab.cpp"
+#line 12240 "MachineIndependent/glslang_tab.cpp"
break;
- case 680: /* spirv_type_parameter: constant_expression */
-#line 4392 "MachineIndependent/glslang.y"
+ case 682: /* spirv_type_parameter: constant_expression */
+#line 4405 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)->getAsConstantUnion());
}
-#line 12214 "MachineIndependent/glslang_tab.cpp"
+#line 12248 "MachineIndependent/glslang_tab.cpp"
break;
- case 681: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4397 "MachineIndependent/glslang.y"
+ case 683: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4410 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);
}
-#line 12222 "MachineIndependent/glslang_tab.cpp"
+#line 12256 "MachineIndependent/glslang_tab.cpp"
break;
- case 682: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4400 "MachineIndependent/glslang.y"
+ case 684: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4413 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);
}
-#line 12231 "MachineIndependent/glslang_tab.cpp"
+#line 12265 "MachineIndependent/glslang_tab.cpp"
break;
- case 683: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */
-#line 4406 "MachineIndependent/glslang.y"
+ case 685: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */
+#line 4419 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst);
}
-#line 12239 "MachineIndependent/glslang_tab.cpp"
+#line 12273 "MachineIndependent/glslang_tab.cpp"
break;
- case 684: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */
-#line 4409 "MachineIndependent/glslang.y"
+ case 686: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */
+#line 4422 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst));
}
-#line 12247 "MachineIndependent/glslang_tab.cpp"
+#line 12281 "MachineIndependent/glslang_tab.cpp"
break;
- case 685: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */
-#line 4414 "MachineIndependent/glslang.y"
+ case 687: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */
+#line 4427 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string);
}
-#line 12255 "MachineIndependent/glslang_tab.cpp"
+#line 12289 "MachineIndependent/glslang_tab.cpp"
break;
- case 686: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */
-#line 4417 "MachineIndependent/glslang.y"
+ case 688: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */
+#line 4430 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i);
}
-#line 12263 "MachineIndependent/glslang_tab.cpp"
+#line 12297 "MachineIndependent/glslang_tab.cpp"
break;
-#line 12267 "MachineIndependent/glslang_tab.cpp"
+#line 12301 "MachineIndependent/glslang_tab.cpp"
default: break;
}
@@ -12488,5 +12522,5 @@ yyreturn:
return yyresult;
}
-#line 4422 "MachineIndependent/glslang.y"
+#line 4435 "MachineIndependent/glslang.y"
diff --git a/glslang/MachineIndependent/glslang_tab.cpp.h b/glslang/MachineIndependent/glslang_tab.cpp.h
index 18cef468..6d168d01 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp.h
+++ b/glslang/MachineIndependent/glslang_tab.cpp.h
@@ -217,298 +217,300 @@ extern int yydebug;
FCOOPMATNV = 418, /* FCOOPMATNV */
ICOOPMATNV = 419, /* ICOOPMATNV */
UCOOPMATNV = 420, /* UCOOPMATNV */
- SAMPLERCUBEARRAY = 421, /* SAMPLERCUBEARRAY */
- SAMPLERCUBEARRAYSHADOW = 422, /* SAMPLERCUBEARRAYSHADOW */
- ISAMPLERCUBEARRAY = 423, /* ISAMPLERCUBEARRAY */
- USAMPLERCUBEARRAY = 424, /* USAMPLERCUBEARRAY */
- SAMPLER1D = 425, /* SAMPLER1D */
- SAMPLER1DARRAY = 426, /* SAMPLER1DARRAY */
- SAMPLER1DARRAYSHADOW = 427, /* SAMPLER1DARRAYSHADOW */
- ISAMPLER1D = 428, /* ISAMPLER1D */
- SAMPLER1DSHADOW = 429, /* SAMPLER1DSHADOW */
- SAMPLER2DRECT = 430, /* SAMPLER2DRECT */
- SAMPLER2DRECTSHADOW = 431, /* SAMPLER2DRECTSHADOW */
- ISAMPLER2DRECT = 432, /* ISAMPLER2DRECT */
- USAMPLER2DRECT = 433, /* USAMPLER2DRECT */
- SAMPLERBUFFER = 434, /* SAMPLERBUFFER */
- ISAMPLERBUFFER = 435, /* ISAMPLERBUFFER */
- USAMPLERBUFFER = 436, /* USAMPLERBUFFER */
- SAMPLER2DMS = 437, /* SAMPLER2DMS */
- ISAMPLER2DMS = 438, /* ISAMPLER2DMS */
- USAMPLER2DMS = 439, /* USAMPLER2DMS */
- SAMPLER2DMSARRAY = 440, /* SAMPLER2DMSARRAY */
- ISAMPLER2DMSARRAY = 441, /* ISAMPLER2DMSARRAY */
- USAMPLER2DMSARRAY = 442, /* USAMPLER2DMSARRAY */
- SAMPLEREXTERNALOES = 443, /* SAMPLEREXTERNALOES */
- SAMPLEREXTERNAL2DY2YEXT = 444, /* SAMPLEREXTERNAL2DY2YEXT */
- ISAMPLER1DARRAY = 445, /* ISAMPLER1DARRAY */
- USAMPLER1D = 446, /* USAMPLER1D */
- USAMPLER1DARRAY = 447, /* USAMPLER1DARRAY */
- F16SAMPLER1D = 448, /* F16SAMPLER1D */
- F16SAMPLER2D = 449, /* F16SAMPLER2D */
- F16SAMPLER3D = 450, /* F16SAMPLER3D */
- F16SAMPLER2DRECT = 451, /* F16SAMPLER2DRECT */
- F16SAMPLERCUBE = 452, /* F16SAMPLERCUBE */
- F16SAMPLER1DARRAY = 453, /* F16SAMPLER1DARRAY */
- F16SAMPLER2DARRAY = 454, /* F16SAMPLER2DARRAY */
- F16SAMPLERCUBEARRAY = 455, /* F16SAMPLERCUBEARRAY */
- F16SAMPLERBUFFER = 456, /* F16SAMPLERBUFFER */
- F16SAMPLER2DMS = 457, /* F16SAMPLER2DMS */
- F16SAMPLER2DMSARRAY = 458, /* F16SAMPLER2DMSARRAY */
- F16SAMPLER1DSHADOW = 459, /* F16SAMPLER1DSHADOW */
- F16SAMPLER2DSHADOW = 460, /* F16SAMPLER2DSHADOW */
- F16SAMPLER1DARRAYSHADOW = 461, /* F16SAMPLER1DARRAYSHADOW */
- F16SAMPLER2DARRAYSHADOW = 462, /* F16SAMPLER2DARRAYSHADOW */
- F16SAMPLER2DRECTSHADOW = 463, /* F16SAMPLER2DRECTSHADOW */
- F16SAMPLERCUBESHADOW = 464, /* F16SAMPLERCUBESHADOW */
- F16SAMPLERCUBEARRAYSHADOW = 465, /* F16SAMPLERCUBEARRAYSHADOW */
- IMAGE1D = 466, /* IMAGE1D */
- IIMAGE1D = 467, /* IIMAGE1D */
- UIMAGE1D = 468, /* UIMAGE1D */
- IMAGE2D = 469, /* IMAGE2D */
- IIMAGE2D = 470, /* IIMAGE2D */
- UIMAGE2D = 471, /* UIMAGE2D */
- IMAGE3D = 472, /* IMAGE3D */
- IIMAGE3D = 473, /* IIMAGE3D */
- UIMAGE3D = 474, /* UIMAGE3D */
- IMAGE2DRECT = 475, /* IMAGE2DRECT */
- IIMAGE2DRECT = 476, /* IIMAGE2DRECT */
- UIMAGE2DRECT = 477, /* UIMAGE2DRECT */
- IMAGECUBE = 478, /* IMAGECUBE */
- IIMAGECUBE = 479, /* IIMAGECUBE */
- UIMAGECUBE = 480, /* UIMAGECUBE */
- IMAGEBUFFER = 481, /* IMAGEBUFFER */
- IIMAGEBUFFER = 482, /* IIMAGEBUFFER */
- UIMAGEBUFFER = 483, /* UIMAGEBUFFER */
- IMAGE1DARRAY = 484, /* IMAGE1DARRAY */
- IIMAGE1DARRAY = 485, /* IIMAGE1DARRAY */
- UIMAGE1DARRAY = 486, /* UIMAGE1DARRAY */
- IMAGE2DARRAY = 487, /* IMAGE2DARRAY */
- IIMAGE2DARRAY = 488, /* IIMAGE2DARRAY */
- UIMAGE2DARRAY = 489, /* UIMAGE2DARRAY */
- IMAGECUBEARRAY = 490, /* IMAGECUBEARRAY */
- IIMAGECUBEARRAY = 491, /* IIMAGECUBEARRAY */
- UIMAGECUBEARRAY = 492, /* UIMAGECUBEARRAY */
- IMAGE2DMS = 493, /* IMAGE2DMS */
- IIMAGE2DMS = 494, /* IIMAGE2DMS */
- UIMAGE2DMS = 495, /* UIMAGE2DMS */
- IMAGE2DMSARRAY = 496, /* IMAGE2DMSARRAY */
- IIMAGE2DMSARRAY = 497, /* IIMAGE2DMSARRAY */
- UIMAGE2DMSARRAY = 498, /* UIMAGE2DMSARRAY */
- F16IMAGE1D = 499, /* F16IMAGE1D */
- F16IMAGE2D = 500, /* F16IMAGE2D */
- F16IMAGE3D = 501, /* F16IMAGE3D */
- F16IMAGE2DRECT = 502, /* F16IMAGE2DRECT */
- F16IMAGECUBE = 503, /* F16IMAGECUBE */
- F16IMAGE1DARRAY = 504, /* F16IMAGE1DARRAY */
- F16IMAGE2DARRAY = 505, /* F16IMAGE2DARRAY */
- F16IMAGECUBEARRAY = 506, /* F16IMAGECUBEARRAY */
- F16IMAGEBUFFER = 507, /* F16IMAGEBUFFER */
- F16IMAGE2DMS = 508, /* F16IMAGE2DMS */
- F16IMAGE2DMSARRAY = 509, /* F16IMAGE2DMSARRAY */
- I64IMAGE1D = 510, /* I64IMAGE1D */
- U64IMAGE1D = 511, /* U64IMAGE1D */
- I64IMAGE2D = 512, /* I64IMAGE2D */
- U64IMAGE2D = 513, /* U64IMAGE2D */
- I64IMAGE3D = 514, /* I64IMAGE3D */
- U64IMAGE3D = 515, /* U64IMAGE3D */
- I64IMAGE2DRECT = 516, /* I64IMAGE2DRECT */
- U64IMAGE2DRECT = 517, /* U64IMAGE2DRECT */
- I64IMAGECUBE = 518, /* I64IMAGECUBE */
- U64IMAGECUBE = 519, /* U64IMAGECUBE */
- I64IMAGEBUFFER = 520, /* I64IMAGEBUFFER */
- U64IMAGEBUFFER = 521, /* U64IMAGEBUFFER */
- I64IMAGE1DARRAY = 522, /* I64IMAGE1DARRAY */
- U64IMAGE1DARRAY = 523, /* U64IMAGE1DARRAY */
- I64IMAGE2DARRAY = 524, /* I64IMAGE2DARRAY */
- U64IMAGE2DARRAY = 525, /* U64IMAGE2DARRAY */
- I64IMAGECUBEARRAY = 526, /* I64IMAGECUBEARRAY */
- U64IMAGECUBEARRAY = 527, /* U64IMAGECUBEARRAY */
- I64IMAGE2DMS = 528, /* I64IMAGE2DMS */
- U64IMAGE2DMS = 529, /* U64IMAGE2DMS */
- I64IMAGE2DMSARRAY = 530, /* I64IMAGE2DMSARRAY */
- U64IMAGE2DMSARRAY = 531, /* U64IMAGE2DMSARRAY */
- TEXTURECUBEARRAY = 532, /* TEXTURECUBEARRAY */
- ITEXTURECUBEARRAY = 533, /* ITEXTURECUBEARRAY */
- UTEXTURECUBEARRAY = 534, /* UTEXTURECUBEARRAY */
- TEXTURE1D = 535, /* TEXTURE1D */
- ITEXTURE1D = 536, /* ITEXTURE1D */
- UTEXTURE1D = 537, /* UTEXTURE1D */
- TEXTURE1DARRAY = 538, /* TEXTURE1DARRAY */
- ITEXTURE1DARRAY = 539, /* ITEXTURE1DARRAY */
- UTEXTURE1DARRAY = 540, /* UTEXTURE1DARRAY */
- TEXTURE2DRECT = 541, /* TEXTURE2DRECT */
- ITEXTURE2DRECT = 542, /* ITEXTURE2DRECT */
- UTEXTURE2DRECT = 543, /* UTEXTURE2DRECT */
- TEXTUREBUFFER = 544, /* TEXTUREBUFFER */
- ITEXTUREBUFFER = 545, /* ITEXTUREBUFFER */
- UTEXTUREBUFFER = 546, /* UTEXTUREBUFFER */
- TEXTURE2DMS = 547, /* TEXTURE2DMS */
- ITEXTURE2DMS = 548, /* ITEXTURE2DMS */
- UTEXTURE2DMS = 549, /* UTEXTURE2DMS */
- TEXTURE2DMSARRAY = 550, /* TEXTURE2DMSARRAY */
- ITEXTURE2DMSARRAY = 551, /* ITEXTURE2DMSARRAY */
- UTEXTURE2DMSARRAY = 552, /* UTEXTURE2DMSARRAY */
- F16TEXTURE1D = 553, /* F16TEXTURE1D */
- F16TEXTURE2D = 554, /* F16TEXTURE2D */
- F16TEXTURE3D = 555, /* F16TEXTURE3D */
- F16TEXTURE2DRECT = 556, /* F16TEXTURE2DRECT */
- F16TEXTURECUBE = 557, /* F16TEXTURECUBE */
- F16TEXTURE1DARRAY = 558, /* F16TEXTURE1DARRAY */
- F16TEXTURE2DARRAY = 559, /* F16TEXTURE2DARRAY */
- F16TEXTURECUBEARRAY = 560, /* F16TEXTURECUBEARRAY */
- F16TEXTUREBUFFER = 561, /* F16TEXTUREBUFFER */
- F16TEXTURE2DMS = 562, /* F16TEXTURE2DMS */
- F16TEXTURE2DMSARRAY = 563, /* F16TEXTURE2DMSARRAY */
- SUBPASSINPUT = 564, /* SUBPASSINPUT */
- SUBPASSINPUTMS = 565, /* SUBPASSINPUTMS */
- ISUBPASSINPUT = 566, /* ISUBPASSINPUT */
- ISUBPASSINPUTMS = 567, /* ISUBPASSINPUTMS */
- USUBPASSINPUT = 568, /* USUBPASSINPUT */
- USUBPASSINPUTMS = 569, /* USUBPASSINPUTMS */
- F16SUBPASSINPUT = 570, /* F16SUBPASSINPUT */
- F16SUBPASSINPUTMS = 571, /* F16SUBPASSINPUTMS */
- SPIRV_INSTRUCTION = 572, /* SPIRV_INSTRUCTION */
- SPIRV_EXECUTION_MODE = 573, /* SPIRV_EXECUTION_MODE */
- SPIRV_EXECUTION_MODE_ID = 574, /* SPIRV_EXECUTION_MODE_ID */
- SPIRV_DECORATE = 575, /* SPIRV_DECORATE */
- SPIRV_DECORATE_ID = 576, /* SPIRV_DECORATE_ID */
- SPIRV_DECORATE_STRING = 577, /* SPIRV_DECORATE_STRING */
- SPIRV_TYPE = 578, /* SPIRV_TYPE */
- SPIRV_STORAGE_CLASS = 579, /* SPIRV_STORAGE_CLASS */
- SPIRV_BY_REFERENCE = 580, /* SPIRV_BY_REFERENCE */
- SPIRV_LITERAL = 581, /* SPIRV_LITERAL */
- LEFT_OP = 582, /* LEFT_OP */
- RIGHT_OP = 583, /* RIGHT_OP */
- INC_OP = 584, /* INC_OP */
- DEC_OP = 585, /* DEC_OP */
- LE_OP = 586, /* LE_OP */
- GE_OP = 587, /* GE_OP */
- EQ_OP = 588, /* EQ_OP */
- NE_OP = 589, /* NE_OP */
- AND_OP = 590, /* AND_OP */
- OR_OP = 591, /* OR_OP */
- XOR_OP = 592, /* XOR_OP */
- MUL_ASSIGN = 593, /* MUL_ASSIGN */
- DIV_ASSIGN = 594, /* DIV_ASSIGN */
- ADD_ASSIGN = 595, /* ADD_ASSIGN */
- MOD_ASSIGN = 596, /* MOD_ASSIGN */
- LEFT_ASSIGN = 597, /* LEFT_ASSIGN */
- RIGHT_ASSIGN = 598, /* RIGHT_ASSIGN */
- AND_ASSIGN = 599, /* AND_ASSIGN */
- XOR_ASSIGN = 600, /* XOR_ASSIGN */
- OR_ASSIGN = 601, /* OR_ASSIGN */
- SUB_ASSIGN = 602, /* SUB_ASSIGN */
- STRING_LITERAL = 603, /* STRING_LITERAL */
- LEFT_PAREN = 604, /* LEFT_PAREN */
- RIGHT_PAREN = 605, /* RIGHT_PAREN */
- LEFT_BRACKET = 606, /* LEFT_BRACKET */
- RIGHT_BRACKET = 607, /* RIGHT_BRACKET */
- LEFT_BRACE = 608, /* LEFT_BRACE */
- RIGHT_BRACE = 609, /* RIGHT_BRACE */
- DOT = 610, /* DOT */
- COMMA = 611, /* COMMA */
- COLON = 612, /* COLON */
- EQUAL = 613, /* EQUAL */
- SEMICOLON = 614, /* SEMICOLON */
- BANG = 615, /* BANG */
- DASH = 616, /* DASH */
- TILDE = 617, /* TILDE */
- PLUS = 618, /* PLUS */
- STAR = 619, /* STAR */
- SLASH = 620, /* SLASH */
- PERCENT = 621, /* PERCENT */
- LEFT_ANGLE = 622, /* LEFT_ANGLE */
- RIGHT_ANGLE = 623, /* RIGHT_ANGLE */
- VERTICAL_BAR = 624, /* VERTICAL_BAR */
- CARET = 625, /* CARET */
- AMPERSAND = 626, /* AMPERSAND */
- QUESTION = 627, /* QUESTION */
- INVARIANT = 628, /* INVARIANT */
- HIGH_PRECISION = 629, /* HIGH_PRECISION */
- MEDIUM_PRECISION = 630, /* MEDIUM_PRECISION */
- LOW_PRECISION = 631, /* LOW_PRECISION */
- PRECISION = 632, /* PRECISION */
- PACKED = 633, /* PACKED */
- RESOURCE = 634, /* RESOURCE */
- SUPERP = 635, /* SUPERP */
- FLOATCONSTANT = 636, /* FLOATCONSTANT */
- INTCONSTANT = 637, /* INTCONSTANT */
- UINTCONSTANT = 638, /* UINTCONSTANT */
- BOOLCONSTANT = 639, /* BOOLCONSTANT */
- IDENTIFIER = 640, /* IDENTIFIER */
- TYPE_NAME = 641, /* TYPE_NAME */
- CENTROID = 642, /* CENTROID */
- IN = 643, /* IN */
- OUT = 644, /* OUT */
- INOUT = 645, /* INOUT */
- STRUCT = 646, /* STRUCT */
- VOID = 647, /* VOID */
- WHILE = 648, /* WHILE */
- BREAK = 649, /* BREAK */
- CONTINUE = 650, /* CONTINUE */
- DO = 651, /* DO */
- ELSE = 652, /* ELSE */
- FOR = 653, /* FOR */
- IF = 654, /* IF */
- DISCARD = 655, /* DISCARD */
- RETURN = 656, /* RETURN */
- SWITCH = 657, /* SWITCH */
- CASE = 658, /* CASE */
- DEFAULT = 659, /* DEFAULT */
- TERMINATE_INVOCATION = 660, /* TERMINATE_INVOCATION */
- TERMINATE_RAY = 661, /* TERMINATE_RAY */
- IGNORE_INTERSECTION = 662, /* IGNORE_INTERSECTION */
- UNIFORM = 663, /* UNIFORM */
- SHARED = 664, /* SHARED */
- BUFFER = 665, /* BUFFER */
- FLAT = 666, /* FLAT */
- SMOOTH = 667, /* SMOOTH */
- LAYOUT = 668, /* LAYOUT */
- DOUBLECONSTANT = 669, /* DOUBLECONSTANT */
- INT16CONSTANT = 670, /* INT16CONSTANT */
- UINT16CONSTANT = 671, /* UINT16CONSTANT */
- FLOAT16CONSTANT = 672, /* FLOAT16CONSTANT */
- INT32CONSTANT = 673, /* INT32CONSTANT */
- UINT32CONSTANT = 674, /* UINT32CONSTANT */
- INT64CONSTANT = 675, /* INT64CONSTANT */
- UINT64CONSTANT = 676, /* UINT64CONSTANT */
- SUBROUTINE = 677, /* SUBROUTINE */
- DEMOTE = 678, /* DEMOTE */
- PAYLOADNV = 679, /* PAYLOADNV */
- PAYLOADINNV = 680, /* PAYLOADINNV */
- HITATTRNV = 681, /* HITATTRNV */
- CALLDATANV = 682, /* CALLDATANV */
- CALLDATAINNV = 683, /* CALLDATAINNV */
- PAYLOADEXT = 684, /* PAYLOADEXT */
- PAYLOADINEXT = 685, /* PAYLOADINEXT */
- HITATTREXT = 686, /* HITATTREXT */
- CALLDATAEXT = 687, /* CALLDATAEXT */
- CALLDATAINEXT = 688, /* CALLDATAINEXT */
- PATCH = 689, /* PATCH */
- SAMPLE = 690, /* SAMPLE */
- NONUNIFORM = 691, /* NONUNIFORM */
- COHERENT = 692, /* COHERENT */
- VOLATILE = 693, /* VOLATILE */
- RESTRICT = 694, /* RESTRICT */
- READONLY = 695, /* READONLY */
- WRITEONLY = 696, /* WRITEONLY */
- DEVICECOHERENT = 697, /* DEVICECOHERENT */
- QUEUEFAMILYCOHERENT = 698, /* QUEUEFAMILYCOHERENT */
- WORKGROUPCOHERENT = 699, /* WORKGROUPCOHERENT */
- SUBGROUPCOHERENT = 700, /* SUBGROUPCOHERENT */
- NONPRIVATE = 701, /* NONPRIVATE */
- SHADERCALLCOHERENT = 702, /* SHADERCALLCOHERENT */
- NOPERSPECTIVE = 703, /* NOPERSPECTIVE */
- EXPLICITINTERPAMD = 704, /* EXPLICITINTERPAMD */
- PERVERTEXEXT = 705, /* PERVERTEXEXT */
- PERVERTEXNV = 706, /* PERVERTEXNV */
- PERPRIMITIVENV = 707, /* PERPRIMITIVENV */
- PERVIEWNV = 708, /* PERVIEWNV */
- PERTASKNV = 709, /* PERTASKNV */
- PERPRIMITIVEEXT = 710, /* PERPRIMITIVEEXT */
- TASKPAYLOADWORKGROUPEXT = 711, /* TASKPAYLOADWORKGROUPEXT */
- PRECISE = 712 /* PRECISE */
+ HITOBJECTNV = 421, /* HITOBJECTNV */
+ HITOBJECTATTRNV = 422, /* HITOBJECTATTRNV */
+ SAMPLERCUBEARRAY = 423, /* SAMPLERCUBEARRAY */
+ SAMPLERCUBEARRAYSHADOW = 424, /* SAMPLERCUBEARRAYSHADOW */
+ ISAMPLERCUBEARRAY = 425, /* ISAMPLERCUBEARRAY */
+ USAMPLERCUBEARRAY = 426, /* USAMPLERCUBEARRAY */
+ SAMPLER1D = 427, /* SAMPLER1D */
+ SAMPLER1DARRAY = 428, /* SAMPLER1DARRAY */
+ SAMPLER1DARRAYSHADOW = 429, /* SAMPLER1DARRAYSHADOW */
+ ISAMPLER1D = 430, /* ISAMPLER1D */
+ SAMPLER1DSHADOW = 431, /* SAMPLER1DSHADOW */
+ SAMPLER2DRECT = 432, /* SAMPLER2DRECT */
+ SAMPLER2DRECTSHADOW = 433, /* SAMPLER2DRECTSHADOW */
+ ISAMPLER2DRECT = 434, /* ISAMPLER2DRECT */
+ USAMPLER2DRECT = 435, /* USAMPLER2DRECT */
+ SAMPLERBUFFER = 436, /* SAMPLERBUFFER */
+ ISAMPLERBUFFER = 437, /* ISAMPLERBUFFER */
+ USAMPLERBUFFER = 438, /* USAMPLERBUFFER */
+ SAMPLER2DMS = 439, /* SAMPLER2DMS */
+ ISAMPLER2DMS = 440, /* ISAMPLER2DMS */
+ USAMPLER2DMS = 441, /* USAMPLER2DMS */
+ SAMPLER2DMSARRAY = 442, /* SAMPLER2DMSARRAY */
+ ISAMPLER2DMSARRAY = 443, /* ISAMPLER2DMSARRAY */
+ USAMPLER2DMSARRAY = 444, /* USAMPLER2DMSARRAY */
+ SAMPLEREXTERNALOES = 445, /* SAMPLEREXTERNALOES */
+ SAMPLEREXTERNAL2DY2YEXT = 446, /* SAMPLEREXTERNAL2DY2YEXT */
+ ISAMPLER1DARRAY = 447, /* ISAMPLER1DARRAY */
+ USAMPLER1D = 448, /* USAMPLER1D */
+ USAMPLER1DARRAY = 449, /* USAMPLER1DARRAY */
+ F16SAMPLER1D = 450, /* F16SAMPLER1D */
+ F16SAMPLER2D = 451, /* F16SAMPLER2D */
+ F16SAMPLER3D = 452, /* F16SAMPLER3D */
+ F16SAMPLER2DRECT = 453, /* F16SAMPLER2DRECT */
+ F16SAMPLERCUBE = 454, /* F16SAMPLERCUBE */
+ F16SAMPLER1DARRAY = 455, /* F16SAMPLER1DARRAY */
+ F16SAMPLER2DARRAY = 456, /* F16SAMPLER2DARRAY */
+ F16SAMPLERCUBEARRAY = 457, /* F16SAMPLERCUBEARRAY */
+ F16SAMPLERBUFFER = 458, /* F16SAMPLERBUFFER */
+ F16SAMPLER2DMS = 459, /* F16SAMPLER2DMS */
+ F16SAMPLER2DMSARRAY = 460, /* F16SAMPLER2DMSARRAY */
+ F16SAMPLER1DSHADOW = 461, /* F16SAMPLER1DSHADOW */
+ F16SAMPLER2DSHADOW = 462, /* F16SAMPLER2DSHADOW */
+ F16SAMPLER1DARRAYSHADOW = 463, /* F16SAMPLER1DARRAYSHADOW */
+ F16SAMPLER2DARRAYSHADOW = 464, /* F16SAMPLER2DARRAYSHADOW */
+ F16SAMPLER2DRECTSHADOW = 465, /* F16SAMPLER2DRECTSHADOW */
+ F16SAMPLERCUBESHADOW = 466, /* F16SAMPLERCUBESHADOW */
+ F16SAMPLERCUBEARRAYSHADOW = 467, /* F16SAMPLERCUBEARRAYSHADOW */
+ IMAGE1D = 468, /* IMAGE1D */
+ IIMAGE1D = 469, /* IIMAGE1D */
+ UIMAGE1D = 470, /* UIMAGE1D */
+ IMAGE2D = 471, /* IMAGE2D */
+ IIMAGE2D = 472, /* IIMAGE2D */
+ UIMAGE2D = 473, /* UIMAGE2D */
+ IMAGE3D = 474, /* IMAGE3D */
+ IIMAGE3D = 475, /* IIMAGE3D */
+ UIMAGE3D = 476, /* UIMAGE3D */
+ IMAGE2DRECT = 477, /* IMAGE2DRECT */
+ IIMAGE2DRECT = 478, /* IIMAGE2DRECT */
+ UIMAGE2DRECT = 479, /* UIMAGE2DRECT */
+ IMAGECUBE = 480, /* IMAGECUBE */
+ IIMAGECUBE = 481, /* IIMAGECUBE */
+ UIMAGECUBE = 482, /* UIMAGECUBE */
+ IMAGEBUFFER = 483, /* IMAGEBUFFER */
+ IIMAGEBUFFER = 484, /* IIMAGEBUFFER */
+ UIMAGEBUFFER = 485, /* UIMAGEBUFFER */
+ IMAGE1DARRAY = 486, /* IMAGE1DARRAY */
+ IIMAGE1DARRAY = 487, /* IIMAGE1DARRAY */
+ UIMAGE1DARRAY = 488, /* UIMAGE1DARRAY */
+ IMAGE2DARRAY = 489, /* IMAGE2DARRAY */
+ IIMAGE2DARRAY = 490, /* IIMAGE2DARRAY */
+ UIMAGE2DARRAY = 491, /* UIMAGE2DARRAY */
+ IMAGECUBEARRAY = 492, /* IMAGECUBEARRAY */
+ IIMAGECUBEARRAY = 493, /* IIMAGECUBEARRAY */
+ UIMAGECUBEARRAY = 494, /* UIMAGECUBEARRAY */
+ IMAGE2DMS = 495, /* IMAGE2DMS */
+ IIMAGE2DMS = 496, /* IIMAGE2DMS */
+ UIMAGE2DMS = 497, /* UIMAGE2DMS */
+ IMAGE2DMSARRAY = 498, /* IMAGE2DMSARRAY */
+ IIMAGE2DMSARRAY = 499, /* IIMAGE2DMSARRAY */
+ UIMAGE2DMSARRAY = 500, /* UIMAGE2DMSARRAY */
+ F16IMAGE1D = 501, /* F16IMAGE1D */
+ F16IMAGE2D = 502, /* F16IMAGE2D */
+ F16IMAGE3D = 503, /* F16IMAGE3D */
+ F16IMAGE2DRECT = 504, /* F16IMAGE2DRECT */
+ F16IMAGECUBE = 505, /* F16IMAGECUBE */
+ F16IMAGE1DARRAY = 506, /* F16IMAGE1DARRAY */
+ F16IMAGE2DARRAY = 507, /* F16IMAGE2DARRAY */
+ F16IMAGECUBEARRAY = 508, /* F16IMAGECUBEARRAY */
+ F16IMAGEBUFFER = 509, /* F16IMAGEBUFFER */
+ F16IMAGE2DMS = 510, /* F16IMAGE2DMS */
+ F16IMAGE2DMSARRAY = 511, /* F16IMAGE2DMSARRAY */
+ I64IMAGE1D = 512, /* I64IMAGE1D */
+ U64IMAGE1D = 513, /* U64IMAGE1D */
+ I64IMAGE2D = 514, /* I64IMAGE2D */
+ U64IMAGE2D = 515, /* U64IMAGE2D */
+ I64IMAGE3D = 516, /* I64IMAGE3D */
+ U64IMAGE3D = 517, /* U64IMAGE3D */
+ I64IMAGE2DRECT = 518, /* I64IMAGE2DRECT */
+ U64IMAGE2DRECT = 519, /* U64IMAGE2DRECT */
+ I64IMAGECUBE = 520, /* I64IMAGECUBE */
+ U64IMAGECUBE = 521, /* U64IMAGECUBE */
+ I64IMAGEBUFFER = 522, /* I64IMAGEBUFFER */
+ U64IMAGEBUFFER = 523, /* U64IMAGEBUFFER */
+ I64IMAGE1DARRAY = 524, /* I64IMAGE1DARRAY */
+ U64IMAGE1DARRAY = 525, /* U64IMAGE1DARRAY */
+ I64IMAGE2DARRAY = 526, /* I64IMAGE2DARRAY */
+ U64IMAGE2DARRAY = 527, /* U64IMAGE2DARRAY */
+ I64IMAGECUBEARRAY = 528, /* I64IMAGECUBEARRAY */
+ U64IMAGECUBEARRAY = 529, /* U64IMAGECUBEARRAY */
+ I64IMAGE2DMS = 530, /* I64IMAGE2DMS */
+ U64IMAGE2DMS = 531, /* U64IMAGE2DMS */
+ I64IMAGE2DMSARRAY = 532, /* I64IMAGE2DMSARRAY */
+ U64IMAGE2DMSARRAY = 533, /* U64IMAGE2DMSARRAY */
+ TEXTURECUBEARRAY = 534, /* TEXTURECUBEARRAY */
+ ITEXTURECUBEARRAY = 535, /* ITEXTURECUBEARRAY */
+ UTEXTURECUBEARRAY = 536, /* UTEXTURECUBEARRAY */
+ TEXTURE1D = 537, /* TEXTURE1D */
+ ITEXTURE1D = 538, /* ITEXTURE1D */
+ UTEXTURE1D = 539, /* UTEXTURE1D */
+ TEXTURE1DARRAY = 540, /* TEXTURE1DARRAY */
+ ITEXTURE1DARRAY = 541, /* ITEXTURE1DARRAY */
+ UTEXTURE1DARRAY = 542, /* UTEXTURE1DARRAY */
+ TEXTURE2DRECT = 543, /* TEXTURE2DRECT */
+ ITEXTURE2DRECT = 544, /* ITEXTURE2DRECT */
+ UTEXTURE2DRECT = 545, /* UTEXTURE2DRECT */
+ TEXTUREBUFFER = 546, /* TEXTUREBUFFER */
+ ITEXTUREBUFFER = 547, /* ITEXTUREBUFFER */
+ UTEXTUREBUFFER = 548, /* UTEXTUREBUFFER */
+ TEXTURE2DMS = 549, /* TEXTURE2DMS */
+ ITEXTURE2DMS = 550, /* ITEXTURE2DMS */
+ UTEXTURE2DMS = 551, /* UTEXTURE2DMS */
+ TEXTURE2DMSARRAY = 552, /* TEXTURE2DMSARRAY */
+ ITEXTURE2DMSARRAY = 553, /* ITEXTURE2DMSARRAY */
+ UTEXTURE2DMSARRAY = 554, /* UTEXTURE2DMSARRAY */
+ F16TEXTURE1D = 555, /* F16TEXTURE1D */
+ F16TEXTURE2D = 556, /* F16TEXTURE2D */
+ F16TEXTURE3D = 557, /* F16TEXTURE3D */
+ F16TEXTURE2DRECT = 558, /* F16TEXTURE2DRECT */
+ F16TEXTURECUBE = 559, /* F16TEXTURECUBE */
+ F16TEXTURE1DARRAY = 560, /* F16TEXTURE1DARRAY */
+ F16TEXTURE2DARRAY = 561, /* F16TEXTURE2DARRAY */
+ F16TEXTURECUBEARRAY = 562, /* F16TEXTURECUBEARRAY */
+ F16TEXTUREBUFFER = 563, /* F16TEXTUREBUFFER */
+ F16TEXTURE2DMS = 564, /* F16TEXTURE2DMS */
+ F16TEXTURE2DMSARRAY = 565, /* F16TEXTURE2DMSARRAY */
+ SUBPASSINPUT = 566, /* SUBPASSINPUT */
+ SUBPASSINPUTMS = 567, /* SUBPASSINPUTMS */
+ ISUBPASSINPUT = 568, /* ISUBPASSINPUT */
+ ISUBPASSINPUTMS = 569, /* ISUBPASSINPUTMS */
+ USUBPASSINPUT = 570, /* USUBPASSINPUT */
+ USUBPASSINPUTMS = 571, /* USUBPASSINPUTMS */
+ F16SUBPASSINPUT = 572, /* F16SUBPASSINPUT */
+ F16SUBPASSINPUTMS = 573, /* F16SUBPASSINPUTMS */
+ SPIRV_INSTRUCTION = 574, /* SPIRV_INSTRUCTION */
+ SPIRV_EXECUTION_MODE = 575, /* SPIRV_EXECUTION_MODE */
+ SPIRV_EXECUTION_MODE_ID = 576, /* SPIRV_EXECUTION_MODE_ID */
+ SPIRV_DECORATE = 577, /* SPIRV_DECORATE */
+ SPIRV_DECORATE_ID = 578, /* SPIRV_DECORATE_ID */
+ SPIRV_DECORATE_STRING = 579, /* SPIRV_DECORATE_STRING */
+ SPIRV_TYPE = 580, /* SPIRV_TYPE */
+ SPIRV_STORAGE_CLASS = 581, /* SPIRV_STORAGE_CLASS */
+ SPIRV_BY_REFERENCE = 582, /* SPIRV_BY_REFERENCE */
+ SPIRV_LITERAL = 583, /* SPIRV_LITERAL */
+ LEFT_OP = 584, /* LEFT_OP */
+ RIGHT_OP = 585, /* RIGHT_OP */
+ INC_OP = 586, /* INC_OP */
+ DEC_OP = 587, /* DEC_OP */
+ LE_OP = 588, /* LE_OP */
+ GE_OP = 589, /* GE_OP */
+ EQ_OP = 590, /* EQ_OP */
+ NE_OP = 591, /* NE_OP */
+ AND_OP = 592, /* AND_OP */
+ OR_OP = 593, /* OR_OP */
+ XOR_OP = 594, /* XOR_OP */
+ MUL_ASSIGN = 595, /* MUL_ASSIGN */
+ DIV_ASSIGN = 596, /* DIV_ASSIGN */
+ ADD_ASSIGN = 597, /* ADD_ASSIGN */
+ MOD_ASSIGN = 598, /* MOD_ASSIGN */
+ LEFT_ASSIGN = 599, /* LEFT_ASSIGN */
+ RIGHT_ASSIGN = 600, /* RIGHT_ASSIGN */
+ AND_ASSIGN = 601, /* AND_ASSIGN */
+ XOR_ASSIGN = 602, /* XOR_ASSIGN */
+ OR_ASSIGN = 603, /* OR_ASSIGN */
+ SUB_ASSIGN = 604, /* SUB_ASSIGN */
+ STRING_LITERAL = 605, /* STRING_LITERAL */
+ LEFT_PAREN = 606, /* LEFT_PAREN */
+ RIGHT_PAREN = 607, /* RIGHT_PAREN */
+ LEFT_BRACKET = 608, /* LEFT_BRACKET */
+ RIGHT_BRACKET = 609, /* RIGHT_BRACKET */
+ LEFT_BRACE = 610, /* LEFT_BRACE */
+ RIGHT_BRACE = 611, /* RIGHT_BRACE */
+ DOT = 612, /* DOT */
+ COMMA = 613, /* COMMA */
+ COLON = 614, /* COLON */
+ EQUAL = 615, /* EQUAL */
+ SEMICOLON = 616, /* SEMICOLON */
+ BANG = 617, /* BANG */
+ DASH = 618, /* DASH */
+ TILDE = 619, /* TILDE */
+ PLUS = 620, /* PLUS */
+ STAR = 621, /* STAR */
+ SLASH = 622, /* SLASH */
+ PERCENT = 623, /* PERCENT */
+ LEFT_ANGLE = 624, /* LEFT_ANGLE */
+ RIGHT_ANGLE = 625, /* RIGHT_ANGLE */
+ VERTICAL_BAR = 626, /* VERTICAL_BAR */
+ CARET = 627, /* CARET */
+ AMPERSAND = 628, /* AMPERSAND */
+ QUESTION = 629, /* QUESTION */
+ INVARIANT = 630, /* INVARIANT */
+ HIGH_PRECISION = 631, /* HIGH_PRECISION */
+ MEDIUM_PRECISION = 632, /* MEDIUM_PRECISION */
+ LOW_PRECISION = 633, /* LOW_PRECISION */
+ PRECISION = 634, /* PRECISION */
+ PACKED = 635, /* PACKED */
+ RESOURCE = 636, /* RESOURCE */
+ SUPERP = 637, /* SUPERP */
+ FLOATCONSTANT = 638, /* FLOATCONSTANT */
+ INTCONSTANT = 639, /* INTCONSTANT */
+ UINTCONSTANT = 640, /* UINTCONSTANT */
+ BOOLCONSTANT = 641, /* BOOLCONSTANT */
+ IDENTIFIER = 642, /* IDENTIFIER */
+ TYPE_NAME = 643, /* TYPE_NAME */
+ CENTROID = 644, /* CENTROID */
+ IN = 645, /* IN */
+ OUT = 646, /* OUT */
+ INOUT = 647, /* INOUT */
+ STRUCT = 648, /* STRUCT */
+ VOID = 649, /* VOID */
+ WHILE = 650, /* WHILE */
+ BREAK = 651, /* BREAK */
+ CONTINUE = 652, /* CONTINUE */
+ DO = 653, /* DO */
+ ELSE = 654, /* ELSE */
+ FOR = 655, /* FOR */
+ IF = 656, /* IF */
+ DISCARD = 657, /* DISCARD */
+ RETURN = 658, /* RETURN */
+ SWITCH = 659, /* SWITCH */
+ CASE = 660, /* CASE */
+ DEFAULT = 661, /* DEFAULT */
+ TERMINATE_INVOCATION = 662, /* TERMINATE_INVOCATION */
+ TERMINATE_RAY = 663, /* TERMINATE_RAY */
+ IGNORE_INTERSECTION = 664, /* IGNORE_INTERSECTION */
+ UNIFORM = 665, /* UNIFORM */
+ SHARED = 666, /* SHARED */
+ BUFFER = 667, /* BUFFER */
+ FLAT = 668, /* FLAT */
+ SMOOTH = 669, /* SMOOTH */
+ LAYOUT = 670, /* LAYOUT */
+ DOUBLECONSTANT = 671, /* DOUBLECONSTANT */
+ INT16CONSTANT = 672, /* INT16CONSTANT */
+ UINT16CONSTANT = 673, /* UINT16CONSTANT */
+ FLOAT16CONSTANT = 674, /* FLOAT16CONSTANT */
+ INT32CONSTANT = 675, /* INT32CONSTANT */
+ UINT32CONSTANT = 676, /* UINT32CONSTANT */
+ INT64CONSTANT = 677, /* INT64CONSTANT */
+ UINT64CONSTANT = 678, /* UINT64CONSTANT */
+ SUBROUTINE = 679, /* SUBROUTINE */
+ DEMOTE = 680, /* DEMOTE */
+ PAYLOADNV = 681, /* PAYLOADNV */
+ PAYLOADINNV = 682, /* PAYLOADINNV */
+ HITATTRNV = 683, /* HITATTRNV */
+ CALLDATANV = 684, /* CALLDATANV */
+ CALLDATAINNV = 685, /* CALLDATAINNV */
+ PAYLOADEXT = 686, /* PAYLOADEXT */
+ PAYLOADINEXT = 687, /* PAYLOADINEXT */
+ HITATTREXT = 688, /* HITATTREXT */
+ CALLDATAEXT = 689, /* CALLDATAEXT */
+ CALLDATAINEXT = 690, /* CALLDATAINEXT */
+ PATCH = 691, /* PATCH */
+ SAMPLE = 692, /* SAMPLE */
+ NONUNIFORM = 693, /* NONUNIFORM */
+ COHERENT = 694, /* COHERENT */
+ VOLATILE = 695, /* VOLATILE */
+ RESTRICT = 696, /* RESTRICT */
+ READONLY = 697, /* READONLY */
+ WRITEONLY = 698, /* WRITEONLY */
+ DEVICECOHERENT = 699, /* DEVICECOHERENT */
+ QUEUEFAMILYCOHERENT = 700, /* QUEUEFAMILYCOHERENT */
+ WORKGROUPCOHERENT = 701, /* WORKGROUPCOHERENT */
+ SUBGROUPCOHERENT = 702, /* SUBGROUPCOHERENT */
+ NONPRIVATE = 703, /* NONPRIVATE */
+ SHADERCALLCOHERENT = 704, /* SHADERCALLCOHERENT */
+ NOPERSPECTIVE = 705, /* NOPERSPECTIVE */
+ EXPLICITINTERPAMD = 706, /* EXPLICITINTERPAMD */
+ PERVERTEXEXT = 707, /* PERVERTEXEXT */
+ PERVERTEXNV = 708, /* PERVERTEXNV */
+ PERPRIMITIVENV = 709, /* PERPRIMITIVENV */
+ PERVIEWNV = 710, /* PERVIEWNV */
+ PERTASKNV = 711, /* PERTASKNV */
+ PERPRIMITIVEEXT = 712, /* PERPRIMITIVEEXT */
+ TASKPAYLOADWORKGROUPEXT = 713, /* TASKPAYLOADWORKGROUPEXT */
+ PRECISE = 714 /* PRECISE */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -556,7 +558,7 @@ union YYSTYPE
glslang::TArraySizes* typeParameters;
} interm;
-#line 560 "MachineIndependent/glslang_tab.cpp.h"
+#line 562 "MachineIndependent/glslang_tab.cpp.h"
};
typedef union YYSTYPE YYSTYPE;
diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp
index 98755612..91d5b954 100644
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -36,7 +36,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#include "localintermediate.h"
#include "../Include/InfoSink.h"
@@ -1105,6 +1105,38 @@ bool TOutputTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node
case EOpIsHelperInvocation: out.debug << "IsHelperInvocation"; break;
case EOpDebugPrintf: out.debug << "Debug printf"; break;
+ case EOpHitObjectTraceRayNV: out.debug << "HitObjectTraceRayNV"; break;
+ case EOpHitObjectTraceRayMotionNV: out.debug << "HitObjectTraceRayMotionNV"; break;
+ case EOpHitObjectRecordHitNV: out.debug << "HitObjectRecordHitNV"; break;
+ case EOpHitObjectRecordHitMotionNV: out.debug << "HitObjectRecordHitMotionNV"; break;
+ case EOpHitObjectRecordHitWithIndexNV: out.debug << "HitObjectRecordHitWithIndexNV"; break;
+ case EOpHitObjectRecordHitWithIndexMotionNV: out.debug << "HitObjectRecordHitWithIndexMotionNV"; break;
+ case EOpHitObjectRecordMissNV: out.debug << "HitObjectRecordMissNV"; break;
+ case EOpHitObjectRecordMissMotionNV: out.debug << "HitObjectRecordMissMotionNV"; break;
+ case EOpHitObjectRecordEmptyNV: out.debug << "HitObjectRecordEmptyNV"; break;
+ case EOpHitObjectExecuteShaderNV: out.debug << "HitObjectExecuteShaderNV"; break;
+ case EOpHitObjectIsEmptyNV: out.debug << "HitObjectIsEmptyNV"; break;
+ case EOpHitObjectIsMissNV: out.debug << "HitObjectIsMissNV"; break;
+ case EOpHitObjectIsHitNV: out.debug << "HitObjectIsHitNV"; break;
+ case EOpHitObjectGetRayTMinNV: out.debug << "HitObjectGetRayTMinNV"; break;
+ case EOpHitObjectGetRayTMaxNV: out.debug << "HitObjectGetRayTMaxNV"; break;
+ case EOpHitObjectGetObjectRayOriginNV: out.debug << "HitObjectGetObjectRayOriginNV"; break;
+ case EOpHitObjectGetObjectRayDirectionNV: out.debug << "HitObjectGetObjectRayDirectionNV"; break;
+ case EOpHitObjectGetWorldRayOriginNV: out.debug << "HitObjectGetWorldRayOriginNV"; break;
+ case EOpHitObjectGetWorldRayDirectionNV: out.debug << "HitObjectGetWorldRayDirectionNV"; break;
+ case EOpHitObjectGetObjectToWorldNV: out.debug << "HitObjectGetObjectToWorldNV"; break;
+ case EOpHitObjectGetWorldToObjectNV: out.debug << "HitObjectGetWorldToObjectNV"; break;
+ case EOpHitObjectGetInstanceCustomIndexNV: out.debug<< "HitObjectGetInstanceCustomIndexNV"; break;
+ case EOpHitObjectGetInstanceIdNV: out.debug << "HitObjectGetInstaneIdNV"; break;
+ case EOpHitObjectGetGeometryIndexNV: out.debug << "HitObjectGetGeometryIndexNV"; break;
+ case EOpHitObjectGetPrimitiveIndexNV: out.debug << "HitObjectGetPrimitiveIndexNV"; break;
+ case EOpHitObjectGetHitKindNV: out.debug << "HitObjectGetHitKindNV"; break;
+ case EOpHitObjectGetAttributesNV: out.debug << "HitObjectGetAttributesNV"; break;
+ case EOpHitObjectGetCurrentTimeNV: out.debug << "HitObjectGetCurrentTimeNV"; break;
+ case EOpHitObjectGetShaderBindingTableRecordIndexNV: out.debug << "HitObjectGetShaderBindingTableRecordIndexNV"; break;
+ case EOpHitObjectGetShaderRecordBufferHandleNV: out.debug << "HitObjectReadShaderRecordBufferHandleNV"; break;
+ case EOpReorderThreadNV: out.debug << "ReorderThreadNV"; break;
+
#ifndef GLSLANG_WEB
case EOpSpirvInst: out.debug << "spirv_instruction"; break;
#endif
@@ -1552,7 +1584,7 @@ void TIntermediate::output(TInfoSink& infoSink, bool tree)
break;
}
- if (treeRoot == 0 || ! tree)
+ if (treeRoot == nullptr || ! tree)
return;
TOutputTraverser it(infoSink);
@@ -1563,4 +1595,4 @@ void TIntermediate::output(TInfoSink& infoSink, bool tree)
} // end namespace glslang
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp
index 4250e92d..0ae281d9 100644
--- a/glslang/MachineIndependent/iomapper.cpp
+++ b/glslang/MachineIndependent/iomapper.cpp
@@ -33,7 +33,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#include "../Include/Common.h"
#include "../Include/InfoSink.h"
@@ -1710,4 +1710,4 @@ bool TGlslIoMapper::doMap(TIoMapResolver* resolver, TInfoSink& infoSink) {
} // end namespace glslang
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h
index ba7bc3bb..0003a74e 100644
--- a/glslang/MachineIndependent/iomapper.h
+++ b/glslang/MachineIndependent/iomapper.h
@@ -33,7 +33,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#ifndef _IOMAPPER_INCLUDED
#define _IOMAPPER_INCLUDED
@@ -358,4 +358,4 @@ private:
#endif // _IOMAPPER_INCLUDED
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index acc512fd..3a4cb567 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -89,7 +89,7 @@ void TIntermediate::warn(TInfoSink& infoSink, const char* message, EShLanguage u
//
void TIntermediate::merge(TInfoSink& infoSink, TIntermediate& unit)
{
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
mergeCallGraphs(infoSink, unit);
mergeModes(infoSink, unit);
mergeTrees(infoSink, unit);
@@ -161,7 +161,7 @@ void TIntermediate::mergeCallGraphs(TInfoSink& infoSink, TIntermediate& unit)
callGraph.insert(callGraph.end(), unit.callGraph.begin(), unit.callGraph.end());
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#define MERGE_MAX(member) member = std::max(member, unit.member)
#define MERGE_TRUE(member) if (unit.member) member = unit.member;
@@ -750,6 +750,21 @@ void TIntermediate::mergeLinkerObjects(TInfoSink& infoSink, TIntermSequence& lin
}
// Update implicit array sizes
+ if (symbol->getWritableType().isImplicitlySizedArray() && unitSymbol->getType().isImplicitlySizedArray()) {
+ if (unitSymbol->getType().getImplicitArraySize() > symbol->getType().getImplicitArraySize()){
+ symbol->getWritableType().updateImplicitArraySize(unitSymbol->getType().getImplicitArraySize());
+ }
+ }
+ else if (symbol->getWritableType().isImplicitlySizedArray() && unitSymbol->getType().isSizedArray()) {
+ if (symbol->getWritableType().getImplicitArraySize() > unitSymbol->getType().getOuterArraySize())
+ error(infoSink, "Implicit size of unsized array doesn't match same symbol among multiple shaders.");
+ }
+ else if (unitSymbol->getType().isImplicitlySizedArray() && symbol->getWritableType().isSizedArray()) {
+ if (unitSymbol->getType().getImplicitArraySize() > symbol->getWritableType().getOuterArraySize())
+ error(infoSink, "Implicit size of unsized array doesn't match same symbol among multiple shaders.");
+ }
+
+ // Update implicit array sizes
mergeImplicitArraySizes(symbol->getWritableType(), unitSymbol->getType());
// Check for consistent types/qualification/initializers etc.
@@ -759,6 +774,19 @@ void TIntermediate::mergeLinkerObjects(TInfoSink& infoSink, TIntermSequence& lin
else if (symbol->getQualifier().isPushConstant() && unitSymbol->getQualifier().isPushConstant() && getStage() == unitStage)
error(infoSink, "Only one push_constant block is allowed per stage");
}
+
+ // Check conflicts between preset primitives and sizes of I/O variables among multiple geometry shaders
+ if (language == EShLangGeometry && unitStage == EShLangGeometry)
+ {
+ TIntermSymbol* unitSymbol = unitLinkerObjects[unitLinkObj]->getAsSymbolNode();
+ if (unitSymbol->isArray() && unitSymbol->getQualifier().storage == EvqVaryingIn && unitSymbol->getQualifier().builtIn == EbvNone)
+ if ((unitSymbol->getArraySizes()->isImplicitlySized() &&
+ unitSymbol->getArraySizes()->getImplicitSize() != TQualifier::mapGeometryToSize(getInputPrimitive())) ||
+ (! unitSymbol->getArraySizes()->isImplicitlySized() &&
+ unitSymbol->getArraySizes()->getDimSize(0) != TQualifier::mapGeometryToSize(getInputPrimitive())))
+ error(infoSink, "Not all array sizes match across all geometry shaders in the program");
+ }
+
if (merge) {
linkerObjects.push_back(unitLinkerObjects[unitLinkObj]);
@@ -828,7 +856,7 @@ void TIntermediate::mergeImplicitArraySizes(TType& type, const TType& unitType)
//
void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& symbol, const TIntermSymbol& unitSymbol, EShLanguage unitStage)
{
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
bool crossStage = getStage() != unitStage;
bool writeTypeComparison = false;
bool errorReported = false;
@@ -863,7 +891,8 @@ void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& sy
else {
arraysMatch = symbol.getType().sameArrayness(unitSymbol.getType()) ||
(symbol.getType().isArray() && unitSymbol.getType().isArray() &&
- (symbol.getType().isUnsizedArray() || unitSymbol.getType().isUnsizedArray()));
+ (symbol.getType().isImplicitlySizedArray() || unitSymbol.getType().isImplicitlySizedArray() ||
+ symbol.getType().isUnsizedArray() || unitSymbol.getType().isUnsizedArray()));
}
int lpidx = -1;
@@ -1383,7 +1412,7 @@ void TIntermediate::checkCallGraphCycles(TInfoSink& infoSink)
TCall* newRoot;
do {
// See if we have unvisited parts of the graph.
- newRoot = 0;
+ newRoot = nullptr;
for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) {
if (! call->visited) {
newRoot = &(*call);
@@ -1517,7 +1546,10 @@ void TIntermediate::checkCallGraphBodies(TInfoSink& infoSink, bool keepUncalled)
if (! keepUncalled) {
for (int f = 0; f < (int)functionSequence.size(); ++f) {
if (! reachable[f])
+ {
+ resetTopLevelUncalledStatus(functionSequence[f]->getAsAggregate()->getName());
functionSequence[f] = nullptr;
+ }
}
functionSequence.erase(std::remove(functionSequence.begin(), functionSequence.end(), nullptr), functionSequence.end());
}
@@ -1611,6 +1643,8 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ
setRT = 0;
else if (qualifier.isAnyCallable())
setRT = 1;
+ else if (qualifier.isHitObjectAttrNV())
+ setRT = 2;
else
return -1;
@@ -1650,7 +1684,7 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ
// slot irrespective of type.
int collision = -1; // no collision
#ifndef GLSLANG_WEB
- if (qualifier.isAnyPayload() || qualifier.isAnyCallable()) {
+ if (qualifier.isAnyPayload() || qualifier.isAnyCallable() || qualifier.isHitObjectAttrNV()) {
TRange range(qualifier.layoutLocation, qualifier.layoutLocation);
collision = checkLocationRT(setRT, qualifier.layoutLocation);
if (collision < 0)
@@ -2012,6 +2046,15 @@ int TIntermediate::getBaseAlignmentScalar(const TType& type, int& size)
case EbtInt16:
case EbtUint16: size = 2; return 2;
case EbtReference: size = 8; return 8;
+ case EbtSampler:
+ {
+ if (type.isBindlessImage() || type.isBindlessTexture()) {
+ size = 8; return 8;
+ }
+ else {
+ size = 4; return 4;
+ }
+ }
default: size = 4; return 4;
}
}
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index e7a171cd..0c569976 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -225,6 +225,16 @@ enum ComputeDerivativeMode {
LayoutDerivativeGroupLinear, // derivative_group_linearNV
};
+//
+// Status type on AST level. Some uncalled status or functions would be reset in call graph.
+// Currently we will keep status set by explicitly declared layout or variable decl.
+//
+enum AstRefType {
+ AstRefTypeVar, // Status set by variable decl
+ AstRefTypeFunc, // Status set by function decl
+ AstRefTypeLayout, // Status set by layout decl
+};
+
class TIdMaps {
public:
TMap<TString, long long>& operator[](long long i) { return maps[i]; }
@@ -283,10 +293,8 @@ class TIntermediate {
public:
explicit TIntermediate(EShLanguage l, int v = 0, EProfile p = ENoProfile) :
language(l),
-#ifndef GLSLANG_ANGLE
profile(p), version(v),
-#endif
- treeRoot(0),
+ treeRoot(nullptr),
resources(TBuiltInResource{}),
numEntryPoints(0), numErrors(0), numPushConstants(0), recursive(false),
invertY(false),
@@ -358,15 +366,11 @@ public:
void setVersion(int v)
{
-#ifndef GLSLANG_ANGLE
version = v;
-#endif
}
void setProfile(EProfile p)
{
-#ifndef GLSLANG_ANGLE
profile = p;
-#endif
}
int getVersion() const { return version; }
@@ -750,6 +754,65 @@ public:
useVariablePointers = true;
processes.addProcess("use-variable-pointers");
}
+ // Set the global flag for bindless texture
+ void setBindlessTextureMode(const TString& currentCaller, AstRefType type)
+ {
+ // When type is not func, currentCaller should be "" (empty string)
+ bindlessTextureModeCaller[currentCaller] = type;
+ }
+
+ // Get the global flag for bindless texture
+ bool getBindlessTextureMode() const
+ {
+ return (bindlessTextureModeCaller.size() > 0);
+ }
+
+ // Set the global flag for bindless image
+ void setBindlessImageMode(const TString& currentCaller, AstRefType type)
+ {
+ // When type is not func, currentCaller should be "" (empty string)
+ bindlessImageModeCaller[currentCaller] = type;
+ }
+
+ // Get the global flag for bindless image
+ bool getBindlessImageMode() const
+ {
+ return (bindlessImageModeCaller.size() > 0);
+ }
+
+ // Get the global flag for bindless texture
+ bool resetTopLevelUncalledStatus(const TString& deadCaller)
+ {
+ // For reflection collection purpose, currently uniform layout setting and some
+ // flags introduced by variables (IO, global, etc,.) won't be reset here.
+ // Remove each global status (AST top level) introduced by uncalled functions.
+ // If a status is set by several functions, keep those which in call graph.
+ bool result = false;
+
+ // For two types of bindless mode flag, we would only reset which is set by an uncalled function.
+ // If one status flag's key in caller vec is empty, it should be come from a non-function setting.
+ if (!bindlessTextureModeCaller.empty()) {
+ auto caller = bindlessTextureModeCaller.find(deadCaller);
+ if (caller != bindlessTextureModeCaller.end() && bindlessTextureModeCaller[deadCaller] == AstRefTypeFunc) {
+ bindlessTextureModeCaller.erase(caller);
+ result = true;
+ }
+ }
+ if (!bindlessImageModeCaller.empty()) {
+ auto caller = bindlessImageModeCaller.find(deadCaller);
+ if (caller != bindlessImageModeCaller.end() && bindlessImageModeCaller[deadCaller] == AstRefTypeFunc) {
+ bindlessImageModeCaller.erase(caller);
+ result = true;
+ }
+ }
+ return result;
+ }
+
+ bool getBindlessMode() const
+ {
+ return getBindlessTextureMode() || getBindlessImageMode();
+ }
+
bool usingVariablePointers() const { return useVariablePointers; }
#ifdef ENABLE_HLSL
@@ -1101,13 +1164,8 @@ protected:
typedef std::list<TCall> TGraph;
TGraph callGraph;
-#ifdef GLSLANG_ANGLE
- const EProfile profile = ECoreProfile;
- const int version = 450;
-#else
EProfile profile; // source profile
int version; // source version
-#endif
SpvVersion spvVersion;
TIntermNode* treeRoot;
std::set<std::string> requestedExtensions; // cumulation of all enabled or required extensions; not connected to what subset of the shader used them
@@ -1199,7 +1257,8 @@ protected:
TSpirvRequirement* spirvRequirement;
TSpirvExecutionMode* spirvExecutionMode;
-
+ std::map<TString, AstRefType> bindlessTextureModeCaller;
+ std::map<TString, AstRefType> bindlessImageModeCaller;
std::unordered_map<std::string, int> uniformLocationOverrides;
int uniformLocationBase;
TNumericFeatures numericFeatures;
@@ -1209,8 +1268,9 @@ protected:
std::unordered_set<int> usedConstantId; // specialization constant ids used
std::vector<TOffsetRange> usedAtomics; // sets of bindings used by atomic counters
std::vector<TIoRange> usedIo[4]; // sets of used locations, one for each of in, out, uniform, and buffers
- std::vector<TRange> usedIoRT[2]; // sets of used location, one for rayPayload/rayPayloadIN and other
- // for callableData/callableDataIn
+ std::vector<TRange> usedIoRT[4]; // sets of used location, one for rayPayload/rayPayloadIN,
+ // one for callableData/callableDataIn, one for hitObjectAttributeNV and
+ // one for shaderrecordhitobjectNV
// set of names of statically read/written I/O that might need extra checking
std::set<TString> ioAccessed;
diff --git a/glslang/MachineIndependent/parseConst.cpp b/glslang/MachineIndependent/parseConst.cpp
index 6c182991..83509723 100644
--- a/glslang/MachineIndependent/parseConst.cpp
+++ b/glslang/MachineIndependent/parseConst.cpp
@@ -198,7 +198,7 @@ void TConstTraverser::visitConstantUnion(TIntermConstantUnion* node)
bool TIntermediate::parseConstTree(TIntermNode* root, TConstUnionArray unionArray, TOperator constructorType, const TType& t, bool singleConstantParam)
{
- if (root == 0)
+ if (root == nullptr)
return false;
TConstTraverser it(unionArray, singleConstantParam, constructorType, t);
diff --git a/glslang/MachineIndependent/parseVersions.h b/glslang/MachineIndependent/parseVersions.h
index 7248354e..c9f82d05 100644
--- a/glslang/MachineIndependent/parseVersions.h
+++ b/glslang/MachineIndependent/parseVersions.h
@@ -58,14 +58,14 @@ public:
const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink,
bool forwardCompatible, EShMessages messages)
:
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
forwardCompatible(forwardCompatible),
profile(profile),
#endif
infoSink(infoSink), version(version),
language(language),
spvVersion(spvVersion),
- intermediate(interm), messages(messages), numErrors(0), currentScanner(0) { }
+ intermediate(interm), messages(messages), numErrors(0), currentScanner(nullptr) { }
virtual ~TParseVersions() { }
void requireStage(const TSourceLoc&, EShLanguageMask, const char* featureDesc);
void requireStage(const TSourceLoc&, EShLanguage, const char* featureDesc);
@@ -117,13 +117,8 @@ public:
bool suppressWarnings() const { return true; }
bool isForwardCompatible() const { return false; }
#else
-#ifdef GLSLANG_ANGLE
- const bool forwardCompatible = true;
- const EProfile profile = ECoreProfile;
-#else
bool forwardCompatible; // true if errors are to be given for use of deprecated features
EProfile profile; // the declared profile in the shader (core by default)
-#endif
bool isEsProfile() const { return profile == EEsProfile; }
void requireProfile(const TSourceLoc& loc, int profileMask, const char* featureDesc);
void profileRequires(const TSourceLoc& loc, int profileMask, int minVersion, int numExtensions,
@@ -231,6 +226,7 @@ public:
protected:
TMap<TString, TExtensionBehavior> extensionBehavior; // for each extension string, what its current behavior is
TMap<TString, unsigned int> extensionMinSpv; // for each extension string, store minimum spirv required
+ TVector<TString> spvUnsupportedExt; // for extensions reserved for spv usage.
EShMessages messages; // errors/warnings/rule-sets
int numErrors; // number of compile-time errors encountered
TInputScanner* currentScanner;
diff --git a/glslang/MachineIndependent/preprocessor/PpContext.cpp b/glslang/MachineIndependent/preprocessor/PpContext.cpp
index 1363ce2b..70f51197 100644
--- a/glslang/MachineIndependent/preprocessor/PpContext.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpContext.cpp
@@ -85,7 +85,7 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace glslang {
TPpContext::TPpContext(TParseContextBase& pc, const std::string& rootFileName, TShader::Includer& inclr) :
- preamble(0), strings(0), previous_token('\n'), parseContext(pc), includer(inclr), inComment(false),
+ preamble(nullptr), strings(nullptr), previous_token('\n'), parseContext(pc), includer(inclr), inComment(false),
rootFileName(rootFileName),
currentSourceFile(rootFileName),
disableEscapeSequences(false)
diff --git a/glslang/MachineIndependent/preprocessor/PpTokens.cpp b/glslang/MachineIndependent/preprocessor/PpTokens.cpp
index 7ed58703..e17eeafd 100644
--- a/glslang/MachineIndependent/preprocessor/PpTokens.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpTokens.cpp
@@ -121,7 +121,7 @@ int TPpContext::TokenStream::getToken(TParseContextBase& parseContext, TPpToken
if (atom == '#') {
if (peekToken('#')) {
parseContext.requireProfile(ppToken->loc, ~EEsProfile, "token pasting (##)");
- parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, 0, "token pasting (##)");
+ parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, nullptr, "token pasting (##)");
currentPos++;
atom = PpAtomPaste;
}
diff --git a/glslang/MachineIndependent/propagateNoContraction.cpp b/glslang/MachineIndependent/propagateNoContraction.cpp
index 9def592b..a1aa5ea6 100644
--- a/glslang/MachineIndependent/propagateNoContraction.cpp
+++ b/glslang/MachineIndependent/propagateNoContraction.cpp
@@ -423,7 +423,7 @@ getSymbolToDefinitionMappingAndPreciseSymbolIDs(const glslang::TIntermediate& in
ReturnBranchNodeSet());
TIntermNode* root = intermediate.getTreeRoot();
- if (root == 0)
+ if (root == nullptr)
return result_tuple;
NodeMapping& symbol_definition_mapping = std::get<0>(result_tuple);
diff --git a/glslang/MachineIndependent/reflection.cpp b/glslang/MachineIndependent/reflection.cpp
index 9ea48c45..144f85bd 100644
--- a/glslang/MachineIndependent/reflection.cpp
+++ b/glslang/MachineIndependent/reflection.cpp
@@ -33,7 +33,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#include "../Include/Common.h"
#include "reflection.h"
@@ -682,7 +682,7 @@ public:
}
// For a binary operation indexing into an aggregate, chase down the base of the aggregate.
- // Return 0 if the topology does not fit this situation.
+ // Return nullptr if the topology does not fit this situation.
TIntermSymbol* findBase(const TIntermBinary* node)
{
TIntermSymbol *base = node->getLeft()->getAsSymbolNode();
@@ -1271,4 +1271,4 @@ void TReflection::dump()
} // end namespace glslang
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/MachineIndependent/reflection.h b/glslang/MachineIndependent/reflection.h
index 5af4467c..bfd54526 100644
--- a/glslang/MachineIndependent/reflection.h
+++ b/glslang/MachineIndependent/reflection.h
@@ -33,7 +33,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#ifndef _REFLECTION_INCLUDED
#define _REFLECTION_INCLUDED
@@ -220,4 +220,4 @@ protected:
#endif // _REFLECTION_INCLUDED
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt
index 16eb939b..7ed71fbf 100644
--- a/glslang/OSDependent/Unix/CMakeLists.txt
+++ b/glslang/OSDependent/Unix/CMakeLists.txt
@@ -60,7 +60,7 @@ if(ENABLE_GLSLANG_INSTALL AND NOT BUILD_SHARED_LIBS)
message(WARNING \"Using `OSDependentTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::OSDependent)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(OSDependent ALIAS glslang::OSDependent)
diff --git a/glslang/OSDependent/Unix/ossource.cpp b/glslang/OSDependent/Unix/ossource.cpp
index b98df934..9a31a9aa 100644
--- a/glslang/OSDependent/Unix/ossource.cpp
+++ b/glslang/OSDependent/Unix/ossource.cpp
@@ -76,7 +76,7 @@ OS_TLSIndex OS_AllocTLSIndex()
//
// Create global pool key.
//
- if ((pthread_key_create(&pPoolIndex, NULL)) != 0) {
+ if ((pthread_key_create(&pPoolIndex, nullptr)) != 0) {
assert(0 && "OS_AllocTLSIndex(): Unable to allocate Thread Local Storage");
return OS_INVALID_TLS_INDEX;
}
diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt
index 6048bb87..67976da8 100644
--- a/glslang/OSDependent/Windows/CMakeLists.txt
+++ b/glslang/OSDependent/Windows/CMakeLists.txt
@@ -55,7 +55,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `OSDependentTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::OSDependent)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(OSDependent ALIAS glslang::OSDependent)
diff --git a/glslang/OSDependent/Windows/ossource.cpp b/glslang/OSDependent/Windows/ossource.cpp
index 870840c5..fa372a2c 100644
--- a/glslang/OSDependent/Windows/ossource.cpp
+++ b/glslang/OSDependent/Windows/ossource.cpp
@@ -113,7 +113,7 @@ HANDLE GlobalLock;
void InitGlobalLock()
{
- GlobalLock = CreateMutex(0, false, 0);
+ GlobalLock = CreateMutex(nullptr, false, nullptr);
}
void GetGlobalLock()
@@ -128,7 +128,7 @@ void ReleaseGlobalLock()
unsigned int __stdcall EnterGenericThread (void* entry)
{
- return ((TThreadEntrypoint)entry)(0);
+ return ((TThreadEntrypoint)entry)(nullptr);
}
//#define DUMP_COUNTERS
diff --git a/glslang/OSDependent/osinclude.h b/glslang/OSDependent/osinclude.h
index fcfeff2c..7eaa1134 100644
--- a/glslang/OSDependent/osinclude.h
+++ b/glslang/OSDependent/osinclude.h
@@ -41,7 +41,7 @@ namespace glslang {
// Thread Local Storage Operations
//
typedef void* OS_TLSIndex;
-#define OS_INVALID_TLS_INDEX ((void*)0)
+#define OS_INVALID_TLS_INDEX nullptr
OS_TLSIndex OS_AllocTLSIndex();
bool OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue);
diff --git a/StandAlone/ResourceLimits.h b/glslang/Public/ResourceLimits.h
index 736248eb..f70be817 100644
--- a/StandAlone/ResourceLimits.h
+++ b/glslang/Public/ResourceLimits.h
@@ -37,14 +37,16 @@
#include <string>
-#include "../glslang/Include/ResourceLimits.h"
+#include "../Include/ResourceLimits.h"
-namespace glslang {
+// Return pointer to user-writable Resource to pass through API in
+// future-proof way.
+extern TBuiltInResource* GetResources();
// These are the default resources for TBuiltInResources, used for both
// - parsing this string for the case where the user didn't supply one,
// - dumping out a template for user construction of a config file.
-extern const TBuiltInResource DefaultTBuiltInResource;
+extern const TBuiltInResource* GetDefaultResources();
// Returns the DefaultTBuiltInResource as a human-readable string.
std::string GetDefaultTBuiltInResourceString();
@@ -52,6 +54,4 @@ std::string GetDefaultTBuiltInResourceString();
// Decodes the resource limits from |config| to |resources|.
void DecodeResourceLimits(TBuiltInResource* resources, char* config);
-} // end namespace glslang
-
#endif // _STAND_ALONE_RESOURCE_LIMITS_INCLUDED_
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index 78dd323a..90a5302a 100644
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -728,7 +728,7 @@ private:
TShader& operator=(TShader&);
};
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
//
// A reflection database and its interface, consistent with the OpenGL API reflection queries.
@@ -846,7 +846,7 @@ public:
virtual void addStage(EShLanguage stage, TIntermediate& stageIntermediate) = 0;
};
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
// Make one TProgram per set of shaders that will get linked together. Add all
// the shaders that are to be linked together. After calling shader.parse()
@@ -867,7 +867,7 @@ public:
TIntermediate* getIntermediate(EShLanguage stage) const { return intermediate[stage]; }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Reflection Interface
@@ -961,7 +961,7 @@ public:
// If resolver is not provided it uses the previous approach
// and respects auto assignment and offsets.
GLSLANG_EXPORT bool mapIO(TIoMapResolver* pResolver = nullptr, TIoMapper* pIoMapper = nullptr);
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
protected:
GLSLANG_EXPORT bool linkStage(EShLanguage, EShMessages);
@@ -972,7 +972,7 @@ protected:
TIntermediate* intermediate[EShLangCount];
bool newedIntermediate[EShLangCount]; // track which intermediate were "new" versus reusing a singleton unit in a stage
TInfoSink* infoSink;
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
TReflection* reflection;
#endif
bool linked;
diff --git a/StandAlone/resource_limits_c.h b/glslang/Public/resource_limits_c.h
index 108fd5e2..05aa8eb0 100644
--- a/StandAlone/resource_limits_c.h
+++ b/glslang/Public/resource_limits_c.h
@@ -29,12 +29,15 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef _STAND_ALONE_RESOURCE_LIMITS_C_INCLUDED_
#define _STAND_ALONE_RESOURCE_LIMITS_C_INCLUDED_
-#include "../glslang/Include/glslang_c_interface.h"
+#include "../Include/glslang_c_interface.h"
#ifdef __cplusplus
extern "C" {
#endif
+// Returns a struct that can be use to create custom resource values.
+glslang_resource_t* glslang_resource(void);
+
// These are the default resources for TBuiltInResources, used for both
// - parsing this string for the case where the user didn't supply one,
// - dumping out a template for user construction of a config file.
diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp
index 1d975464..12e0137d 100644
--- a/gtests/AST.FromFile.cpp
+++ b/gtests/AST.FromFile.cpp
@@ -211,6 +211,7 @@ INSTANTIATE_TEST_SUITE_P(
"runtimeArray.vert",
"simpleFunctionCall.frag",
"stringToDouble.vert",
+ "struct.error.frag",
"structAssignment.frag",
"structDeref.frag",
"structure.frag",
@@ -291,6 +292,7 @@ INSTANTIATE_TEST_SUITE_P(
"GL_EXT_shader_integer_mix.vert",
"GL_ARB_draw_instanced.vert",
"GL_ARB_fragment_coord_conventions.vert",
+ "GL_ARB_bindless_texture.frag",
"BestMatchFunction.vert",
"EndStreamPrimitive.geom",
"floatBitsToInt.vert",
diff --git a/gtests/BuiltInResource.FromFile.cpp b/gtests/BuiltInResource.FromFile.cpp
index da81fe98..eeea5118 100644
--- a/gtests/BuiltInResource.FromFile.cpp
+++ b/gtests/BuiltInResource.FromFile.cpp
@@ -36,7 +36,7 @@
#include <gtest/gtest.h>
-#include "StandAlone/ResourceLimits.h"
+#include "glslang/Public/ResourceLimits.h"
#include "TestFixture.h"
namespace glslangtest {
@@ -49,9 +49,19 @@ TEST_F(DefaultResourceTest, FromFile)
const std::string path = GlobalTestSettings.testRoot + "/baseResults/test.conf";
std::string expectedConfig;
tryLoadFile(path, "expected resource limit", &expectedConfig);
- const std::string realConfig = glslang::GetDefaultTBuiltInResourceString();
+ const std::string realConfig = GetDefaultTBuiltInResourceString();
ASSERT_EQ(expectedConfig, realConfig);
}
+TEST_F(DefaultResourceTest, UnrecognizedLimit)
+{
+ const std::string defaultConfig = GetDefaultTBuiltInResourceString();
+ testing::internal::CaptureStdout();
+ TBuiltInResource resources;
+ DecodeResourceLimits(&resources, const_cast<char*>(defaultConfig.c_str()));
+ std::string output = testing::internal::GetCapturedStdout();
+ ASSERT_EQ(output.find("unrecognized limit"), std::string::npos);
+}
+
} // anonymous namespace
} // namespace glslangtest
diff --git a/gtests/CMakeLists.txt b/gtests/CMakeLists.txt
index 8dff7ede..203812d8 100644
--- a/gtests/CMakeLists.txt
+++ b/gtests/CMakeLists.txt
@@ -76,7 +76,7 @@ if(BUILD_TESTING)
message(WARNING \"Using `glslangtestsTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::glslangtests)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(glslangtests ALIAS glslang::glslangtests)
diff --git a/gtests/Config.FromFile.cpp b/gtests/Config.FromFile.cpp
index dd18c13a..05107e78 100644
--- a/gtests/Config.FromFile.cpp
+++ b/gtests/Config.FromFile.cpp
@@ -32,7 +32,7 @@
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
-#include "StandAlone/ResourceLimits.h"
+#include "glslang/Public/ResourceLimits.h"
#include "TestFixture.h"
namespace glslangtest {
@@ -65,7 +65,7 @@ TEST_P(ConfigTest, FromFile)
char* configChars = new char[len + 1];
memcpy(configChars, configContents.data(), len);
configChars[len] = 0;
- glslang::DecodeResourceLimits(&resources, configChars);
+ DecodeResourceLimits(&resources, configChars);
delete[] configChars;
}
diff --git a/gtests/Link.FromFile.Vk.cpp b/gtests/Link.FromFile.Vk.cpp
index 4db71c2c..6015c331 100644
--- a/gtests/Link.FromFile.Vk.cpp
+++ b/gtests/Link.FromFile.Vk.cpp
@@ -75,7 +75,7 @@ TEST_P(LinkTestVulkan, FromFile)
result.linkingOutput = program.getInfoLog();
result.linkingError = program.getInfoDebugLog();
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (success)
program.mapIO();
#endif
diff --git a/gtests/Link.FromFile.cpp b/gtests/Link.FromFile.cpp
index 9e029fc7..3b769bbb 100644
--- a/gtests/Link.FromFile.cpp
+++ b/gtests/Link.FromFile.cpp
@@ -90,6 +90,9 @@ INSTANTIATE_TEST_SUITE_P(
Glsl, LinkTest,
::testing::ValuesIn(std::vector<std::vector<std::string>>({
{"mains1.frag", "mains2.frag", "noMain1.geom", "noMain2.geom"},
+ {"implicitArraySize.vert", "implicitArraySize.frag"},
+ {"implicitArraySizeBuiltin.vert", "implicitArraySizeBuiltin.geom"},
+ {"implicitArraySize1.geom", "implicitArraySize2.geom"},
{"noMain.vert", "mains.frag"},
{"link1.frag", "link2.frag", "link3.frag"},
{"recurse1.vert", "recurse1.frag", "recurse2.frag"},
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index 93e364d9..fafd33cf 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -493,6 +493,8 @@ INSTANTIATE_TEST_SUITE_P(
"spv.samplerlessTextureFunctions.frag",
"spv.smBuiltins.vert",
"spv.smBuiltins.frag",
+ "spv.ARMCoreBuiltIns.vert",
+ "spv.ARMCoreBuiltIns.frag",
"spv.builtin.PrimitiveShadingRateEXT.vert",
"spv.builtin.ShadingRateEXT.frag",
"spv.atomicAdd.bufferReference.comp",
@@ -650,6 +652,12 @@ INSTANTIATE_TEST_SUITE_P(
"spv.atomiAddEXT.task",
"spv.460.subgroupEXT.task",
"spv.460.subgroupEXT.mesh",
+
+ // SPV_NV_shader_execution_reorder
+
+ "spv.nv.hitobject-allops.rgen",
+ "spv.nv.hitobject-allops.rchit",
+ "spv.nv.hitobject-allops.rmiss",
})),
FileNameAsCustomTestSuffix
);
@@ -660,6 +668,7 @@ INSTANTIATE_TEST_SUITE_P(
::testing::ValuesIn(std::vector<std::string>({
"spv.1.6.conditionalDiscard.frag",
"spv.1.6.helperInvocation.frag",
+ "spv.1.6.helperInvocation.memmodel.frag",
"spv.1.6.specConstant.comp",
"spv.1.6.samplerBuffer.frag",
"spv.1.6.separate.frag",
@@ -849,7 +858,8 @@ INSTANTIATE_TEST_SUITE_P(
"spv.debuginfo.glsl.comp",
"spv.debuginfo.glsl.geom",
"spv.debuginfo.glsl.tesc",
- "spv.debuginfo.glsl.tese"
+ "spv.debuginfo.glsl.tese",
+ "spv.debuginfo.const_params.glsl.comp"
})),
FileNameAsCustomTestSuffix
);
diff --git a/gtests/TestFixture.h b/gtests/TestFixture.h
index d087d6dd..67783c0c 100644
--- a/gtests/TestFixture.h
+++ b/gtests/TestFixture.h
@@ -48,7 +48,7 @@
#include "SPIRV/disassemble.h"
#include "SPIRV/doc.h"
#include "SPIRV/SPVRemapper.h"
-#include "StandAlone/ResourceLimits.h"
+#include "glslang/Public/ResourceLimits.h"
#include "glslang/Public/ShaderLang.h"
#include "Initializer.h"
@@ -199,7 +199,7 @@ public:
shader->setStringsWithLengths(&shaderStrings, &shaderLengths, 1);
if (!entryPointName.empty()) shader->setEntryPoint(entryPointName.c_str());
return shader->parse(
- (resources ? resources : &glslang::DefaultTBuiltInResource),
+ (resources ? resources : GetDefaultResources()),
defaultVersion, isForwardCompatible, controls);
}
@@ -254,7 +254,7 @@ public:
glslang::TProgram program;
program.addShader(&shader);
success &= program.link(controls);
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (success)
program.mapIO();
#endif
@@ -318,7 +318,7 @@ public:
program.addShader(&shader);
success &= program.link(controls);
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (success)
program.mapIO();
#endif
@@ -363,7 +363,7 @@ public:
glslang::TProgram program;
program.addShader(&shader);
success &= program.link(controls);
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (success)
program.mapIO();
#endif
@@ -640,7 +640,7 @@ public:
std::string ppShader;
glslang::TShader::ForbidIncluder includer;
const bool success = shader.preprocess(
- &glslang::DefaultTBuiltInResource, defaultVersion, defaultProfile,
+ GetDefaultResources(), defaultVersion, defaultProfile,
forceVersionProfile, isForwardCompatible, (EShMessages)(EShMsgOnlyPreprocessor | EShMsgCascadingErrors),
&ppShader, includer);
diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt
index b34df3ae..a4adb607 100644
--- a/hlsl/CMakeLists.txt
+++ b/hlsl/CMakeLists.txt
@@ -52,7 +52,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `HLSLTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::HLSL)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(HLSL ALIAS glslang::HLSL)
diff --git a/known_good.json b/known_good.json
index 1d8d3713..41ff0dd2 100644
--- a/known_good.json
+++ b/known_good.json
@@ -5,14 +5,14 @@
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Tools",
"subdir" : "External/spirv-tools",
- "commit" : "59cf5b1346d8b029add67a919f801c29ea13cc49"
+ "commit" : "40f5bf59c6acb4754a0bffd3c53a715732883a12"
},
{
"name" : "spirv-tools/external/spirv-headers",
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Headers",
"subdir" : "External/spirv-tools/external/spirv-headers",
- "commit" : "87d5b782bec60822aa878941e6b13c0a9a954c9b"
+ "commit" : "1d31a100405cf8783ca7a31e31cdd727c9fc54c3"
}
]
}