Updates for final Vulkan ray tracing extensions (#2466)
* Fix traceRay/executeCallable to have id instead of constant.
Update to final (non-provisional) SPIR-V capabilities
(includes review feedback)
- Change visibilty of findLinkerObjects.
See merge request GLSL/glslang!78
* Add support for OpConvertUToAccelerationStructureKHR.
GLSL : https://gitlab.khronos.org/GLSL/GLSL/-/merge_requests/60
SPV : https://gitlab.khronos.org/spirv/spirv-extensions/-/merge_requests/182
See merge request GLSL/glslang!77
* Add volatile qualifier to certain builtins for ray tracing.
See merge request GLSL/glslang!81
* make gl_RayTmaxEXT volatile in intersection shader
Vulkan Issue #2268
* Add testing for layouts on SBT
vulkan/vulkan#2230
- no layout specified should be same as std430
- explicitly test std140, std430, scalar layouts
See merge request GLSL/glslang!86
* Support for new opcodes OpIgnoreIntersectionKHR and OpTerminateRayKHR
vulkan/vulkan#2374
Add support for ignoreIntersectionEXT and terminateRayEXT as block
terminator statements.
See merge request GLSL/glslang!87
* Fix code-generation issues with global ray query variables
See merge request GLSL/glslang!88
* update dependencies for spirv-headers and tools
And update mesh shader results
* Fix indeterminate argument ordering
Authored-by: David Neto <dneto@google.com>
Co-authored-by: Ashwin Lele (NVIDIA Corporation) <alele@nvidia.com>
Co-authored-by: Neslisah <Neslisah.Torosdagli@amd.com>
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index e0b5a19..18ef64f 100644
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -190,6 +190,7 @@
bool originalParam(glslang::TStorageQualifier, const glslang::TType&, bool implicitThisParam);
void makeFunctions(const glslang::TIntermSequence&);
void makeGlobalInitializers(const glslang::TIntermSequence&);
+ void collectRayTracingLinkerObjects();
void visitFunctions(const glslang::TIntermSequence&);
void handleFunctionEntry(const glslang::TIntermAggregate* node);
void translateArguments(const glslang::TIntermAggregate& node, std::vector<spv::Id>& arguments,
@@ -273,6 +274,9 @@
// 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];
};
//
@@ -1232,7 +1236,7 @@
spv::StorageClass TGlslangToSpvTraverser::TranslateStorageClass(const glslang::TType& type)
{
if (type.getBasicType() == glslang::EbtRayQuery)
- return spv::StorageClassFunction;
+ return spv::StorageClassPrivate;
if (type.getQualifier().isPipeInput())
return spv::StorageClassInput;
if (type.getQualifier().isPipeOutput())
@@ -1501,7 +1505,7 @@
}
if (glslangIntermediate->getLayoutPrimitiveCulling()) {
- builder.addCapability(spv::CapabilityRayTraversalPrimitiveCullingProvisionalKHR);
+ builder.addCapability(spv::CapabilityRayTraversalPrimitiveCullingKHR);
}
unsigned int mode;
@@ -1668,7 +1672,7 @@
{
auto& extensions = glslangIntermediate->getRequestedExtensions();
if (extensions.find("GL_NV_ray_tracing") == extensions.end()) {
- builder.addCapability(spv::CapabilityRayTracingProvisionalKHR);
+ builder.addCapability(spv::CapabilityRayTracingKHR);
builder.addExtension("SPV_KHR_ray_tracing");
}
else {
@@ -2118,8 +2122,9 @@
// these require changing a 64-bit scaler -> a vector of 32-bit components
if (glslangType.isVector())
break;
- std::pair<spv::Id, spv::Id> ret(builder.makeVectorType(builder.makeUintType(32), 4),
- builder.makeUintType(64));
+ spv::Id ivec4_type = builder.makeVectorType(builder.makeUintType(32), 4);
+ spv::Id uint64_type = builder.makeUintType(64);
+ std::pair<spv::Id, spv::Id> ret(ivec4_type, uint64_type);
return ret;
}
// There are no SPIR-V builtins defined for these and map onto original non-transposed
@@ -2490,6 +2495,10 @@
// anything else gets there, so visit out of order, doing them all now.
makeGlobalInitializers(node->getAsAggregate()->getSequence());
+ //Pre process linker objects for ray tracing stages
+ if (glslangIntermediate->isRayTracingStage())
+ collectRayTracingLinkerObjects();
+
// Initializers are done, don't want to visit again, but functions and link objects need to be processed,
// so do them manually.
visitFunctions(node->getAsAggregate()->getSequence());
@@ -2799,10 +2808,12 @@
binOp = node->getOp();
break;
- case glslang::EOpIgnoreIntersection:
- case glslang::EOpTerminateRay:
- case glslang::EOpTrace:
- case glslang::EOpExecuteCallable:
+ case glslang::EOpIgnoreIntersectionNV:
+ case glslang::EOpTerminateRayNV:
+ case glslang::EOpTraceNV:
+ case glslang::EOpTraceKHR:
+ case glslang::EOpExecuteCallableNV:
+ case glslang::EOpExecuteCallableKHR:
case glslang::EOpWritePackedPrimitiveIndices4x8NV:
noReturnValue = true;
break;
@@ -2811,7 +2822,7 @@
case glslang::EOpRayQueryGenerateIntersection:
case glslang::EOpRayQueryConfirmIntersection:
builder.addExtension("SPV_KHR_ray_query");
- builder.addCapability(spv::CapabilityRayQueryProvisionalKHR);
+ builder.addCapability(spv::CapabilityRayQueryKHR);
noReturnValue = true;
break;
case glslang::EOpRayQueryProceed:
@@ -2834,7 +2845,7 @@
case glslang::EOpRayQueryGetIntersectionObjectToWorld:
case glslang::EOpRayQueryGetIntersectionWorldToObject:
builder.addExtension("SPV_KHR_ray_query");
- builder.addCapability(spv::CapabilityRayQueryProvisionalKHR);
+ builder.addCapability(spv::CapabilityRayQueryKHR);
break;
case glslang::EOpCooperativeMatrixLoad:
case glslang::EOpCooperativeMatrixStore:
@@ -3087,11 +3098,18 @@
)) {
bool cond = glslangOperands[arg]->getAsConstantUnion()->getConstArray()[0].getBConst();
operands.push_back(builder.makeIntConstant(cond ? 1 : 0));
- }
- else {
+ } else if ((arg == 10 && glslangOp == glslang::EOpTraceKHR) ||
+ (arg == 1 && glslangOp == glslang::EOpExecuteCallableKHR)) {
+ const int opdNum = glslangOp == glslang::EOpTraceKHR ? 10 : 1;
+ const int set = glslangOp == glslang::EOpTraceKHR ? 0 : 1;
+ const int location = glslangOperands[opdNum]->getAsConstantUnion()->getConstArray()[0].getUConst();
+ auto itNode = locationToSymbol[set].find(location);
+ visitSymbol(itNode->second);
+ spv::Id symId = getSymbolId(itNode->second);
+ operands.push_back(symId);
+ } else {
operands.push_back(accessChainLoad(glslangOperands[arg]->getAsTyped()->getType()));
- }
-
+ }
}
}
@@ -3494,11 +3512,11 @@
switch (node->getFlowOp()) {
case glslang::EOpKill:
- builder.makeDiscard();
+ builder.makeStatementTerminator(spv::OpKill, "post-discard");
break;
case glslang::EOpTerminateInvocation:
builder.addExtension(spv::E_SPV_KHR_terminate_invocation);
- builder.makeTerminateInvocation();
+ builder.makeStatementTerminator(spv::OpTerminateInvocation, "post-terminate-invocation");
break;
case glslang::EOpBreak:
if (breakForLoop.top())
@@ -3535,6 +3553,12 @@
builder.addExtension(spv::E_SPV_EXT_demote_to_helper_invocation);
builder.addCapability(spv::CapabilityDemoteToHelperInvocationEXT);
break;
+ case glslang::EOpTerminateRayKHR:
+ builder.makeStatementTerminator(spv::OpTerminateRayKHR, "post-terminateRayKHR");
+ break;
+ case glslang::EOpIgnoreIntersectionKHR:
+ builder.makeStatementTerminator(spv::OpIgnoreIntersectionKHR, "post-ignoreIntersectionKHR");
+ break;
#endif
default:
@@ -4629,7 +4653,39 @@
}
}
}
+// Walk over all linker objects to create a map for payload and callable data linker objects
+// and their location to be used during codegen for OpTraceKHR and OpExecuteCallableKHR
+// This is done here since it is possible that these linker objects are not be referenced in the AST
+void TGlslangToSpvTraverser::collectRayTracingLinkerObjects()
+{
+ glslang::TIntermAggregate* linkerObjects = glslangIntermediate->findLinkerObjects();
+ for (auto& objSeq : linkerObjects->getSequence()) {
+ auto objNode = objSeq->getAsSymbolNode();
+ if (objNode != nullptr) {
+ if (objNode->getQualifier().hasLocation()) {
+ unsigned int location = objNode->getQualifier().layoutLocation;
+ auto st = objNode->getQualifier().storage;
+ int set;
+ switch (st)
+ {
+ case glslang::EvqPayload:
+ case glslang::EvqPayloadIn:
+ set = 0;
+ break;
+ case glslang::EvqCallableData:
+ case glslang::EvqCallableDataIn:
+ set = 1;
+ break;
+ default:
+ set = -1;
+ }
+ if (set != -1)
+ locationToSymbol[set].insert(std::make_pair(location, objNode));
+ }
+ }
+ }
+}
// Process all the functions, while skipping initializers.
void TGlslangToSpvTraverser::visitFunctions(const glslang::TIntermSequence& glslFunctions)
{
@@ -6254,6 +6310,11 @@
case glslang::EOpConstructReference:
unaryOp = spv::OpBitcast;
break;
+
+ case glslang::EOpConvUint64ToAccStruct:
+ case glslang::EOpConvUvec2ToAccStruct:
+ unaryOp = spv::OpConvertUToAccelerationStructureKHR;
+ break;
#endif
case glslang::EOpCopyObject:
@@ -7840,10 +7901,16 @@
typeId = builder.makeBoolType();
opCode = spv::OpReportIntersectionKHR;
break;
- case glslang::EOpTrace:
+ case glslang::EOpTraceNV:
+ builder.createNoResultOp(spv::OpTraceNV, operands);
+ return 0;
+ case glslang::EOpTraceKHR:
builder.createNoResultOp(spv::OpTraceRayKHR, operands);
return 0;
- case glslang::EOpExecuteCallable:
+ case glslang::EOpExecuteCallableNV:
+ builder.createNoResultOp(spv::OpExecuteCallableNV, operands);
+ return 0;
+ case glslang::EOpExecuteCallableKHR:
builder.createNoResultOp(spv::OpExecuteCallableKHR, operands);
return 0;
@@ -8131,11 +8198,11 @@
spv::Id id = builder.createBuiltinCall(typeId, getExtBuiltins(spv::E_SPV_AMD_gcn_shader), spv::TimeAMD, args);
return builder.setPrecision(id, precision);
}
- case glslang::EOpIgnoreIntersection:
- builder.createNoResultOp(spv::OpIgnoreIntersectionKHR);
+ case glslang::EOpIgnoreIntersectionNV:
+ builder.createNoResultOp(spv::OpIgnoreIntersectionNV);
return 0;
- case glslang::EOpTerminateRay:
- builder.createNoResultOp(spv::OpTerminateRayKHR);
+ case glslang::EOpTerminateRayNV:
+ builder.createNoResultOp(spv::OpTerminateRayNV);
return 0;
case glslang::EOpRayQueryInitialize:
builder.createNoResultOp(spv::OpRayQueryInitializeKHR);
@@ -8263,7 +8330,8 @@
}
#ifndef GLSLANG_WEB
- if (symbol->getType().isImage()) {
+ // Subgroup builtins which have input storage class are volatile for ray tracing stages.
+ if (symbol->getType().isImage() || symbol->getQualifier().isPipeInput()) {
std::vector<spv::Decoration> memory;
TranslateMemoryDecoration(symbol->getType().getQualifier(), memory,
glslangIntermediate->usingVulkanMemoryModel());
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
index 390b18a..c8fbcc4 100644
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -621,13 +621,13 @@
Id Builder::makeRayQueryType()
{
Instruction *type;
- if (groupedTypes[OpTypeRayQueryProvisionalKHR].size() == 0) {
- type = new Instruction(getUniqueId(), NoType, OpTypeRayQueryProvisionalKHR);
- groupedTypes[OpTypeRayQueryProvisionalKHR].push_back(type);
+ if (groupedTypes[OpTypeRayQueryKHR].size() == 0) {
+ type = new Instruction(getUniqueId(), NoType, OpTypeRayQueryKHR);
+ groupedTypes[OpTypeRayQueryKHR].push_back(type);
constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
module.mapInstruction(type);
} else {
- type = groupedTypes[OpTypeRayQueryProvisionalKHR].back();
+ type = groupedTypes[OpTypeRayQueryKHR].back();
}
return type->getResultId();
@@ -1447,17 +1447,10 @@
}
// Comments in header
-void Builder::makeDiscard()
+void Builder::makeStatementTerminator(spv::Op opcode, const char *name)
{
- buildPoint->addInstruction(std::unique_ptr<Instruction>(new Instruction(OpKill)));
- createAndSetNoPredecessorBlock("post-discard");
-}
-
-// Comments in header
-void Builder::makeTerminateInvocation()
-{
- buildPoint->addInstruction(std::unique_ptr<Instruction>(new Instruction(OpTerminateInvocation)));
- createAndSetNoPredecessorBlock("post-terminate-invocation");
+ buildPoint->addInstruction(std::unique_ptr<Instruction>(new Instruction(opcode)));
+ createAndSetNoPredecessorBlock(name);
}
// Comments in header
diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h
index 63dddcb..911ea58 100644
--- a/SPIRV/SpvBuilder.h
+++ b/SPIRV/SpvBuilder.h
@@ -357,9 +357,9 @@
// Generate all the code needed to finish up a function.
void leaveFunction();
- // Create a discard or terminate-invocation.
- void makeDiscard();
- void makeTerminateInvocation();
+ // Create block terminator instruction for certain statements like
+ // discard, terminate-invocation, terminateRayEXT, or ignoreIntersectionEXT
+ void makeStatementTerminator(spv::Op opcode, const char *name);
// Create a global or function local or IO variable.
Id createVariable(Decoration precision, StorageClass, Id type, const char* name = nullptr,
diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp
index 3d08204..e6ad4c1 100644
--- a/SPIRV/doc.cpp
+++ b/SPIRV/doc.cpp
@@ -915,9 +915,9 @@
case CapabilityPerViewAttributesNV: return "PerViewAttributesNV";
case CapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV";
case CapabilityRayTracingNV: return "RayTracingNV";
- case CapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR";
- case CapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
- case CapabilityRayTraversalPrimitiveCullingProvisionalKHR: return "RayTraversalPrimitiveCullingProvisionalKHR";
+ case CapabilityRayTracingKHR: return "RayTracingKHR";
+ case CapabilityRayQueryKHR: return "RayQueryKHR";
+ case CapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
case CapabilityComputeDerivativeGroupQuadsNV: return "ComputeDerivativeGroupQuadsNV";
case CapabilityComputeDerivativeGroupLinearNV: return "ComputeDerivativeGroupLinearNV";
case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
@@ -1364,17 +1364,23 @@
case OpDecorateStringGOOGLE: return "OpDecorateStringGOOGLE";
case OpMemberDecorateStringGOOGLE: return "OpMemberDecorateStringGOOGLE";
+ case OpReportIntersectionKHR: return "OpReportIntersectionKHR";
+ case OpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV";
+ case OpIgnoreIntersectionKHR: return "OpIgnoreIntersectionKHR";
+ case OpTerminateRayNV: return "OpTerminateRayNV";
+ case OpTerminateRayKHR: return "OpTerminateRayKHR";
+ case OpTraceNV: return "OpTraceNV";
+ case OpTraceRayKHR: return "OpTraceRayKHR";
+ case OpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR";
+ case OpExecuteCallableNV: return "OpExecuteCallableNV";
+ case OpExecuteCallableKHR: return "OpExecuteCallableKHR";
+ case OpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR";
+
case OpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV";
- case OpReportIntersectionKHR: return "OpReportIntersectionKHR";
- case OpIgnoreIntersectionKHR: return "OpIgnoreIntersectionKHR";
- case OpTerminateRayKHR: return "OpTerminateRayKHR";
- case OpTraceRayKHR: return "OpTraceRayKHR";
- case OpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR";
- case OpExecuteCallableKHR: return "OpExecuteCallableKHR";
case OpImageSampleFootprintNV: return "OpImageSampleFootprintNV";
case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
- case OpTypeRayQueryProvisionalKHR: return "OpTypeRayQueryProvisionalKHR";
+ case OpTypeRayQueryKHR: return "OpTypeRayQueryProvisionalKHR";
case OpRayQueryInitializeKHR: return "OpRayQueryInitializeKHR";
case OpRayQueryTerminateKHR: return "OpRayQueryTerminateKHR";
case OpRayQueryGenerateIntersectionKHR: return "OpRayQueryGenerateIntersectionKHR";
@@ -2771,7 +2777,20 @@
InstructionDesc[OpTypeAccelerationStructureKHR].setResultAndType(true, false);
- InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'NV Acceleration Structure'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'Acceleration Structure'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'Ray Flags'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'Cull Mask'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'SBT Record Offset'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'SBT Record Stride'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'Miss Index'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'Ray Origin'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'Ray Direction'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpTraceNV].operands.push(OperandId, "'Payload'");
+ InstructionDesc[OpTraceNV].setResultAndType(false, false);
+
+ InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'Acceleration Structure'");
InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'Ray Flags'");
InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'Cull Mask'");
InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'SBT Record Offset'");
@@ -2787,17 +2806,28 @@
InstructionDesc[OpReportIntersectionKHR].operands.push(OperandId, "'Hit Parameter'");
InstructionDesc[OpReportIntersectionKHR].operands.push(OperandId, "'Hit Kind'");
+ InstructionDesc[OpIgnoreIntersectionNV].setResultAndType(false, false);
+
InstructionDesc[OpIgnoreIntersectionKHR].setResultAndType(false, false);
+ InstructionDesc[OpTerminateRayNV].setResultAndType(false, false);
+
InstructionDesc[OpTerminateRayKHR].setResultAndType(false, false);
+ InstructionDesc[OpExecuteCallableNV].operands.push(OperandId, "SBT Record Index");
+ InstructionDesc[OpExecuteCallableNV].operands.push(OperandId, "CallableData ID");
+ InstructionDesc[OpExecuteCallableNV].setResultAndType(false, false);
+
InstructionDesc[OpExecuteCallableKHR].operands.push(OperandId, "SBT Record Index");
- InstructionDesc[OpExecuteCallableKHR].operands.push(OperandId, "CallableData ID");
+ InstructionDesc[OpExecuteCallableKHR].operands.push(OperandId, "CallableData");
InstructionDesc[OpExecuteCallableKHR].setResultAndType(false, false);
+ InstructionDesc[OpConvertUToAccelerationStructureKHR].operands.push(OperandId, "Value");
+ InstructionDesc[OpConvertUToAccelerationStructureKHR].setResultAndType(true, true);
+
// Ray Query
InstructionDesc[OpTypeAccelerationStructureKHR].setResultAndType(true, false);
- InstructionDesc[OpTypeRayQueryProvisionalKHR].setResultAndType(true, false);
+ InstructionDesc[OpTypeRayQueryKHR].setResultAndType(true, false);
InstructionDesc[OpRayQueryInitializeKHR].operands.push(OperandId, "'RayQuery'");
InstructionDesc[OpRayQueryInitializeKHR].operands.push(OperandId, "'AccelerationS'");
diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp
index ef5670e..a5383de 100644
--- a/SPIRV/spirv.hpp
+++ b/SPIRV/spirv.hpp
@@ -50,11 +50,11 @@
typedef unsigned int Id;
#define SPV_VERSION 0x10500
-#define SPV_REVISION 3
+#define SPV_REVISION 4
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010500;
-static const unsigned int Revision = 3;
+static const unsigned int Revision = 4;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -899,7 +899,9 @@
CapabilityRoundingModeRTE = 4467,
CapabilityRoundingModeRTZ = 4468,
CapabilityRayQueryProvisionalKHR = 4471,
- CapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478,
+ CapabilityRayQueryKHR = 4472,
+ CapabilityRayTraversalPrimitiveCullingKHR = 4478,
+ CapabilityRayTracingKHR = 4479,
CapabilityFloat16ImageAMD = 5008,
CapabilityImageGatherBiasLodAMD = 5009,
CapabilityFragmentMaskAMD = 5010,
@@ -1398,7 +1400,12 @@
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
OpSubgroupReadInvocationKHR = 4432,
- OpTypeRayQueryProvisionalKHR = 4472,
+ OpTraceRayKHR = 4445,
+ OpExecuteCallableKHR = 4446,
+ OpConvertUToAccelerationStructureKHR = 4447,
+ OpIgnoreIntersectionKHR = 4448,
+ OpTerminateRayKHR = 4449,
+ OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
OpRayQueryGenerateIntersectionKHR = 4475,
@@ -1421,15 +1428,11 @@
OpWritePackedPrimitiveIndices4x8NV = 5299,
OpReportIntersectionKHR = 5334,
OpReportIntersectionNV = 5334,
- OpIgnoreIntersectionKHR = 5335,
OpIgnoreIntersectionNV = 5335,
- OpTerminateRayKHR = 5336,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
- OpTraceRayKHR = 5337,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
- OpExecuteCallableKHR = 5344,
OpExecuteCallableNV = 5344,
OpTypeCooperativeMatrixNV = 5358,
OpCooperativeMatrixLoadNV = 5359,
@@ -1849,7 +1852,6 @@
case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
case OpSwitch: *hasResult = false; *hasResultType = false; break;
case OpKill: *hasResult = false; *hasResultType = false; break;
- case OpTerminateInvocation: *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;
@@ -1970,7 +1972,12 @@
case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; 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 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;
diff --git a/Test/baseResults/glsl.460.subgroup.rcall.out b/Test/baseResults/glsl.460.subgroup.rcall.out
index 6bffdc9..2b2d89b 100644
--- a/Test/baseResults/glsl.460.subgroup.rcall.out
+++ b/Test/baseResults/glsl.460.subgroup.rcall.out
@@ -109,8 +109,8 @@
0:4 Function Parameters:
0:4 'f4' ( in 4-component vector of float)
0:? Sequence
-0:7 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:8 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:7 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:8 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:9 subgroupBarrier ( global void)
0:10 subgroupMemoryBarrier ( global void)
0:11 subgroupMemoryBarrierBuffer ( global void)
@@ -128,11 +128,11 @@
0:19 false (const bool)
0:20 subgroupAllEqual ( global bool)
0:20 'f4' ( in 4-component vector of float)
-0:22 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:23 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:24 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:25 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:26 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:22 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:23 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:24 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:25 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:26 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:27 subgroupBroadcast ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:27 Constant:
@@ -359,8 +359,8 @@
0:119 Function Definition: basic_works( ( global void)
0:119 Function Parameters:
0:121 Sequence
-0:121 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:122 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:121 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:122 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:123 subgroupBarrier ( global void)
0:124 subgroupMemoryBarrier ( global void)
0:125 subgroupMemoryBarrierBuffer ( global void)
@@ -370,11 +370,11 @@
0:131 Function Parameters:
0:131 'f4' ( in 4-component vector of float)
0:132 Sequence
-0:132 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:133 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:134 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:135 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:136 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:132 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:133 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:134 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:135 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:136 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:137 subgroupBroadcast ( global 4-component vector of float)
0:137 'f4' ( in 4-component vector of float)
0:137 Constant:
@@ -624,15 +624,15 @@
0:247 Sequence
0:247 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:248 'gl_SMCountNV' ( in uint SMCountNV)
-0:249 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:250 'gl_SMIDNV' ( in uint SMIDNV)
+0:249 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:250 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:257 Function Definition: sm_builtins( ( global void)
0:257 Function Parameters:
0:259 Sequence
0:259 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:260 'gl_SMCountNV' ( in uint SMCountNV)
-0:261 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:262 'gl_SMIDNV' ( in uint SMIDNV)
+0:261 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:262 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:? Linker Objects
0:? 'data0' (layout( location=0) callableDataNV 4-component vector of float)
0:? 'anon@0' (layout( location=1) callableDataInNV block{ callableDataInNV uint data1})
diff --git a/Test/baseResults/glsl.460.subgroup.rchit.out b/Test/baseResults/glsl.460.subgroup.rchit.out
index 1ea9e69..f5083e0 100644
--- a/Test/baseResults/glsl.460.subgroup.rchit.out
+++ b/Test/baseResults/glsl.460.subgroup.rchit.out
@@ -109,8 +109,8 @@
0:4 Function Parameters:
0:4 'f4' ( in 4-component vector of float)
0:? Sequence
-0:7 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:8 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:7 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:8 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:9 subgroupBarrier ( global void)
0:10 subgroupMemoryBarrier ( global void)
0:11 subgroupMemoryBarrierBuffer ( global void)
@@ -128,11 +128,11 @@
0:19 false (const bool)
0:20 subgroupAllEqual ( global bool)
0:20 'f4' ( in 4-component vector of float)
-0:22 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:23 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:24 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:25 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:26 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:22 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:23 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:24 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:25 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:26 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:27 subgroupBroadcast ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:27 Constant:
@@ -425,8 +425,8 @@
0:129 Function Definition: basic_works( ( global void)
0:129 Function Parameters:
0:131 Sequence
-0:131 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:132 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:131 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:132 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:133 subgroupBarrier ( global void)
0:134 subgroupMemoryBarrier ( global void)
0:135 subgroupMemoryBarrierBuffer ( global void)
@@ -436,11 +436,11 @@
0:141 Function Parameters:
0:141 'f4' ( in 4-component vector of float)
0:142 Sequence
-0:142 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:143 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:144 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:145 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:146 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:142 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:143 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:144 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:145 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:146 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:147 subgroupBroadcast ( global 4-component vector of float)
0:147 'f4' ( in 4-component vector of float)
0:147 Constant:
@@ -690,15 +690,15 @@
0:257 Sequence
0:257 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:258 'gl_SMCountNV' ( in uint SMCountNV)
-0:259 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:260 'gl_SMIDNV' ( in uint SMIDNV)
+0:259 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:260 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:267 Function Definition: sm_builtins( ( global void)
0:267 Function Parameters:
0:269 Sequence
0:269 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:270 'gl_SMCountNV' ( in uint SMCountNV)
-0:271 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:272 'gl_SMIDNV' ( in uint SMIDNV)
+0:271 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:272 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
diff --git a/Test/baseResults/glsl.460.subgroup.rgen.out b/Test/baseResults/glsl.460.subgroup.rgen.out
index dfe1e2b..56283bb 100644
--- a/Test/baseResults/glsl.460.subgroup.rgen.out
+++ b/Test/baseResults/glsl.460.subgroup.rgen.out
@@ -109,8 +109,8 @@
0:4 Function Parameters:
0:4 'f4' ( in 4-component vector of float)
0:? Sequence
-0:7 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:8 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:7 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:8 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:9 subgroupBarrier ( global void)
0:10 subgroupMemoryBarrier ( global void)
0:11 subgroupMemoryBarrierBuffer ( global void)
@@ -128,11 +128,11 @@
0:19 false (const bool)
0:20 subgroupAllEqual ( global bool)
0:20 'f4' ( in 4-component vector of float)
-0:22 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:23 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:24 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:25 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:26 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:22 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:23 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:24 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:25 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:26 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:27 subgroupBroadcast ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:27 Constant:
@@ -389,8 +389,8 @@
0:123 Function Definition: basic_works( ( global void)
0:123 Function Parameters:
0:125 Sequence
-0:125 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:126 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:125 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:126 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:127 subgroupBarrier ( global void)
0:128 subgroupMemoryBarrier ( global void)
0:129 subgroupMemoryBarrierBuffer ( global void)
@@ -400,11 +400,11 @@
0:135 Function Parameters:
0:135 'f4' ( in 4-component vector of float)
0:136 Sequence
-0:136 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:137 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:138 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:139 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:140 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:136 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:137 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:138 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:139 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:140 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:141 subgroupBroadcast ( global 4-component vector of float)
0:141 'f4' ( in 4-component vector of float)
0:141 Constant:
@@ -654,15 +654,15 @@
0:251 Sequence
0:251 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:252 'gl_SMCountNV' ( in uint SMCountNV)
-0:253 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:254 'gl_SMIDNV' ( in uint SMIDNV)
+0:253 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:254 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:261 Function Definition: sm_builtins( ( global void)
0:261 Function Parameters:
0:263 Sequence
0:263 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:264 'gl_SMCountNV' ( in uint SMCountNV)
-0:265 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:266 'gl_SMIDNV' ( in uint SMIDNV)
+0:265 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:266 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:? Linker Objects
0:? 'accNV0' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'accNV1' (layout( set=0 binding=1) uniform accelerationStructureNV)
diff --git a/Test/baseResults/glsl.460.subgroup.rint.out b/Test/baseResults/glsl.460.subgroup.rint.out
index 9915ecf..a7de7d3 100644
--- a/Test/baseResults/glsl.460.subgroup.rint.out
+++ b/Test/baseResults/glsl.460.subgroup.rint.out
@@ -109,8 +109,8 @@
0:5 Function Parameters:
0:5 'f4' ( in 4-component vector of float)
0:? Sequence
-0:8 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:9 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:8 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:9 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:10 subgroupBarrier ( global void)
0:11 subgroupMemoryBarrier ( global void)
0:12 subgroupMemoryBarrierBuffer ( global void)
@@ -128,11 +128,11 @@
0:20 false (const bool)
0:21 subgroupAllEqual ( global bool)
0:21 'f4' ( in 4-component vector of float)
-0:23 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:24 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:25 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:26 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:27 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:23 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:24 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:25 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:26 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:27 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:28 subgroupBroadcast ( global 4-component vector of float)
0:28 'f4' ( in 4-component vector of float)
0:28 Constant:
@@ -403,8 +403,8 @@
0:129 Function Definition: basic_works( ( global void)
0:129 Function Parameters:
0:131 Sequence
-0:131 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:132 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:131 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:132 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:133 subgroupBarrier ( global void)
0:134 subgroupMemoryBarrier ( global void)
0:135 subgroupMemoryBarrierBuffer ( global void)
@@ -414,11 +414,11 @@
0:141 Function Parameters:
0:141 'f4' ( in 4-component vector of float)
0:142 Sequence
-0:142 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:143 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:144 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:145 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:146 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:142 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:143 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:144 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:145 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:146 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:147 subgroupBroadcast ( global 4-component vector of float)
0:147 'f4' ( in 4-component vector of float)
0:147 Constant:
@@ -668,15 +668,15 @@
0:257 Sequence
0:257 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:258 'gl_SMCountNV' ( in uint SMCountNV)
-0:259 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:260 'gl_SMIDNV' ( in uint SMIDNV)
+0:259 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:260 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:267 Function Definition: sm_builtins( ( global void)
0:267 Function Parameters:
0:269 Sequence
0:269 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:270 'gl_SMCountNV' ( in uint SMCountNV)
-0:271 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:272 'gl_SMIDNV' ( in uint SMIDNV)
+0:271 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:272 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:? Linker Objects
0:? 'iAttr' ( hitAttributeNV 4-component vector of float)
diff --git a/Test/baseResults/glsl.460.subgroup.rmiss.out b/Test/baseResults/glsl.460.subgroup.rmiss.out
index ddf7d1b..865d88c 100644
--- a/Test/baseResults/glsl.460.subgroup.rmiss.out
+++ b/Test/baseResults/glsl.460.subgroup.rmiss.out
@@ -109,8 +109,8 @@
0:5 Function Parameters:
0:5 'f4' ( in 4-component vector of float)
0:? Sequence
-0:8 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:9 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:8 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:9 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:10 subgroupBarrier ( global void)
0:11 subgroupMemoryBarrier ( global void)
0:12 subgroupMemoryBarrierBuffer ( global void)
@@ -128,11 +128,11 @@
0:20 false (const bool)
0:21 subgroupAllEqual ( global bool)
0:21 'f4' ( in 4-component vector of float)
-0:23 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:24 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:25 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:26 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:27 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:23 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:24 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:25 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:26 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:27 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:28 subgroupBroadcast ( global 4-component vector of float)
0:28 'f4' ( in 4-component vector of float)
0:28 Constant:
@@ -397,8 +397,8 @@
0:123 Function Definition: basic_works( ( global void)
0:123 Function Parameters:
0:125 Sequence
-0:125 'gl_SubgroupSize' ( in uint SubgroupSize)
-0:126 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
+0:125 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
+0:126 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:127 subgroupBarrier ( global void)
0:128 subgroupMemoryBarrier ( global void)
0:129 subgroupMemoryBarrierBuffer ( global void)
@@ -408,11 +408,11 @@
0:135 Function Parameters:
0:135 'f4' ( in 4-component vector of float)
0:136 Sequence
-0:136 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
-0:137 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
-0:138 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
-0:139 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
-0:140 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
+0:136 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
+0:137 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
+0:138 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
+0:139 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
+0:140 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:141 subgroupBroadcast ( global 4-component vector of float)
0:141 'f4' ( in 4-component vector of float)
0:141 Constant:
@@ -662,15 +662,15 @@
0:251 Sequence
0:251 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:252 'gl_SMCountNV' ( in uint SMCountNV)
-0:253 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:254 'gl_SMIDNV' ( in uint SMIDNV)
+0:253 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:254 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:261 Function Definition: sm_builtins( ( global void)
0:261 Function Parameters:
0:263 Sequence
0:263 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:264 'gl_SMCountNV' ( in uint SMCountNV)
-0:265 'gl_WarpIDNV' ( in uint WarpIDNV)
-0:266 'gl_SMIDNV' ( in uint SMIDNV)
+0:265 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
+0:266 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
diff --git a/Test/baseResults/rayQuery-allOps.comp.out b/Test/baseResults/rayQuery-allOps.comp.out
index c0cc8aa..9c49e2e 100644
--- a/Test/baseResults/rayQuery-allOps.comp.out
+++ b/Test/baseResults/rayQuery-allOps.comp.out
@@ -4,8 +4,8 @@
// Id's are bound by 258
Capability Shader
- Capability RayQueryProvisionalKHR
- Capability RayTraversalPrimitiveCullingProvisionalKHR
+ Capability RayQueryKHR
+ Capability RayTraversalPrimitiveCullingKHR
Extension "SPV_KHR_ray_query"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
@@ -87,7 +87,8 @@
37: 18(int) Constant 3
38: 8(float) Constant 1176255488
45: TypeRayQueryProvisionalKHR
- 46: TypePointer Function 45
+ 46: TypePointer Private 45
+ 47(rayQuery): 46(ptr) Variable Private
48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48
50(rtas): 49(ptr) Variable UniformConstant
@@ -114,7 +115,6 @@
4(main): 2 Function None 3
5: Label
43(ray): 25(ptr) Variable Function
- 47(rayQuery): 46(ptr) Variable Function
69(candidateType): 68(ptr) Variable Function
78(_mat4x3): 77(ptr) Variable Function
83(_mat3x4): 82(ptr) Variable Function
diff --git a/Test/baseResults/rayQuery-allOps.frag.out b/Test/baseResults/rayQuery-allOps.frag.out
index 8182da3..cff8fb0 100644
--- a/Test/baseResults/rayQuery-allOps.frag.out
+++ b/Test/baseResults/rayQuery-allOps.frag.out
@@ -4,7 +4,7 @@
// Id's are bound by 257
Capability Shader
- Capability RayQueryProvisionalKHR
+ Capability RayQueryKHR
Extension "SPV_KHR_ray_query"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
@@ -86,7 +86,8 @@
37: 18(int) Constant 3
38: 8(float) Constant 1176255488
45: TypeRayQueryProvisionalKHR
- 46: TypePointer Function 45
+ 46: TypePointer Private 45
+ 47(rayQuery): 46(ptr) Variable Private
48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48
50(rtas): 49(ptr) Variable UniformConstant
@@ -112,7 +113,6 @@
4(main): 2 Function None 3
5: Label
43(ray): 25(ptr) Variable Function
- 47(rayQuery): 46(ptr) Variable Function
69(candidateType): 68(ptr) Variable Function
78(_mat4x3): 77(ptr) Variable Function
83(_mat3x4): 82(ptr) Variable Function
diff --git a/Test/baseResults/rayQuery-allOps.rgen.out b/Test/baseResults/rayQuery-allOps.rgen.out
index 01b8f1d..418dad1 100644
--- a/Test/baseResults/rayQuery-allOps.rgen.out
+++ b/Test/baseResults/rayQuery-allOps.rgen.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 257
- Capability RayQueryProvisionalKHR
+ Capability RayQueryKHR
Capability RayTracingNV
Extension "SPV_KHR_ray_query"
Extension "SPV_NV_ray_tracing"
@@ -86,7 +86,8 @@
37: 18(int) Constant 3
38: 8(float) Constant 1176255488
45: TypeRayQueryProvisionalKHR
- 46: TypePointer Function 45
+ 46: TypePointer Private 45
+ 47(rayQuery): 46(ptr) Variable Private
48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48
50(rtas): 49(ptr) Variable UniformConstant
@@ -112,7 +113,6 @@
4(main): 2 Function None 3
5: Label
43(ray): 25(ptr) Variable Function
- 47(rayQuery): 46(ptr) Variable Function
69(candidateType): 68(ptr) Variable Function
78(_mat4x3): 77(ptr) Variable Function
83(_mat3x4): 82(ptr) Variable Function
diff --git a/Test/baseResults/rayQuery-global.rgen.out b/Test/baseResults/rayQuery-global.rgen.out
new file mode 100644
index 0000000..637b752
--- /dev/null
+++ b/Test/baseResults/rayQuery-global.rgen.out
@@ -0,0 +1,76 @@
+rayQuery-global.rgen
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 44
+
+ Capability RayQueryKHR
+ Capability RayTracingKHR
+ Extension "SPV_KHR_ray_query"
+ Extension "SPV_KHR_ray_tracing"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint RayGenerationKHR 4 "main"
+ Source GLSL 460
+ SourceExtension "GL_EXT_ray_flags_primitive_culling"
+ SourceExtension "GL_EXT_ray_query"
+ Name 4 "main"
+ Name 10 "otherWrapper(rq1;"
+ Name 9 "rq"
+ Name 13 "wrapper(rq1;"
+ Name 12 "rq"
+ Name 17 "rqGlobal"
+ Name 22 "rq2"
+ Name 27 "rtas"
+ Name 40 "rq2"
+ Decorate 27(rtas) DescriptorSet 0
+ Decorate 27(rtas) Binding 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeRayQueryProvisionalKHR
+ 7: TypePointer Private 6
+ 8: TypeFunction 2 7(ptr)
+ 15: TypeBool
+ 17(rqGlobal): 7(ptr) Variable Private
+ 22(rq2): 7(ptr) Variable Private
+ 25: TypeAccelerationStructureKHR
+ 26: TypePointer UniformConstant 25
+ 27(rtas): 26(ptr) Variable UniformConstant
+ 29: TypeInt 32 0
+ 30: 29(int) Constant 0
+ 31: 29(int) Constant 255
+ 32: TypeFloat 32
+ 33: TypeVector 32(float) 3
+ 34: 32(float) Constant 0
+ 35: 33(fvec3) ConstantComposite 34 34 34
+ 36: 32(float) Constant 1065353216
+ 37: 33(fvec3) ConstantComposite 36 34 34
+ 40(rq2): 7(ptr) Variable Private
+ 4(main): 2 Function None 3
+ 5: Label
+ 28: 25 Load 27(rtas)
+ RayQueryInitializeKHR 17(rqGlobal) 28 30 31 35 34 37 36
+ 38: 2 FunctionCall 13(wrapper(rq1;) 17(rqGlobal)
+ 39: 2 FunctionCall 10(otherWrapper(rq1;) 17(rqGlobal)
+ 41: 25 Load 27(rtas)
+ RayQueryInitializeKHR 40(rq2) 41 30 31 35 34 37 36
+ 42: 2 FunctionCall 13(wrapper(rq1;) 40(rq2)
+ 43: 2 FunctionCall 10(otherWrapper(rq1;) 40(rq2)
+ Return
+ FunctionEnd
+10(otherWrapper(rq1;): 2 Function None 8
+ 9(rq): 7(ptr) FunctionParameter
+ 11: Label
+ 16: 15(bool) RayQueryProceedKHR 9(rq)
+ 18: 15(bool) RayQueryProceedKHR 17(rqGlobal)
+ Return
+ FunctionEnd
+13(wrapper(rq1;): 2 Function None 8
+ 12(rq): 7(ptr) FunctionParameter
+ 14: Label
+ 19: 15(bool) RayQueryProceedKHR 12(rq)
+ 20: 15(bool) RayQueryProceedKHR 17(rqGlobal)
+ 21: 2 FunctionCall 10(otherWrapper(rq1;) 12(rq)
+ 23: 2 FunctionCall 10(otherWrapper(rq1;) 22(rq2)
+ 24: 2 FunctionCall 10(otherWrapper(rq1;) 17(rqGlobal)
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/rayQuery-initialize.rgen.out b/Test/baseResults/rayQuery-initialize.rgen.out
index f97287f..3b83333 100644
--- a/Test/baseResults/rayQuery-initialize.rgen.out
+++ b/Test/baseResults/rayQuery-initialize.rgen.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 103
- Capability RayQueryProvisionalKHR
+ Capability RayQueryKHR
Capability RayTracingNV
Extension "SPV_KHR_ray_query"
Extension "SPV_NV_ray_tracing"
@@ -56,7 +56,7 @@
6: TypeInt 32 0
7: TypeFunction 6(int)
10: TypeRayQueryProvisionalKHR
- 11: TypePointer Function 10
+ 11: TypePointer Private 10
12: TypeFloat 32
13: TypeVector 12(float) 3
14(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
@@ -88,12 +88,12 @@
75: TypePointer Uniform 74(Rays)
76: 75(ptr) Variable Uniform
78: TypePointer Uniform 72(Ray)
+ 89(rayQuery): 11(ptr) Variable Private
94: 6(int) Constant 32
4(main): 2 Function None 3
5: Label
69(index): 68(ptr) Variable Function
71(ray): 15(ptr) Variable Function
- 89(rayQuery): 11(ptr) Variable Function
90(param): 15(ptr) Variable Function
70: 6(int) FunctionCall 8(launchIndex()
Store 69(index) 70
diff --git a/Test/baseResults/rayQuery-no-cse.rgen.out b/Test/baseResults/rayQuery-no-cse.rgen.out
index 23c8b51..2f46f07 100644
--- a/Test/baseResults/rayQuery-no-cse.rgen.out
+++ b/Test/baseResults/rayQuery-no-cse.rgen.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 107
- Capability RayQueryProvisionalKHR
+ Capability RayQueryKHR
Capability RayTracingNV
Extension "SPV_KHR_ray_query"
Extension "SPV_NV_ray_tracing"
@@ -58,7 +58,7 @@
6: TypeInt 32 0
7: TypeFunction 6(int)
10: TypeRayQueryProvisionalKHR
- 11: TypePointer Function 10
+ 11: TypePointer Private 10
12: TypeFloat 32
13: TypeVector 12(float) 3
14(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
@@ -90,14 +90,14 @@
75: TypePointer Uniform 74(Rays)
76: 75(ptr) Variable Uniform
78: TypePointer Uniform 72(Ray)
+ 89(rayQuery1): 11(ptr) Variable Private
94: 6(int) Constant 32
+ 103(rayQuery2): 11(ptr) Variable Private
4(main): 2 Function None 3
5: Label
69(index): 68(ptr) Variable Function
71(ray): 15(ptr) Variable Function
- 89(rayQuery1): 11(ptr) Variable Function
90(param): 15(ptr) Variable Function
- 103(rayQuery2): 11(ptr) Variable Function
104(param): 15(ptr) Variable Function
70: 6(int) FunctionCall 8(launchIndex()
Store 69(index) 70
diff --git a/Test/baseResults/rayQuery.rgen.out b/Test/baseResults/rayQuery.rgen.out
index bf142a3..3680973 100644
--- a/Test/baseResults/rayQuery.rgen.out
+++ b/Test/baseResults/rayQuery.rgen.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 44
- Capability RayQueryProvisionalKHR
+ Capability RayQueryKHR
Capability RayTracingNV
Extension "SPV_KHR_ray_query"
Extension "SPV_NV_ray_tracing"
@@ -40,7 +40,8 @@
13: 10(float) Constant 0
15: 10(float) Constant 1148846080
16: TypeRayQueryProvisionalKHR
- 17: TypePointer Function 16
+ 17: TypePointer Private 16
+18(localRayQuery): 17(ptr) Variable Private
19: TypeAccelerationStructureKHR
20: TypePointer UniformConstant 19
21(acc0): 20(ptr) Variable UniformConstant
@@ -59,7 +60,6 @@
8(rayFlags): 7(ptr) Variable Function
12(tMin): 11(ptr) Variable Function
14(tMax): 11(ptr) Variable Function
-18(localRayQuery): 17(ptr) Variable Function
Store 8(rayFlags) 9
Store 12(tMin) 13
Store 14(tMax) 15
diff --git a/Test/baseResults/spv.AnyHitShader.rahit.out b/Test/baseResults/spv.AnyHitShader.rahit.out
index 755d60e..f33a1bd 100644
--- a/Test/baseResults/spv.AnyHitShader.rahit.out
+++ b/Test/baseResults/spv.AnyHitShader.rahit.out
@@ -153,10 +153,10 @@
SelectionMerge 79 None
BranchConditional 77 78 80
78: Label
- IgnoreIntersectionKHR
+ IgnoreIntersectionNV
Branch 79
80: Label
- TerminateRayKHR
+ TerminateRayNV
Branch 79
79: Label
Return
diff --git a/Test/baseResults/spv.ClosestHitShader.rchit.out b/Test/baseResults/spv.ClosestHitShader.rchit.out
index 63039dd..4a8e65d 100644
--- a/Test/baseResults/spv.ClosestHitShader.rchit.out
+++ b/Test/baseResults/spv.ClosestHitShader.rchit.out
@@ -164,6 +164,6 @@
68: 60 Load 67(gl_WorldToObjectNV)
Store 66(v14) 68
72: 69 Load 71(accNV)
- TraceRayKHR 72 73 74 75 76 73 78 77 80 81 82
+ TraceNV 72 73 74 75 76 73 78 77 80 81 82
Return
FunctionEnd
diff --git a/Test/baseResults/spv.MissShader.rmiss.out b/Test/baseResults/spv.MissShader.rmiss.out
index d0eeb01..563e53f 100644
--- a/Test/baseResults/spv.MissShader.rmiss.out
+++ b/Test/baseResults/spv.MissShader.rmiss.out
@@ -108,6 +108,6 @@
39: 16(float) Load 38(gl_RayTmaxNV)
Store 37(v7) 39
43: 40 Load 42(accNV)
- TraceRayKHR 43 44 45 46 47 44 49 48 51 52 54
+ TraceNV 43 44 45 46 47 44 49 48 51 52 54
Return
FunctionEnd
diff --git a/Test/baseResults/spv.RayCallable.rcall.out b/Test/baseResults/spv.RayCallable.rcall.out
index f59d36f..75698fc 100644
--- a/Test/baseResults/spv.RayCallable.rcall.out
+++ b/Test/baseResults/spv.RayCallable.rcall.out
@@ -55,6 +55,6 @@
Store 13(size) 15
23: 22(ptr) AccessChain 18 20
Store 23 21
- ExecuteCallableKHR 24 25
+ ExecuteCallableNV 24 25
Return
FunctionEnd
diff --git a/Test/baseResults/spv.RayConstants.rgen.out b/Test/baseResults/spv.RayConstants.rgen.out
index c4085fe..962aeb7 100644
--- a/Test/baseResults/spv.RayConstants.rgen.out
+++ b/Test/baseResults/spv.RayConstants.rgen.out
@@ -41,6 +41,6 @@
4(main): 2 Function None 3
5: Label
9: 6 Load 8(accNV)
- TraceRayKHR 9 11 12 13 13 12 17 18 20 21 23
+ TraceNV 9 11 12 13 13 12 17 18 20 21 23
Return
FunctionEnd
diff --git a/Test/baseResults/spv.RayGenShader.rgen.out b/Test/baseResults/spv.RayGenShader.rgen.out
index 363b3dd..f8f3fd6 100644
--- a/Test/baseResults/spv.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.RayGenShader.rgen.out
@@ -92,6 +92,6 @@
44: 36(fvec3) Load 43
47: 42(ptr) AccessChain 39 46
48: 36(fvec3) Load 47
- TraceRayKHR 30 31 32 33 34 12 44 45 48 49 41
+ TraceNV 30 31 32 33 34 12 44 45 48 49 41
Return
FunctionEnd
diff --git a/Test/baseResults/spv.RayGenShader11.rgen.out b/Test/baseResults/spv.RayGenShader11.rgen.out
index 195071f..f6b79c5 100644
--- a/Test/baseResults/spv.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.RayGenShader11.rgen.out
@@ -88,6 +88,6 @@
44: 36(fvec3) Load 43
47: 42(ptr) AccessChain 39 46
48: 36(fvec3) Load 47
- TraceRayKHR 30 31 32 33 34 12 44 45 48 49 41
+ TraceNV 30 31 32 33 34 12 44 45 48 49 41
Return
FunctionEnd
diff --git a/Test/baseResults/spv.RayGenShaderArray.rgen.out b/Test/baseResults/spv.RayGenShaderArray.rgen.out
index fef54aa..63a04b3 100644
--- a/Test/baseResults/spv.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.RayGenShaderArray.rgen.out
@@ -111,7 +111,7 @@
51: 32(fvec3) Load 50
54: 49(ptr) AccessChain 36 53
55: 32(fvec3) Load 54
- TraceRayKHR 43 44 45 46 47 12 51 52 55 56 48
+ TraceNV 43 44 45 46 47 12 51 52 55 56 48
61: 38(ptr) AccessChain 36 37
62: 33(int) Load 61
63: 41(ptr) AccessChain 60(accNV1) 62
@@ -124,7 +124,7 @@
70: 32(fvec3) Load 69
71: 49(ptr) AccessChain 36 53
72: 32(fvec3) Load 71
- TraceRayKHR 64 65 66 67 68 12 70 52 72 56 48
+ TraceNV 64 65 66 67 68 12 70 52 72 56 48
73: 38(ptr) AccessChain 36 37
74: 33(int) Load 73
75: 33(int) CopyObject 74
@@ -138,6 +138,6 @@
83: 32(fvec3) Load 82
84: 49(ptr) AccessChain 36 53
85: 32(fvec3) Load 84
- TraceRayKHR 77 78 79 80 81 12 83 52 85 56 48
+ TraceNV 77 78 79 80 81 12 83 52 85 56 48
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.AnyHitShader.rahit.out b/Test/baseResults/spv.ext.AnyHitShader.rahit.out
index 39e43a7..133fd63 100644
--- a/Test/baseResults/spv.ext.AnyHitShader.rahit.out
+++ b/Test/baseResults/spv.ext.AnyHitShader.rahit.out
@@ -1,15 +1,17 @@
spv.ext.AnyHitShader.rahit
// Module Version 10400
// Generated by (magic number): 8000a
-// Id's are bound by 94
+// Id's are bound by 107
- Capability RayTracingProvisionalKHR
+ Capability GroupNonUniform
+ Capability RayTracingKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint AnyHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 70 76 80 84
+ EntryPoint AnyHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 70 76 80 84 98
Source GLSL 460
SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_KHR_shader_subgroup_basic"
Name 4 "main"
Name 9 "v0"
Name 11 "gl_LaunchIDEXT"
@@ -48,6 +50,7 @@
Name 79 "v17"
Name 80 "gl_WorldToObject3x4EXT"
Name 84 "incomingPayload"
+ Name 98 "gl_SubgroupSize"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
@@ -67,6 +70,9 @@
Decorate 76(gl_ObjectToWorld3x4EXT) BuiltIn ObjectToWorldKHR
Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR
Decorate 84(incomingPayload) Location 1
+ Decorate 98(gl_SubgroupSize) RelaxedPrecision
+ Decorate 98(gl_SubgroupSize) BuiltIn SubgroupSize
+ Decorate 99 RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -114,6 +120,9 @@
86: 72(fvec4) ConstantComposite 85 85 85 85
88: 16(int) Constant 1
89: TypeBool
+ 94: 6(int) Constant 0
+98(gl_SubgroupSize): 57(ptr) Variable Input
+ 101: TypePointer IncomingRayPayloadKHR 28(float)
4(main): 2 Function None 3
5: Label
9(v0): 8(ptr) Variable Function
@@ -176,13 +185,16 @@
87: 16(int) Load 18(v2)
90: 89(bool) IEqual 87 88
SelectionMerge 92 None
- BranchConditional 90 91 93
+ BranchConditional 90 91 92
91: Label
IgnoreIntersectionKHR
- Branch 92
- 93: Label
- TerminateRayKHR
- Branch 92
92: Label
- Return
+ 99: 6(int) Load 98(gl_SubgroupSize)
+ 100: 28(float) ConvertUToF 99
+ 102: 101(ptr) AccessChain 84(incomingPayload) 94
+ 103: 28(float) Load 102
+ 104: 28(float) FAdd 103 100
+ 105: 101(ptr) AccessChain 84(incomingPayload) 94
+ Store 105 104
+ TerminateRayKHR
FunctionEnd
diff --git a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
index 7077ea4..559ba00 100644
--- a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
+++ b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 101
- Capability RayTracingProvisionalKHR
+ Capability RayTracingKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
@@ -48,8 +48,8 @@
Name 79 "v17"
Name 80 "gl_WorldToObject3x4EXT"
Name 85 "accEXT"
- Name 98 "localPayload"
- Name 100 "incomingPayload"
+ Name 98 "incomingPayload"
+ Name 100 "localPayload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
@@ -70,8 +70,8 @@
Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR
Decorate 85(accEXT) DescriptorSet 0
Decorate 85(accEXT) Binding 0
- Decorate 98(localPayload) Location 0
- Decorate 100(incomingPayload) Location 1
+ Decorate 98(incomingPayload) Location 1
+ Decorate 100(localPayload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -126,10 +126,10 @@
94: 29(fvec3) ConstantComposite 93 93 93
95: 28(float) Constant 1061158912
96: 16(int) Constant 1
- 97: TypePointer RayPayloadKHR 72(fvec4)
-98(localPayload): 97(ptr) Variable RayPayloadKHR
- 99: TypePointer IncomingRayPayloadKHR 72(fvec4)
-100(incomingPayload): 99(ptr) Variable IncomingRayPayloadKHR
+ 97: TypePointer IncomingRayPayloadKHR 72(fvec4)
+98(incomingPayload): 97(ptr) Variable IncomingRayPayloadKHR
+ 99: TypePointer RayPayloadKHR 72(fvec4)
+100(localPayload): 99(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
9(v0): 8(ptr) Variable Function
@@ -189,6 +189,6 @@
82: 73 Transpose 81
Store 79(v17) 82
86: 83 Load 85(accEXT)
- TraceRayKHR 86 87 88 89 90 87 92 91 94 95 96
+ TraceRayKHR 86 87 88 89 90 87 92 91 94 95 98(incomingPayload)
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.ClosestHitShader_Errors.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader_Errors.rchit.out
index 6c87d1c..9f945a2 100644
--- a/Test/baseResults/spv.ext.ClosestHitShader_Errors.rchit.out
+++ b/Test/baseResults/spv.ext.ClosestHitShader_Errors.rchit.out
@@ -1,10 +1,12 @@
spv.ext.ClosestHitShader_Errors.rchit
-ERROR: 0:8: 'assign' : l-value required "payload" (cannot modify hitAttributeNV in this stage)
-ERROR: 0:9: 'reportIntersectionEXT' : no matching overloaded function found
-ERROR: 0:10: 'terminateRayEXT' : no matching overloaded function found
-ERROR: 0:11: 'ignoreIntersectionEXT' : no matching overloaded function found
-ERROR: 0:12: 'gl_RayFlagsSkipAABBEXT' : required extension not requested: GL_EXT_ray_flags_primitive_culling
-ERROR: 5 compilation errors. No code generated.
+ERROR: 0:6: 'location' : overlapping use of location 2
+ERROR: 0:9: 'assign' : l-value required "payload" (cannot modify hitAttributeNV in this stage)
+ERROR: 0:10: 'reportIntersectionEXT' : no matching overloaded function found
+ERROR: 0:11: 'terminateRayEXT' : not supported in this stage: closest-hit
+ERROR: 0:12: 'ignoreIntersectionEXT' : not supported in this stage: closest-hit
+ERROR: 0:13: 'gl_RayFlagsSkipAABBEXT' : required extension not requested: GL_EXT_ray_flags_primitive_culling
+ERROR: 0:14: 'no rayPayloadEXT/rayPayloadInEXT declared' : with layout(location = 0)
+ERROR: 7 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
new file mode 100644
index 0000000..14ec09b
--- /dev/null
+++ b/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
@@ -0,0 +1,114 @@
+spv.ext.ClosestHitShader_Subgroup.rchit
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 67
+
+ Capability Int64
+ Capability GroupNonUniform
+ Capability GroupNonUniformBallot
+ Capability SubgroupBallotKHR
+ Capability RayTracingKHR
+ Capability VulkanMemoryModelKHR
+ Capability ShaderSMBuiltinsNV
+ Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_KHR_shader_ballot"
+ Extension "SPV_KHR_vulkan_memory_model"
+ Extension "SPV_NV_shader_sm_builtins"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical VulkanKHR
+ EntryPoint ClosestHitKHR 4 "main" 8 26 28 34 43 48 53 61
+ Source GLSL 460
+ SourceExtension "GL_ARB_shader_ballot"
+ SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_KHR_shader_subgroup_ballot"
+ SourceExtension "GL_KHR_shader_subgroup_basic"
+ SourceExtension "GL_NV_shader_sm_builtins"
+ Name 4 "main"
+ Name 8 "accEXT"
+ Name 26 "incomingPayload"
+ Name 28 "gl_SubgroupInvocationID"
+ Name 34 "gl_SubGroupGeMaskARB"
+ Name 43 "gl_SubgroupGtMask"
+ Name 48 "gl_SubgroupLeMask"
+ Name 53 "gl_SubGroupLtMaskARB"
+ Name 61 "gl_SMIDNV"
+ Decorate 8(accEXT) DescriptorSet 0
+ Decorate 8(accEXT) Binding 0
+ Decorate 26(incomingPayload) Location 1
+ Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision
+ Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+ Decorate 29 RelaxedPrecision
+ Decorate 34(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
+ Decorate 43(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
+ Decorate 48(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
+ Decorate 53(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
+ Decorate 61(gl_SMIDNV) BuiltIn SMIDNV
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeAccelerationStructureKHR
+ 7: TypePointer UniformConstant 6
+ 8(accEXT): 7(ptr) Variable UniformConstant
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 0
+ 12: 10(int) Constant 1
+ 13: 10(int) Constant 2
+ 14: 10(int) Constant 3
+ 15: TypeFloat 32
+ 16: TypeVector 15(float) 3
+ 17: 15(float) Constant 1056964608
+ 18: 16(fvec3) ConstantComposite 17 17 17
+ 19: 15(float) Constant 1065353216
+ 20: 16(fvec3) ConstantComposite 19 19 19
+ 21: 15(float) Constant 1061158912
+ 22: TypeInt 32 1
+ 23: 22(int) Constant 1
+ 24: TypeVector 15(float) 4
+ 25: TypePointer IncomingRayPayloadKHR 24(fvec4)
+26(incomingPayload): 25(ptr) Variable IncomingRayPayloadKHR
+ 27: TypePointer Input 10(int)
+28(gl_SubgroupInvocationID): 27(ptr) Variable Input
+ 31: TypeVector 10(int) 4
+ 32: TypeInt 64 0
+ 33: TypePointer Input 31(ivec4)
+34(gl_SubGroupGeMaskARB): 33(ptr) Variable Input
+ 38: TypeVector 10(int) 2
+43(gl_SubgroupGtMask): 33(ptr) Variable Input
+48(gl_SubgroupLeMask): 33(ptr) Variable Input
+53(gl_SubGroupLtMaskARB): 33(ptr) Variable Input
+ 61(gl_SMIDNV): 27(ptr) Variable Input
+ 65: TypePointer IncomingRayPayloadKHR 15(float)
+ 4(main): 2 Function None 3
+ 5: Label
+ 9: 6 Load 8(accEXT)
+ TraceRayKHR 9 11 12 13 14 11 18 17 20 21 26(incomingPayload)
+ 29: 10(int) Load 28(gl_SubgroupInvocationID) Volatile
+ 30: 15(float) ConvertUToF 29
+ 35: 31(ivec4) Load 34(gl_SubGroupGeMaskARB)
+ 36: 10(int) CompositeExtract 35 0
+ 37: 10(int) CompositeExtract 35 1
+ 39: 38(ivec2) CompositeConstruct 36 37
+ 40: 32(int64_t) Bitcast 39
+ 41: 15(float) ConvertUToF 40
+ 42: 15(float) FAdd 30 41
+ 44: 31(ivec4) Load 43(gl_SubgroupGtMask) Volatile
+ 45: 24(fvec4) ConvertUToF 44
+ 46: 15(float) CompositeExtract 45 0
+ 47: 15(float) FAdd 42 46
+ 49: 31(ivec4) Load 48(gl_SubgroupLeMask) Volatile
+ 50: 24(fvec4) ConvertUToF 49
+ 51: 15(float) CompositeExtract 50 0
+ 52: 15(float) FAdd 47 51
+ 54: 31(ivec4) Load 53(gl_SubGroupLtMaskARB)
+ 55: 10(int) CompositeExtract 54 0
+ 56: 10(int) CompositeExtract 54 1
+ 57: 38(ivec2) CompositeConstruct 55 56
+ 58: 32(int64_t) Bitcast 57
+ 59: 15(float) ConvertUToF 58
+ 60: 15(float) FAdd 52 59
+ 62: 10(int) Load 61(gl_SMIDNV) Volatile
+ 63: 15(float) ConvertUToF 62
+ 64: 15(float) FAdd 60 63
+ 66: 65(ptr) AccessChain 26(incomingPayload) 11
+ Store 66 64
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.ext.IntersectShader.rint.out b/Test/baseResults/spv.ext.IntersectShader.rint.out
index 4a4a34a..2d389a0 100644
--- a/Test/baseResults/spv.ext.IntersectShader.rint.out
+++ b/Test/baseResults/spv.ext.IntersectShader.rint.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 81
- Capability RayTracingProvisionalKHR
+ Capability RayTracingKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
@@ -53,6 +53,8 @@
Decorate 42(gl_ObjectRayDirectionEXT) BuiltIn ObjectRayDirectionKHR
Decorate 47(gl_RayTminEXT) BuiltIn RayTminKHR
Decorate 50(gl_RayTmaxEXT) BuiltIn RayTmaxKHR
+ Decorate 50(gl_RayTmaxEXT) Volatile
+ Decorate 50(gl_RayTmaxEXT) Coherent
Decorate 56(gl_ObjectToWorldEXT) BuiltIn ObjectToWorldKHR
Decorate 59(gl_WorldToObjectEXT) BuiltIn WorldToObjectKHR
Decorate 65(gl_ObjectToWorld3x4EXT) BuiltIn ObjectToWorldKHR
diff --git a/Test/baseResults/spv.ext.MissShader.rmiss.out b/Test/baseResults/spv.ext.MissShader.rmiss.out
index 544901b..bc29ccc 100644
--- a/Test/baseResults/spv.ext.MissShader.rmiss.out
+++ b/Test/baseResults/spv.ext.MissShader.rmiss.out
@@ -1,15 +1,25 @@
spv.ext.MissShader.rmiss
// Module Version 10400
// Generated by (magic number): 8000a
-// Id's are bound by 54
+// Id's are bound by 71
- Capability RayTracingProvisionalKHR
+ Capability GroupNonUniform
+ Capability GroupNonUniformBallot
+ Capability SubgroupBallotKHR
+ Capability RayTracingKHR
+ Capability ShaderSMBuiltinsNV
Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_KHR_shader_ballot"
+ Extension "SPV_NV_shader_sm_builtins"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint MissKHR 4 "main" 11 14 21 24 29 32 36 51 53
+ EntryPoint MissKHR 4 "main" 11 14 21 24 29 32 36 51 53 58 63 70
Source GLSL 460
+ SourceExtension "GL_ARB_shader_ballot"
SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_KHR_shader_subgroup_ballot"
+ SourceExtension "GL_KHR_shader_subgroup_basic"
+ SourceExtension "GL_NV_shader_sm_builtins"
Name 4 "main"
Name 9 "v0"
Name 11 "gl_LaunchIDEXT"
@@ -24,8 +34,11 @@
Name 31 "v5"
Name 32 "gl_RayTmaxEXT"
Name 36 "accEXT"
- Name 51 "localPayload"
- Name 53 "incomingPayload"
+ Name 51 "incomingPayload"
+ Name 53 "gl_SubGroupSizeARB"
+ Name 58 "gl_SubgroupEqMask"
+ Name 63 "gl_WarpIDNV"
+ Name 70 "localPayload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 21(gl_WorldRayOriginEXT) BuiltIn WorldRayOriginKHR
@@ -34,8 +47,17 @@
Decorate 32(gl_RayTmaxEXT) BuiltIn RayTmaxKHR
Decorate 36(accEXT) DescriptorSet 0
Decorate 36(accEXT) Binding 0
- Decorate 51(localPayload) Location 0
- Decorate 53(incomingPayload) Location 1
+ Decorate 51(incomingPayload) Location 1
+ Decorate 53(gl_SubGroupSizeARB) BuiltIn SubgroupSize
+ Decorate 53(gl_SubGroupSizeARB) Volatile
+ Decorate 53(gl_SubGroupSizeARB) Coherent
+ Decorate 58(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
+ Decorate 58(gl_SubgroupEqMask) Volatile
+ Decorate 58(gl_SubgroupEqMask) Coherent
+ Decorate 63(gl_WarpIDNV) BuiltIn WarpIDNV
+ Decorate 63(gl_WarpIDNV) Volatile
+ Decorate 63(gl_WarpIDNV) Coherent
+ Decorate 70(localPayload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -69,10 +91,17 @@
47: TypeInt 32 1
48: 47(int) Constant 1
49: TypeVector 16(float) 4
- 50: TypePointer RayPayloadKHR 49(fvec4)
-51(localPayload): 50(ptr) Variable RayPayloadKHR
- 52: TypePointer IncomingRayPayloadKHR 49(fvec4)
-53(incomingPayload): 52(ptr) Variable IncomingRayPayloadKHR
+ 50: TypePointer IncomingRayPayloadKHR 49(fvec4)
+51(incomingPayload): 50(ptr) Variable IncomingRayPayloadKHR
+ 52: TypePointer Input 6(int)
+53(gl_SubGroupSizeARB): 52(ptr) Variable Input
+ 56: TypeVector 6(int) 4
+ 57: TypePointer Input 56(ivec4)
+58(gl_SubgroupEqMask): 57(ptr) Variable Input
+ 63(gl_WarpIDNV): 52(ptr) Variable Input
+ 67: TypePointer IncomingRayPayloadKHR 16(float)
+ 69: TypePointer RayPayloadKHR 49(fvec4)
+70(localPayload): 69(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
9(v0): 8(ptr) Variable Function
@@ -94,6 +123,17 @@
33: 16(float) Load 32(gl_RayTmaxEXT)
Store 31(v5) 33
37: 34 Load 36(accEXT)
- TraceRayKHR 37 38 39 40 41 38 43 42 45 46 48
+ TraceRayKHR 37 38 39 40 41 38 43 42 45 46 51(incomingPayload)
+ 54: 6(int) Load 53(gl_SubGroupSizeARB)
+ 55: 16(float) ConvertUToF 54
+ 59: 56(ivec4) Load 58(gl_SubgroupEqMask)
+ 60: 49(fvec4) ConvertUToF 59
+ 61: 16(float) CompositeExtract 60 0
+ 62: 16(float) FAdd 55 61
+ 64: 6(int) Load 63(gl_WarpIDNV)
+ 65: 16(float) ConvertUToF 64
+ 66: 16(float) FAdd 62 65
+ 68: 67(ptr) AccessChain 51(incomingPayload) 38
+ Store 68 66
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.MissShader_Errors.rmiss.out b/Test/baseResults/spv.ext.MissShader_Errors.rmiss.out
index 929a2a7..50d3c83 100644
--- a/Test/baseResults/spv.ext.MissShader_Errors.rmiss.out
+++ b/Test/baseResults/spv.ext.MissShader_Errors.rmiss.out
@@ -13,8 +13,8 @@
ERROR: 0:11: 'gl_HitTEXT' : undeclared identifier
ERROR: 0:12: 'gl_HitKindEXT' : undeclared identifier
ERROR: 0:13: 'reportIntersectionEXT' : no matching overloaded function found
-ERROR: 0:14: 'ignoreIntersectionEXT' : no matching overloaded function found
-ERROR: 0:15: 'terminateRayEXT' : no matching overloaded function found
+ERROR: 0:14: 'ignoreIntersectionEXT' : not supported in this stage: miss
+ERROR: 0:15: 'terminateRayEXT' : not supported in this stage: miss
ERROR: 16 compilation errors. No code generated.
diff --git a/Test/baseResults/spv.ext.RayCallable.rcall.out b/Test/baseResults/spv.ext.RayCallable.rcall.out
index e87b5fa..d429116 100644
--- a/Test/baseResults/spv.ext.RayCallable.rcall.out
+++ b/Test/baseResults/spv.ext.RayCallable.rcall.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 30
- Capability RayTracingProvisionalKHR
+ Capability RayTracingKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
@@ -55,6 +55,6 @@
Store 13(size) 15
23: 22(ptr) AccessChain 18 20
Store 23 21
- ExecuteCallableKHR 24 25
+ ExecuteCallableKHR 24 18
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.RayCallable_Errors.rcall.out b/Test/baseResults/spv.ext.RayCallable_Errors.rcall.out
index 4699342..e623874 100644
--- a/Test/baseResults/spv.ext.RayCallable_Errors.rcall.out
+++ b/Test/baseResults/spv.ext.RayCallable_Errors.rcall.out
@@ -2,34 +2,36 @@
ERROR: 0:3: 'hitAttributeEXT' : not supported in this stage: callable
ERROR: 0:4: 'rayPayloadEXT' : not supported in this stage: callable
ERROR: 0:5: 'rayPayloadInEXT' : not supported in this stage: callable
-ERROR: 0:9: 'gl_PrimitiveID' : undeclared identifier
-ERROR: 0:9: '=' : cannot convert from ' temp float' to ' temp highp int'
-ERROR: 0:10: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?)
+ERROR: 0:7: 'location' : overlapping use of location 0
+ERROR: 0:10: 'gl_PrimitiveID' : undeclared identifier
ERROR: 0:10: '=' : cannot convert from ' temp float' to ' temp highp int'
-ERROR: 0:11: 'gl_InstanceCustomIndexEXT' : undeclared identifier
+ERROR: 0:11: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?)
ERROR: 0:11: '=' : cannot convert from ' temp float' to ' temp highp int'
-ERROR: 0:12: 'gl_WorldRayOriginEXT' : undeclared identifier
-ERROR: 0:12: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
-ERROR: 0:13: 'gl_WorldRayDirectionEXT' : undeclared identifier
+ERROR: 0:12: 'gl_InstanceCustomIndexEXT' : undeclared identifier
+ERROR: 0:12: '=' : cannot convert from ' temp float' to ' temp highp int'
+ERROR: 0:13: 'gl_WorldRayOriginEXT' : undeclared identifier
ERROR: 0:13: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
-ERROR: 0:14: 'gl_ObjectRayOriginEXT' : undeclared identifier
+ERROR: 0:14: 'gl_WorldRayDirectionEXT' : undeclared identifier
ERROR: 0:14: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
-ERROR: 0:15: 'gl_ObjectRayDirectionEXT' : undeclared identifier
+ERROR: 0:15: 'gl_ObjectRayOriginEXT' : undeclared identifier
ERROR: 0:15: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
-ERROR: 0:16: 'gl_RayTminEXT' : undeclared identifier
-ERROR: 0:17: 'gl_RayTmaxEXT' : undeclared identifier
-ERROR: 0:18: 'gl_ObjectToWorldEXT' : undeclared identifier
-ERROR: 0:18: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
-ERROR: 0:19: 'gl_WorldToObjectEXT' : undeclared identifier
+ERROR: 0:16: 'gl_ObjectRayDirectionEXT' : undeclared identifier
+ERROR: 0:16: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
+ERROR: 0:17: 'gl_RayTminEXT' : undeclared identifier
+ERROR: 0:18: 'gl_RayTmaxEXT' : undeclared identifier
+ERROR: 0:19: 'gl_ObjectToWorldEXT' : undeclared identifier
ERROR: 0:19: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
-ERROR: 0:20: 'gl_HitTEXT' : undeclared identifier
-ERROR: 0:21: 'gl_HitKindEXT' : undeclared identifier
-ERROR: 0:22: 'gl_IncomingRayFlagsEXT' : undeclared identifier
-ERROR: 0:22: '=' : cannot convert from ' temp float' to ' temp highp uint'
-ERROR: 0:23: 'reportIntersectionEXT' : no matching overloaded function found
-ERROR: 0:24: 'ignoreIntersectionEXT' : no matching overloaded function found
-ERROR: 0:25: 'terminateRayEXT' : no matching overloaded function found
-ERROR: 30 compilation errors. No code generated.
+ERROR: 0:20: 'gl_WorldToObjectEXT' : undeclared identifier
+ERROR: 0:20: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
+ERROR: 0:21: 'gl_HitTEXT' : undeclared identifier
+ERROR: 0:22: 'gl_HitKindEXT' : undeclared identifier
+ERROR: 0:23: 'gl_IncomingRayFlagsEXT' : undeclared identifier
+ERROR: 0:23: '=' : cannot convert from ' temp float' to ' temp highp uint'
+ERROR: 0:24: 'reportIntersectionEXT' : no matching overloaded function found
+ERROR: 0:25: 'ignoreIntersectionEXT' : not supported in this stage: callable
+ERROR: 0:26: 'terminateRayEXT' : not supported in this stage: callable
+ERROR: 0:27: 'no callableDataEXT/callableDataInEXT declared' : with layout(location = 1)
+ERROR: 32 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.ext.RayConstants.rgen.out b/Test/baseResults/spv.ext.RayConstants.rgen.out
index 5d7079a..afd5083 100644
--- a/Test/baseResults/spv.ext.RayConstants.rgen.out
+++ b/Test/baseResults/spv.ext.RayConstants.rgen.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 27
- Capability RayTracingProvisionalKHR
+ Capability RayTracingKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
@@ -15,7 +15,7 @@
Name 26 "payload"
Decorate 8(accEXT) DescriptorSet 0
Decorate 8(accEXT) Binding 0
- Decorate 26(payload) Location 0
+ Decorate 26(payload) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeAccelerationStructureKHR
@@ -41,6 +41,6 @@
4(main): 2 Function None 3
5: Label
9: 6 Load 8(accEXT)
- TraceRayKHR 9 11 12 13 13 12 17 18 20 21 23
+ TraceRayKHR 9 11 12 13 13 12 17 18 20 21 26(payload)
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
new file mode 100644
index 0000000..60b5e93
--- /dev/null
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
@@ -0,0 +1,134 @@
+spv.ext.RayGenSBTlayout.rgen
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 74
+
+ Capability Int64
+ Capability RayTracingKHR
+ Extension "SPV_KHR_ray_tracing"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint RayGenerationKHR 4 "main" 11 21 38 60
+ Source GLSL 460
+ SourceExtension "GL_ARB_gpu_shader_int64"
+ SourceExtension "GL_EXT_ray_tracing"
+ Name 4 "main"
+ Name 8 "lx"
+ Name 11 "gl_LaunchIDEXT"
+ Name 16 "ly"
+ Name 20 "sx"
+ Name 21 "gl_LaunchSizeEXT"
+ Name 24 "sy"
+ Name 36 "block"
+ MemberName 36(block) 0 "dir"
+ MemberName 36(block) 1 "origin"
+ MemberName 36(block) 2 "i"
+ MemberName 36(block) 3 "aHandle32"
+ MemberName 36(block) 4 "aHandle64"
+ MemberName 36(block) 5 "arr2"
+ MemberName 36(block) 6 "a"
+ MemberName 36(block) 7 "arr3"
+ MemberName 36(block) 8 "packme"
+ MemberName 36(block) 9 "b"
+ MemberName 36(block) 10 "c"
+ Name 38 ""
+ Name 60 "payload"
+ Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
+ Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
+ Decorate 34 ArrayStride 8
+ Decorate 35 ArrayStride 16
+ MemberDecorate 36(block) 0 Offset 0
+ MemberDecorate 36(block) 1 Offset 16
+ MemberDecorate 36(block) 2 Offset 28
+ MemberDecorate 36(block) 3 Offset 32
+ MemberDecorate 36(block) 4 Offset 40
+ MemberDecorate 36(block) 5 Offset 48
+ MemberDecorate 36(block) 6 Offset 64
+ MemberDecorate 36(block) 7 Offset 80
+ MemberDecorate 36(block) 8 Offset 112
+ MemberDecorate 36(block) 9 Offset 120
+ MemberDecorate 36(block) 10 Offset 128
+ Decorate 36(block) Block
+ Decorate 38 DescriptorSet 0
+ Decorate 38 Binding 0
+ Decorate 60(payload) Location 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypePointer Function 6(int)
+ 9: TypeVector 6(int) 3
+ 10: TypePointer Input 9(ivec3)
+11(gl_LaunchIDEXT): 10(ptr) Variable Input
+ 12: 6(int) Constant 0
+ 13: TypePointer Input 6(int)
+ 17: 6(int) Constant 1
+21(gl_LaunchSizeEXT): 10(ptr) Variable Input
+ 27: TypeFloat 32
+ 28: TypeVector 27(float) 3
+ 29: TypeInt 32 1
+ 30: TypeVector 6(int) 2
+ 31: TypeInt 64 0
+ 32: TypeVector 27(float) 2
+ 33: 6(int) Constant 2
+ 34: TypeArray 32(fvec2) 33
+ 35: TypeArray 28(fvec3) 33
+ 36(block): TypeStruct 28(fvec3) 28(fvec3) 29(int) 30(ivec2) 31(int64_t) 34 27(float) 35 27(float) 32(fvec2) 27(float)
+ 37: TypePointer ShaderRecordBufferKHR 36(block)
+ 38: 37(ptr) Variable ShaderRecordBufferKHR
+ 39: 29(int) Constant 3
+ 40: TypePointer ShaderRecordBufferKHR 30(ivec2)
+ 43: TypeAccelerationStructureKHR
+ 49: 29(int) Constant 1
+ 50: TypePointer ShaderRecordBufferKHR 28(fvec3)
+ 53: 27(float) Constant 1056964608
+ 54: 29(int) Constant 0
+ 57: 27(float) Constant 1061158912
+ 58: TypeVector 27(float) 4
+ 59: TypePointer RayPayloadKHR 58(fvec4)
+ 60(payload): 59(ptr) Variable RayPayloadKHR
+ 61: 29(int) Constant 4
+ 62: TypePointer ShaderRecordBufferKHR 31(int64_t)
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(lx): 7(ptr) Variable Function
+ 16(ly): 7(ptr) Variable Function
+ 20(sx): 7(ptr) Variable Function
+ 24(sy): 7(ptr) Variable Function
+ 14: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
+ 15: 6(int) Load 14
+ Store 8(lx) 15
+ 18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
+ 19: 6(int) Load 18
+ Store 16(ly) 19
+ 22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
+ 23: 6(int) Load 22
+ Store 20(sx) 23
+ 25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
+ 26: 6(int) Load 25
+ Store 24(sy) 26
+ 41: 40(ptr) AccessChain 38 39
+ 42: 30(ivec2) Load 41
+ 44: 43 ConvertUToAccelerationStructureKHR 42
+ 45: 6(int) Load 8(lx)
+ 46: 6(int) Load 16(ly)
+ 47: 6(int) Load 20(sx)
+ 48: 6(int) Load 24(sy)
+ 51: 50(ptr) AccessChain 38 49
+ 52: 28(fvec3) Load 51
+ 55: 50(ptr) AccessChain 38 54
+ 56: 28(fvec3) Load 55
+ TraceRayKHR 44 45 46 47 48 12 52 53 56 57 60(payload)
+ 63: 62(ptr) AccessChain 38 61
+ 64: 31(int64_t) Load 63
+ 65: 43 ConvertUToAccelerationStructureKHR 64
+ 66: 6(int) Load 8(lx)
+ 67: 6(int) Load 16(ly)
+ 68: 6(int) Load 20(sx)
+ 69: 6(int) Load 24(sy)
+ 70: 50(ptr) AccessChain 38 49
+ 71: 28(fvec3) Load 70
+ 72: 50(ptr) AccessChain 38 54
+ 73: 28(fvec3) Load 72
+ TraceRayKHR 65 66 67 68 69 12 71 53 73 57 60(payload)
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
new file mode 100644
index 0000000..cc175f7
--- /dev/null
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
@@ -0,0 +1,134 @@
+spv.ext.RayGenSBTlayout140.rgen
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 74
+
+ Capability Int64
+ Capability RayTracingKHR
+ Extension "SPV_KHR_ray_tracing"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint RayGenerationKHR 4 "main" 11 21 38 60
+ Source GLSL 460
+ SourceExtension "GL_ARB_gpu_shader_int64"
+ SourceExtension "GL_EXT_ray_tracing"
+ Name 4 "main"
+ Name 8 "lx"
+ Name 11 "gl_LaunchIDEXT"
+ Name 16 "ly"
+ Name 20 "sx"
+ Name 21 "gl_LaunchSizeEXT"
+ Name 24 "sy"
+ Name 36 "block"
+ MemberName 36(block) 0 "dir"
+ MemberName 36(block) 1 "origin"
+ MemberName 36(block) 2 "i"
+ MemberName 36(block) 3 "aHandle32"
+ MemberName 36(block) 4 "aHandle64"
+ MemberName 36(block) 5 "arr"
+ MemberName 36(block) 6 "a"
+ MemberName 36(block) 7 "arr3"
+ MemberName 36(block) 8 "packme"
+ MemberName 36(block) 9 "b"
+ MemberName 36(block) 10 "c"
+ Name 38 ""
+ Name 60 "payload"
+ Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
+ Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
+ Decorate 34 ArrayStride 16
+ Decorate 35 ArrayStride 16
+ MemberDecorate 36(block) 0 Offset 0
+ MemberDecorate 36(block) 1 Offset 16
+ MemberDecorate 36(block) 2 Offset 28
+ MemberDecorate 36(block) 3 Offset 32
+ MemberDecorate 36(block) 4 Offset 40
+ MemberDecorate 36(block) 5 Offset 48
+ MemberDecorate 36(block) 6 Offset 80
+ MemberDecorate 36(block) 7 Offset 96
+ MemberDecorate 36(block) 8 Offset 128
+ MemberDecorate 36(block) 9 Offset 136
+ MemberDecorate 36(block) 10 Offset 144
+ Decorate 36(block) Block
+ Decorate 38 DescriptorSet 0
+ Decorate 38 Binding 0
+ Decorate 60(payload) Location 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypePointer Function 6(int)
+ 9: TypeVector 6(int) 3
+ 10: TypePointer Input 9(ivec3)
+11(gl_LaunchIDEXT): 10(ptr) Variable Input
+ 12: 6(int) Constant 0
+ 13: TypePointer Input 6(int)
+ 17: 6(int) Constant 1
+21(gl_LaunchSizeEXT): 10(ptr) Variable Input
+ 27: TypeFloat 32
+ 28: TypeVector 27(float) 3
+ 29: TypeInt 32 1
+ 30: TypeVector 6(int) 2
+ 31: TypeInt 64 0
+ 32: TypeVector 27(float) 2
+ 33: 6(int) Constant 2
+ 34: TypeArray 32(fvec2) 33
+ 35: TypeArray 28(fvec3) 33
+ 36(block): TypeStruct 28(fvec3) 28(fvec3) 29(int) 30(ivec2) 31(int64_t) 34 27(float) 35 27(float) 32(fvec2) 27(float)
+ 37: TypePointer ShaderRecordBufferKHR 36(block)
+ 38: 37(ptr) Variable ShaderRecordBufferKHR
+ 39: 29(int) Constant 3
+ 40: TypePointer ShaderRecordBufferKHR 30(ivec2)
+ 43: TypeAccelerationStructureKHR
+ 49: 29(int) Constant 1
+ 50: TypePointer ShaderRecordBufferKHR 28(fvec3)
+ 53: 27(float) Constant 1056964608
+ 54: 29(int) Constant 0
+ 57: 27(float) Constant 1061158912
+ 58: TypeVector 27(float) 4
+ 59: TypePointer RayPayloadKHR 58(fvec4)
+ 60(payload): 59(ptr) Variable RayPayloadKHR
+ 61: 29(int) Constant 4
+ 62: TypePointer ShaderRecordBufferKHR 31(int64_t)
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(lx): 7(ptr) Variable Function
+ 16(ly): 7(ptr) Variable Function
+ 20(sx): 7(ptr) Variable Function
+ 24(sy): 7(ptr) Variable Function
+ 14: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
+ 15: 6(int) Load 14
+ Store 8(lx) 15
+ 18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
+ 19: 6(int) Load 18
+ Store 16(ly) 19
+ 22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
+ 23: 6(int) Load 22
+ Store 20(sx) 23
+ 25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
+ 26: 6(int) Load 25
+ Store 24(sy) 26
+ 41: 40(ptr) AccessChain 38 39
+ 42: 30(ivec2) Load 41
+ 44: 43 ConvertUToAccelerationStructureKHR 42
+ 45: 6(int) Load 8(lx)
+ 46: 6(int) Load 16(ly)
+ 47: 6(int) Load 20(sx)
+ 48: 6(int) Load 24(sy)
+ 51: 50(ptr) AccessChain 38 49
+ 52: 28(fvec3) Load 51
+ 55: 50(ptr) AccessChain 38 54
+ 56: 28(fvec3) Load 55
+ TraceRayKHR 44 45 46 47 48 12 52 53 56 57 60(payload)
+ 63: 62(ptr) AccessChain 38 61
+ 64: 31(int64_t) Load 63
+ 65: 43 ConvertUToAccelerationStructureKHR 64
+ 66: 6(int) Load 8(lx)
+ 67: 6(int) Load 16(ly)
+ 68: 6(int) Load 20(sx)
+ 69: 6(int) Load 24(sy)
+ 70: 50(ptr) AccessChain 38 49
+ 71: 28(fvec3) Load 70
+ 72: 50(ptr) AccessChain 38 54
+ 73: 28(fvec3) Load 72
+ TraceRayKHR 65 66 67 68 69 12 71 53 73 57 60(payload)
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
new file mode 100644
index 0000000..afcfa9c
--- /dev/null
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
@@ -0,0 +1,134 @@
+spv.ext.RayGenSBTlayout430.rgen
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 74
+
+ Capability Int64
+ Capability RayTracingKHR
+ Extension "SPV_KHR_ray_tracing"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint RayGenerationKHR 4 "main" 11 21 38 60
+ Source GLSL 460
+ SourceExtension "GL_ARB_gpu_shader_int64"
+ SourceExtension "GL_EXT_ray_tracing"
+ Name 4 "main"
+ Name 8 "lx"
+ Name 11 "gl_LaunchIDEXT"
+ Name 16 "ly"
+ Name 20 "sx"
+ Name 21 "gl_LaunchSizeEXT"
+ Name 24 "sy"
+ Name 36 "block"
+ MemberName 36(block) 0 "dir"
+ MemberName 36(block) 1 "origin"
+ MemberName 36(block) 2 "i"
+ MemberName 36(block) 3 "aHandle32"
+ MemberName 36(block) 4 "aHandle64"
+ MemberName 36(block) 5 "arr"
+ MemberName 36(block) 6 "a"
+ MemberName 36(block) 7 "arr3"
+ MemberName 36(block) 8 "packme"
+ MemberName 36(block) 9 "b"
+ MemberName 36(block) 10 "c"
+ Name 38 ""
+ Name 60 "payload"
+ Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
+ Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
+ Decorate 34 ArrayStride 8
+ Decorate 35 ArrayStride 16
+ MemberDecorate 36(block) 0 Offset 0
+ MemberDecorate 36(block) 1 Offset 16
+ MemberDecorate 36(block) 2 Offset 28
+ MemberDecorate 36(block) 3 Offset 32
+ MemberDecorate 36(block) 4 Offset 40
+ MemberDecorate 36(block) 5 Offset 48
+ MemberDecorate 36(block) 6 Offset 64
+ MemberDecorate 36(block) 7 Offset 80
+ MemberDecorate 36(block) 8 Offset 112
+ MemberDecorate 36(block) 9 Offset 120
+ MemberDecorate 36(block) 10 Offset 128
+ Decorate 36(block) Block
+ Decorate 38 DescriptorSet 0
+ Decorate 38 Binding 0
+ Decorate 60(payload) Location 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypePointer Function 6(int)
+ 9: TypeVector 6(int) 3
+ 10: TypePointer Input 9(ivec3)
+11(gl_LaunchIDEXT): 10(ptr) Variable Input
+ 12: 6(int) Constant 0
+ 13: TypePointer Input 6(int)
+ 17: 6(int) Constant 1
+21(gl_LaunchSizeEXT): 10(ptr) Variable Input
+ 27: TypeFloat 32
+ 28: TypeVector 27(float) 3
+ 29: TypeInt 32 1
+ 30: TypeVector 6(int) 2
+ 31: TypeInt 64 0
+ 32: TypeVector 27(float) 2
+ 33: 6(int) Constant 2
+ 34: TypeArray 32(fvec2) 33
+ 35: TypeArray 28(fvec3) 33
+ 36(block): TypeStruct 28(fvec3) 28(fvec3) 29(int) 30(ivec2) 31(int64_t) 34 27(float) 35 27(float) 32(fvec2) 27(float)
+ 37: TypePointer ShaderRecordBufferKHR 36(block)
+ 38: 37(ptr) Variable ShaderRecordBufferKHR
+ 39: 29(int) Constant 3
+ 40: TypePointer ShaderRecordBufferKHR 30(ivec2)
+ 43: TypeAccelerationStructureKHR
+ 49: 29(int) Constant 1
+ 50: TypePointer ShaderRecordBufferKHR 28(fvec3)
+ 53: 27(float) Constant 1056964608
+ 54: 29(int) Constant 0
+ 57: 27(float) Constant 1061158912
+ 58: TypeVector 27(float) 4
+ 59: TypePointer RayPayloadKHR 58(fvec4)
+ 60(payload): 59(ptr) Variable RayPayloadKHR
+ 61: 29(int) Constant 4
+ 62: TypePointer ShaderRecordBufferKHR 31(int64_t)
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(lx): 7(ptr) Variable Function
+ 16(ly): 7(ptr) Variable Function
+ 20(sx): 7(ptr) Variable Function
+ 24(sy): 7(ptr) Variable Function
+ 14: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
+ 15: 6(int) Load 14
+ Store 8(lx) 15
+ 18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
+ 19: 6(int) Load 18
+ Store 16(ly) 19
+ 22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
+ 23: 6(int) Load 22
+ Store 20(sx) 23
+ 25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
+ 26: 6(int) Load 25
+ Store 24(sy) 26
+ 41: 40(ptr) AccessChain 38 39
+ 42: 30(ivec2) Load 41
+ 44: 43 ConvertUToAccelerationStructureKHR 42
+ 45: 6(int) Load 8(lx)
+ 46: 6(int) Load 16(ly)
+ 47: 6(int) Load 20(sx)
+ 48: 6(int) Load 24(sy)
+ 51: 50(ptr) AccessChain 38 49
+ 52: 28(fvec3) Load 51
+ 55: 50(ptr) AccessChain 38 54
+ 56: 28(fvec3) Load 55
+ TraceRayKHR 44 45 46 47 48 12 52 53 56 57 60(payload)
+ 63: 62(ptr) AccessChain 38 61
+ 64: 31(int64_t) Load 63
+ 65: 43 ConvertUToAccelerationStructureKHR 64
+ 66: 6(int) Load 8(lx)
+ 67: 6(int) Load 16(ly)
+ 68: 6(int) Load 20(sx)
+ 69: 6(int) Load 24(sy)
+ 70: 50(ptr) AccessChain 38 49
+ 71: 28(fvec3) Load 70
+ 72: 50(ptr) AccessChain 38 54
+ 73: 28(fvec3) Load 72
+ TraceRayKHR 65 66 67 68 69 12 71 53 73 57 60(payload)
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
new file mode 100644
index 0000000..eac481a
--- /dev/null
+++ b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
@@ -0,0 +1,135 @@
+spv.ext.RayGenSBTlayoutscalar.rgen
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 74
+
+ Capability Int64
+ Capability RayTracingKHR
+ Extension "SPV_KHR_ray_tracing"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint RayGenerationKHR 4 "main" 11 21 38 60
+ Source GLSL 460
+ SourceExtension "GL_ARB_gpu_shader_int64"
+ SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_EXT_scalar_block_layout"
+ Name 4 "main"
+ Name 8 "lx"
+ Name 11 "gl_LaunchIDEXT"
+ Name 16 "ly"
+ Name 20 "sx"
+ Name 21 "gl_LaunchSizeEXT"
+ Name 24 "sy"
+ Name 36 "block"
+ MemberName 36(block) 0 "dir"
+ MemberName 36(block) 1 "origin"
+ MemberName 36(block) 2 "i"
+ MemberName 36(block) 3 "aHandle32"
+ MemberName 36(block) 4 "aHandle64"
+ MemberName 36(block) 5 "arr"
+ MemberName 36(block) 6 "a"
+ MemberName 36(block) 7 "arr3"
+ MemberName 36(block) 8 "packme"
+ MemberName 36(block) 9 "b"
+ MemberName 36(block) 10 "c"
+ Name 38 ""
+ Name 60 "payload"
+ Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
+ Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
+ Decorate 34 ArrayStride 8
+ Decorate 35 ArrayStride 12
+ MemberDecorate 36(block) 0 Offset 0
+ MemberDecorate 36(block) 1 Offset 12
+ MemberDecorate 36(block) 2 Offset 24
+ MemberDecorate 36(block) 3 Offset 28
+ MemberDecorate 36(block) 4 Offset 40
+ MemberDecorate 36(block) 5 Offset 48
+ MemberDecorate 36(block) 6 Offset 64
+ MemberDecorate 36(block) 7 Offset 68
+ MemberDecorate 36(block) 8 Offset 92
+ MemberDecorate 36(block) 9 Offset 96
+ MemberDecorate 36(block) 10 Offset 104
+ Decorate 36(block) Block
+ Decorate 38 DescriptorSet 0
+ Decorate 38 Binding 0
+ Decorate 60(payload) Location 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypePointer Function 6(int)
+ 9: TypeVector 6(int) 3
+ 10: TypePointer Input 9(ivec3)
+11(gl_LaunchIDEXT): 10(ptr) Variable Input
+ 12: 6(int) Constant 0
+ 13: TypePointer Input 6(int)
+ 17: 6(int) Constant 1
+21(gl_LaunchSizeEXT): 10(ptr) Variable Input
+ 27: TypeFloat 32
+ 28: TypeVector 27(float) 3
+ 29: TypeInt 32 1
+ 30: TypeVector 6(int) 2
+ 31: TypeInt 64 0
+ 32: TypeVector 27(float) 2
+ 33: 6(int) Constant 2
+ 34: TypeArray 32(fvec2) 33
+ 35: TypeArray 28(fvec3) 33
+ 36(block): TypeStruct 28(fvec3) 28(fvec3) 29(int) 30(ivec2) 31(int64_t) 34 27(float) 35 27(float) 32(fvec2) 27(float)
+ 37: TypePointer ShaderRecordBufferKHR 36(block)
+ 38: 37(ptr) Variable ShaderRecordBufferKHR
+ 39: 29(int) Constant 3
+ 40: TypePointer ShaderRecordBufferKHR 30(ivec2)
+ 43: TypeAccelerationStructureKHR
+ 49: 29(int) Constant 1
+ 50: TypePointer ShaderRecordBufferKHR 28(fvec3)
+ 53: 27(float) Constant 1056964608
+ 54: 29(int) Constant 0
+ 57: 27(float) Constant 1061158912
+ 58: TypeVector 27(float) 4
+ 59: TypePointer RayPayloadKHR 58(fvec4)
+ 60(payload): 59(ptr) Variable RayPayloadKHR
+ 61: 29(int) Constant 4
+ 62: TypePointer ShaderRecordBufferKHR 31(int64_t)
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(lx): 7(ptr) Variable Function
+ 16(ly): 7(ptr) Variable Function
+ 20(sx): 7(ptr) Variable Function
+ 24(sy): 7(ptr) Variable Function
+ 14: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
+ 15: 6(int) Load 14
+ Store 8(lx) 15
+ 18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
+ 19: 6(int) Load 18
+ Store 16(ly) 19
+ 22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
+ 23: 6(int) Load 22
+ Store 20(sx) 23
+ 25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
+ 26: 6(int) Load 25
+ Store 24(sy) 26
+ 41: 40(ptr) AccessChain 38 39
+ 42: 30(ivec2) Load 41
+ 44: 43 ConvertUToAccelerationStructureKHR 42
+ 45: 6(int) Load 8(lx)
+ 46: 6(int) Load 16(ly)
+ 47: 6(int) Load 20(sx)
+ 48: 6(int) Load 24(sy)
+ 51: 50(ptr) AccessChain 38 49
+ 52: 28(fvec3) Load 51
+ 55: 50(ptr) AccessChain 38 54
+ 56: 28(fvec3) Load 55
+ TraceRayKHR 44 45 46 47 48 12 52 53 56 57 60(payload)
+ 63: 62(ptr) AccessChain 38 61
+ 64: 31(int64_t) Load 63
+ 65: 43 ConvertUToAccelerationStructureKHR 64
+ 66: 6(int) Load 8(lx)
+ 67: 6(int) Load 16(ly)
+ 68: 6(int) Load 20(sx)
+ 69: 6(int) Load 24(sy)
+ 70: 50(ptr) AccessChain 38 49
+ 71: 28(fvec3) Load 70
+ 72: 50(ptr) AccessChain 38 54
+ 73: 28(fvec3) Load 72
+ TraceRayKHR 65 66 67 68 69 12 71 53 73 57 60(payload)
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.ext.RayGenShader.rgen.out b/Test/baseResults/spv.ext.RayGenShader.rgen.out
index b1904ac..da516f3 100644
--- a/Test/baseResults/spv.ext.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader.rgen.out
@@ -3,12 +3,12 @@
// Generated by (magic number): 8000a
// Id's are bound by 58
- Capability RayTraversalPrimitiveCullingProvisionalKHR
- Capability RayTracingProvisionalKHR
+ Capability RayTraversalPrimitiveCullingKHR
+ Capability RayTracingKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint RayGenerationKHR 4 "main" 11 21 29 40 51 54 57
+ EntryPoint RayGenerationKHR 4 "main" 11 21 29 40 53 54 57
Source GLSL 460
SourceExtension "GL_EXT_ray_flags_primitive_culling"
SourceExtension "GL_EXT_ray_tracing"
@@ -24,9 +24,9 @@
MemberName 38(block) 0 "dir"
MemberName 38(block) 1 "origin"
Name 40 ""
- Name 51 "accEXT1"
- Name 54 "imageu"
- Name 57 "payload"
+ Name 53 "payload"
+ Name 54 "accEXT1"
+ Name 57 "imageu"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 29(accEXT0) DescriptorSet 0
@@ -36,11 +36,11 @@
Decorate 38(block) Block
Decorate 40 DescriptorSet 0
Decorate 40 Binding 3
- Decorate 51(accEXT1) DescriptorSet 0
- Decorate 51(accEXT1) Binding 1
- Decorate 54(imageu) DescriptorSet 0
- Decorate 54(imageu) Binding 2
- Decorate 57(payload) Location 0
+ Decorate 53(payload) Location 1
+ Decorate 54(accEXT1) DescriptorSet 0
+ Decorate 54(accEXT1) Binding 1
+ Decorate 57(imageu) DescriptorSet 0
+ Decorate 57(imageu) Binding 2
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -67,13 +67,13 @@
46: 36(float) Constant 1056964608
47: 41(int) Constant 0
50: 36(float) Constant 1061158912
- 51(accEXT1): 28(ptr) Variable UniformConstant
- 52: TypeImage 6(int) 2D nonsampled format:R32ui
- 53: TypePointer UniformConstant 52
- 54(imageu): 53(ptr) Variable UniformConstant
- 55: TypeVector 36(float) 4
- 56: TypePointer RayPayloadKHR 55(fvec4)
- 57(payload): 56(ptr) Variable RayPayloadKHR
+ 51: TypeVector 36(float) 4
+ 52: TypePointer RayPayloadKHR 51(fvec4)
+ 53(payload): 52(ptr) Variable RayPayloadKHR
+ 54(accEXT1): 28(ptr) Variable UniformConstant
+ 55: TypeImage 6(int) 2D nonsampled format:R32ui
+ 56: TypePointer UniformConstant 55
+ 57(imageu): 56(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
@@ -101,6 +101,6 @@
45: 37(fvec3) Load 44
48: 43(ptr) AccessChain 40 47
49: 37(fvec3) Load 48
- TraceRayKHR 30 31 32 33 34 35 45 46 49 50 42
+ TraceRayKHR 30 31 32 33 34 35 45 46 49 50 53(payload)
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.RayGenShader11.rgen.out b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
index cfaf529..00262ac 100644
--- a/Test/baseResults/spv.ext.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 53
- Capability RayTracingProvisionalKHR
+ Capability RayTracingKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
@@ -32,7 +32,7 @@
Decorate 37(block) Block
Decorate 39 DescriptorSet 0
Decorate 39 Binding 1
- Decorate 52(payload) Location 0
+ Decorate 52(payload) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -88,6 +88,6 @@
44: 36(fvec3) Load 43
47: 42(ptr) AccessChain 39 46
48: 36(fvec3) Load 47
- TraceRayKHR 30 31 32 33 34 12 44 45 48 49 41
+ TraceRayKHR 30 31 32 33 34 12 44 45 48 49 52(payload)
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
index 25d46a6..473937d 100644
--- a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
@@ -1,17 +1,19 @@
spv.ext.RayGenShaderArray.rgen
// Module Version 10400
// Generated by (magic number): 8000a
-// Id's are bound by 89
+// Id's are bound by 117
+ Capability Int64
+ Capability RayTracingKHR
Capability ShaderNonUniformEXT
Capability RuntimeDescriptorArrayEXT
- Capability RayTracingProvisionalKHR
Extension "SPV_EXT_descriptor_indexing"
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint RayGenerationKHR 4 "main" 11 21 30 36 60 88
+ EntryPoint RayGenerationKHR 4 "main" 11 21 30 38 61 65
Source GLSL 460
+ SourceExtension "GL_ARB_gpu_shader_int64"
SourceExtension "GL_EXT_nonuniform_qualifier"
SourceExtension "GL_EXT_ray_tracing"
Name 4 "main"
@@ -22,29 +24,33 @@
Name 21 "gl_LaunchSizeEXT"
Name 24 "sy"
Name 30 "accEXT0"
- Name 34 "block"
- MemberName 34(block) 0 "dir"
- MemberName 34(block) 1 "origin"
- MemberName 34(block) 2 "i"
- Name 36 ""
- Name 60 "accEXT1"
- Name 88 "payload"
+ Name 36 "block"
+ MemberName 36(block) 0 "dir"
+ MemberName 36(block) 1 "origin"
+ MemberName 36(block) 2 "i"
+ MemberName 36(block) 3 "aHandle32"
+ MemberName 36(block) 4 "aHandle64"
+ Name 38 ""
+ Name 61 "payload"
+ Name 65 "accEXT1"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 30(accEXT0) DescriptorSet 0
Decorate 30(accEXT0) Binding 0
- MemberDecorate 34(block) 0 Offset 0
- MemberDecorate 34(block) 1 Offset 16
- MemberDecorate 34(block) 2 Offset 28
- Decorate 34(block) Block
- Decorate 36 DescriptorSet 0
- Decorate 36 Binding 2
- Decorate 60(accEXT1) DescriptorSet 0
- Decorate 60(accEXT1) Binding 1
- Decorate 75 DecorationNonUniformEXT
- Decorate 76 DecorationNonUniformEXT
- Decorate 77 DecorationNonUniformEXT
- Decorate 88(payload) Location 0
+ MemberDecorate 36(block) 0 Offset 0
+ MemberDecorate 36(block) 1 Offset 16
+ MemberDecorate 36(block) 2 Offset 28
+ MemberDecorate 36(block) 3 Offset 32
+ MemberDecorate 36(block) 4 Offset 40
+ Decorate 36(block) Block
+ Decorate 38 DescriptorSet 0
+ Decorate 38 Binding 2
+ Decorate 61(payload) Location 1
+ Decorate 65(accEXT1) DescriptorSet 0
+ Decorate 65(accEXT1) Binding 1
+ Decorate 80 DecorationNonUniformEXT
+ Decorate 81 DecorationNonUniformEXT
+ Decorate 82 DecorationNonUniformEXT
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -63,24 +69,30 @@
31: TypeFloat 32
32: TypeVector 31(float) 3
33: TypeInt 32 1
- 34(block): TypeStruct 32(fvec3) 32(fvec3) 33(int)
- 35: TypePointer ShaderRecordBufferKHR 34(block)
- 36: 35(ptr) Variable ShaderRecordBufferKHR
- 37: 33(int) Constant 2
- 38: TypePointer ShaderRecordBufferKHR 33(int)
- 41: TypePointer UniformConstant 27
- 48: 33(int) Constant 1
- 49: TypePointer ShaderRecordBufferKHR 32(fvec3)
- 52: 31(float) Constant 1056964608
- 53: 33(int) Constant 0
- 56: 31(float) Constant 1061158912
- 57: 6(int) Constant 2
- 58: TypeArray 27 57
- 59: TypePointer UniformConstant 58
- 60(accEXT1): 59(ptr) Variable UniformConstant
- 86: TypeVector 31(float) 4
- 87: TypePointer RayPayloadKHR 86(fvec4)
- 88(payload): 87(ptr) Variable RayPayloadKHR
+ 34: TypeVector 6(int) 2
+ 35: TypeInt 64 0
+ 36(block): TypeStruct 32(fvec3) 32(fvec3) 33(int) 34(ivec2) 35(int64_t)
+ 37: TypePointer ShaderRecordBufferKHR 36(block)
+ 38: 37(ptr) Variable ShaderRecordBufferKHR
+ 39: 33(int) Constant 2
+ 40: TypePointer ShaderRecordBufferKHR 33(int)
+ 43: TypePointer UniformConstant 27
+ 50: 33(int) Constant 1
+ 51: TypePointer ShaderRecordBufferKHR 32(fvec3)
+ 54: 31(float) Constant 1056964608
+ 55: 33(int) Constant 0
+ 58: 31(float) Constant 1061158912
+ 59: TypeVector 31(float) 4
+ 60: TypePointer RayPayloadKHR 59(fvec4)
+ 61(payload): 60(ptr) Variable RayPayloadKHR
+ 62: 6(int) Constant 2
+ 63: TypeArray 27 62
+ 64: TypePointer UniformConstant 63
+ 65(accEXT1): 64(ptr) Variable UniformConstant
+ 91: 33(int) Constant 3
+ 92: TypePointer ShaderRecordBufferKHR 34(ivec2)
+ 104: 33(int) Constant 4
+ 105: TypePointer ShaderRecordBufferKHR 35(int64_t)
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
@@ -99,45 +111,69 @@
25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
26: 6(int) Load 25
Store 24(sy) 26
- 39: 38(ptr) AccessChain 36 37
- 40: 33(int) Load 39
- 42: 41(ptr) AccessChain 30(accEXT0) 40
- 43: 27 Load 42
- 44: 6(int) Load 8(lx)
- 45: 6(int) Load 16(ly)
- 46: 6(int) Load 20(sx)
- 47: 6(int) Load 24(sy)
- 50: 49(ptr) AccessChain 36 48
- 51: 32(fvec3) Load 50
- 54: 49(ptr) AccessChain 36 53
- 55: 32(fvec3) Load 54
- TraceRayKHR 43 44 45 46 47 12 51 52 55 56 48
- 61: 38(ptr) AccessChain 36 37
- 62: 33(int) Load 61
- 63: 41(ptr) AccessChain 60(accEXT1) 62
- 64: 27 Load 63
- 65: 6(int) Load 8(lx)
- 66: 6(int) Load 16(ly)
- 67: 6(int) Load 20(sx)
- 68: 6(int) Load 24(sy)
- 69: 49(ptr) AccessChain 36 48
- 70: 32(fvec3) Load 69
- 71: 49(ptr) AccessChain 36 53
- 72: 32(fvec3) Load 71
- TraceRayKHR 64 65 66 67 68 12 70 52 72 56 48
- 73: 38(ptr) AccessChain 36 37
- 74: 33(int) Load 73
- 75: 33(int) CopyObject 74
- 76: 41(ptr) AccessChain 30(accEXT0) 75
- 77: 27 Load 76
- 78: 6(int) Load 8(lx)
- 79: 6(int) Load 16(ly)
- 80: 6(int) Load 20(sx)
- 81: 6(int) Load 24(sy)
- 82: 49(ptr) AccessChain 36 48
- 83: 32(fvec3) Load 82
- 84: 49(ptr) AccessChain 36 53
- 85: 32(fvec3) Load 84
- TraceRayKHR 77 78 79 80 81 12 83 52 85 56 48
+ 41: 40(ptr) AccessChain 38 39
+ 42: 33(int) Load 41
+ 44: 43(ptr) AccessChain 30(accEXT0) 42
+ 45: 27 Load 44
+ 46: 6(int) Load 8(lx)
+ 47: 6(int) Load 16(ly)
+ 48: 6(int) Load 20(sx)
+ 49: 6(int) Load 24(sy)
+ 52: 51(ptr) AccessChain 38 50
+ 53: 32(fvec3) Load 52
+ 56: 51(ptr) AccessChain 38 55
+ 57: 32(fvec3) Load 56
+ TraceRayKHR 45 46 47 48 49 12 53 54 57 58 61(payload)
+ 66: 40(ptr) AccessChain 38 39
+ 67: 33(int) Load 66
+ 68: 43(ptr) AccessChain 65(accEXT1) 67
+ 69: 27 Load 68
+ 70: 6(int) Load 8(lx)
+ 71: 6(int) Load 16(ly)
+ 72: 6(int) Load 20(sx)
+ 73: 6(int) Load 24(sy)
+ 74: 51(ptr) AccessChain 38 50
+ 75: 32(fvec3) Load 74
+ 76: 51(ptr) AccessChain 38 55
+ 77: 32(fvec3) Load 76
+ TraceRayKHR 69 70 71 72 73 12 75 54 77 58 61(payload)
+ 78: 40(ptr) AccessChain 38 39
+ 79: 33(int) Load 78
+ 80: 33(int) CopyObject 79
+ 81: 43(ptr) AccessChain 30(accEXT0) 80
+ 82: 27 Load 81
+ 83: 6(int) Load 8(lx)
+ 84: 6(int) Load 16(ly)
+ 85: 6(int) Load 20(sx)
+ 86: 6(int) Load 24(sy)
+ 87: 51(ptr) AccessChain 38 50
+ 88: 32(fvec3) Load 87
+ 89: 51(ptr) AccessChain 38 55
+ 90: 32(fvec3) Load 89
+ TraceRayKHR 82 83 84 85 86 12 88 54 90 58 61(payload)
+ 93: 92(ptr) AccessChain 38 91
+ 94: 34(ivec2) Load 93
+ 95: 27 ConvertUToAccelerationStructureKHR 94
+ 96: 6(int) Load 8(lx)
+ 97: 6(int) Load 16(ly)
+ 98: 6(int) Load 20(sx)
+ 99: 6(int) Load 24(sy)
+ 100: 51(ptr) AccessChain 38 50
+ 101: 32(fvec3) Load 100
+ 102: 51(ptr) AccessChain 38 55
+ 103: 32(fvec3) Load 102
+ TraceRayKHR 95 96 97 98 99 12 101 54 103 58 61(payload)
+ 106: 105(ptr) AccessChain 38 104
+ 107: 35(int64_t) Load 106
+ 108: 27 ConvertUToAccelerationStructureKHR 107
+ 109: 6(int) Load 8(lx)
+ 110: 6(int) Load 16(ly)
+ 111: 6(int) Load 20(sx)
+ 112: 6(int) Load 24(sy)
+ 113: 51(ptr) AccessChain 38 50
+ 114: 32(fvec3) Load 113
+ 115: 51(ptr) AccessChain 38 55
+ 116: 32(fvec3) Load 115
+ TraceRayKHR 108 109 110 111 112 12 114 54 116 58 61(payload)
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.RayGenShader_Errors.rgen.out b/Test/baseResults/spv.ext.RayGenShader_Errors.rgen.out
index 6dc7480..3f336bb 100644
--- a/Test/baseResults/spv.ext.RayGenShader_Errors.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader_Errors.rgen.out
@@ -4,8 +4,9 @@
ERROR: 0:5: 'shaderRecordNV' : can only be used with a buffer
ERROR: 0:9: 'binding' : cannot be used with shaderRecordNV
ERROR: 0:12: 'set' : cannot be used with shaderRecordNV
+ERROR: 0:23: ' temp accelerationStructureNV' : cannot construct with these arguments
ERROR: 0:23: 'accelerationStructureNV' : accelerationStructureNV can only be used in uniform variables or function parameters: a
-ERROR: 0:23: '=' : cannot convert from ' const int' to ' temp accelerationStructureNV'
+ERROR: 0:23: '=' : cannot convert from ' const float' to ' temp accelerationStructureNV'
ERROR: 0:24: 'gl_PrimitiveID' : undeclared identifier
ERROR: 0:24: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:25: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?)
@@ -28,11 +29,13 @@
ERROR: 0:34: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
ERROR: 0:35: 'gl_HitTEXT' : undeclared identifier
ERROR: 0:36: 'gl_HitKindEXT' : undeclared identifier
-ERROR: 0:37: 'reportIntersectionEXT' : no matching overloaded function found
-ERROR: 0:38: 'ignoreIntersectionEXT' : no matching overloaded function found
-ERROR: 0:39: 'terminateRayEXT' : no matching overloaded function found
-ERROR: 0:40: 'assign' : l-value required "anon@3" (can't modify a shaderrecordnv qualified buffer)
-ERROR: 33 compilation errors. No code generated.
+ERROR: 0:37: 'gl_RayFlagsSkipAABBEXT' : required extension not requested: GL_EXT_ray_flags_primitive_culling
+ERROR: 0:37: '=' : cannot convert from ' const uint' to ' temp highp int'
+ERROR: 0:38: 'reportIntersectionEXT' : no matching overloaded function found
+ERROR: 0:39: 'ignoreIntersectionEXT' : not supported in this stage: ray-generation
+ERROR: 0:40: 'terminateRayEXT' : not supported in this stage: ray-generation
+ERROR: 0:41: 'assign' : l-value required "anon@3" (can't modify a shaderrecordnv qualified buffer)
+ERROR: 36 compilation errors. No code generated.
ERROR: Linking ray-generation stage: Only one shaderRecordNV buffer block is allowed per stage
diff --git a/Test/baseResults/spv.ext.World3x4.rahit.out b/Test/baseResults/spv.ext.World3x4.rahit.out
index ad877bd..40d73d1 100644
--- a/Test/baseResults/spv.ext.World3x4.rahit.out
+++ b/Test/baseResults/spv.ext.World3x4.rahit.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 90
- Capability RayTracingProvisionalKHR
+ Capability RayTracingKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
diff --git a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
index 38a426c..86a4fd2 100644
--- a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
+++ b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
@@ -1,5 +1,4 @@
spv.meshShaderPerViewBuiltins.mesh
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 126
diff --git a/Test/rayQuery-global.rgen b/Test/rayQuery-global.rgen
new file mode 100644
index 0000000..3a57e74
--- /dev/null
+++ b/Test/rayQuery-global.rgen
@@ -0,0 +1,31 @@
+#version 460
+#extension GL_EXT_ray_query : enable
+#extension GL_EXT_ray_flags_primitive_culling : enable
+
+layout(binding = 1, set = 0) uniform accelerationStructureEXT rtas;
+
+rayQueryEXT rqGlobal;
+
+void otherWrapper(rayQueryEXT rq) {
+ rayQueryProceedEXT(rq);
+ rayQueryProceedEXT(rqGlobal);
+}
+
+void wrapper(rayQueryEXT rq) {
+ rayQueryEXT rq2;
+ rayQueryProceedEXT(rq);
+ rayQueryProceedEXT(rqGlobal);
+ otherWrapper(rq);
+ otherWrapper(rq2);
+ otherWrapper(rqGlobal);
+}
+
+void main() {
+ rayQueryInitializeEXT(rqGlobal, rtas, gl_RayFlagsNoneEXT, 0xFF, vec3(0,0,0), 0.0, vec3(1,0,0), 1.0);
+ wrapper(rqGlobal);
+ otherWrapper(rqGlobal);
+ rayQueryEXT rq2;
+ rayQueryInitializeEXT(rq2, rtas, gl_RayFlagsNoneEXT, 0xFF, vec3(0,0,0), 0.0, vec3(1,0,0), 1.0);
+ wrapper(rq2);
+ otherWrapper(rq2);
+}
diff --git a/Test/spv.ext.AnyHitShader.rahit b/Test/spv.ext.AnyHitShader.rahit
index ee7d9c7..871f8fe 100644
--- a/Test/spv.ext.AnyHitShader.rahit
+++ b/Test/spv.ext.AnyHitShader.rahit
@@ -1,5 +1,6 @@
#version 460
#extension GL_EXT_ray_tracing : enable
+#extension GL_KHR_shader_subgroup_basic : enable
layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
void main()
{
@@ -22,8 +23,10 @@
mat3x4 v16 = gl_ObjectToWorld3x4EXT;
mat3x4 v17 = gl_WorldToObject3x4EXT;
incomingPayload = vec4(0.5f);
- if (v2 == 1)
- ignoreIntersectionEXT();
- else
- terminateRayEXT();
+ if (v2 == 1) {
+ ignoreIntersectionEXT;
+ v0.x++;
+ }
+ incomingPayload.x += float(gl_SubgroupSize);
+ terminateRayEXT;
}
diff --git a/Test/spv.ext.ClosestHitShader_Errors.rchit b/Test/spv.ext.ClosestHitShader_Errors.rchit
index 05e05fe..6416f1f 100644
--- a/Test/spv.ext.ClosestHitShader_Errors.rchit
+++ b/Test/spv.ext.ClosestHitShader_Errors.rchit
@@ -2,12 +2,14 @@
#extension GL_EXT_ray_tracing : enable
hitAttributeEXT vec4 payload;
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
-
+layout(location = 2) rayPayloadEXT vec4 payload0;
+layout(location = 2) rayPayloadInEXT block { vec4 data; }; // ERROR : location already used
void main()
{
payload.x = 1.0f; // ERROR, cannot write to hitattributeEXT in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
- terminateRayEXT();
- ignoreIntersectionEXT();
+ terminateRayEXT;
+ ignoreIntersectionEXT;
bool e1 = gl_IncomingRayFlagsEXT == gl_RayFlagsSkipAABBEXT;
+ traceRayEXT(accEXT, 0, 0, 0, 0, 0, vec3(0.0), 0.0, vec3(1.0), 1.0, 0); //ERROR no payload variable with location = 0
}
diff --git a/Test/spv.ext.ClosestHitShader_Subgroup.rchit b/Test/spv.ext.ClosestHitShader_Subgroup.rchit
new file mode 100644
index 0000000..ce2091a
--- /dev/null
+++ b/Test/spv.ext.ClosestHitShader_Subgroup.rchit
@@ -0,0 +1,16 @@
+#version 460
+#pragma use_vulkan_memory_model
+#extension GL_EXT_ray_tracing : enable
+#extension GL_NV_shader_sm_builtins : enable
+#extension GL_KHR_shader_subgroup_ballot : enable
+#extension GL_ARB_shader_ballot : enable
+#extension GL_NV_shader_sm_builtins : enable
+layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
+layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
+void main()
+{
+ traceRayEXT(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
+ incomingPayload.x = float(gl_SubgroupInvocationID) + float(gl_SubGroupGeMaskARB) +
+ float(gl_SubgroupGtMask) + float(gl_SubgroupLeMask) +
+ float(gl_SubGroupLtMaskARB) + float(gl_SMIDNV);
+}
diff --git a/Test/spv.ext.MissShader.rmiss b/Test/spv.ext.MissShader.rmiss
index e774334..982bd84 100644
--- a/Test/spv.ext.MissShader.rmiss
+++ b/Test/spv.ext.MissShader.rmiss
@@ -1,5 +1,9 @@
#version 460
#extension GL_EXT_ray_tracing : enable
+#extension GL_NV_shader_sm_builtins : enable
+#extension GL_KHR_shader_subgroup_ballot : enable
+#extension GL_ARB_shader_ballot : enable
+#extension GL_NV_shader_sm_builtins : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
layout(location = 0) rayPayloadEXT vec4 localPayload;
layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
@@ -12,4 +16,5 @@
float v4 = gl_RayTminEXT;
float v5 = gl_RayTmaxEXT;
traceRayEXT(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
+ incomingPayload.x = float(gl_SubGroupSizeARB) + float(gl_SubgroupEqMask) + float(gl_WarpIDNV);
}
diff --git a/Test/spv.ext.MissShader_Errors.rmiss b/Test/spv.ext.MissShader_Errors.rmiss
index 2391211..c921f23 100644
--- a/Test/spv.ext.MissShader_Errors.rmiss
+++ b/Test/spv.ext.MissShader_Errors.rmiss
@@ -11,6 +11,6 @@
float e12 = gl_HitTEXT; // ERROR, unsupported builtin in stage
float e13 = gl_HitKindEXT; // ERROR, unsupported builtin in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
- ignoreIntersectionEXT(); // ERROR, unsupported builtin in stage
- terminateRayEXT(); // ERROR, unsupported builtin in stage
+ ignoreIntersectionEXT; // ERROR, unsupported in stage
+ terminateRayEXT; // ERROR, unsupported in stage
}
diff --git a/Test/spv.ext.RayCallable_Errors.rcall b/Test/spv.ext.RayCallable_Errors.rcall
index d35672e..660ea75 100644
--- a/Test/spv.ext.RayCallable_Errors.rcall
+++ b/Test/spv.ext.RayCallable_Errors.rcall
@@ -3,7 +3,8 @@
hitAttributeEXT vec4 hitattr; // ERROR, hitattributeEXT unsupported in this stage
rayPayloadEXT vec4 payload; // ERROR, rayPayloadEXT unsupported in this stage
rayPayloadInEXT vec4 payloadIn; // ERROR, rayPayloadInEXT unsupported in this stage
-
+layout(location = 0) callableDataEXT vec4 cd0;
+layout(location = 0) callableDataEXT float cd1; // ERROR, location already used
void main()
{
int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage
@@ -21,6 +22,7 @@
float e13 = gl_HitKindEXT; // ERROR, unsupported builtin in stage
uint curFlags = gl_IncomingRayFlagsEXT; // ERROR, unsupported builtin in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
- ignoreIntersectionEXT(); // ERROR, unsupported builtin in stage
- terminateRayEXT(); // ERROR, unsupported builtin in stage
+ ignoreIntersectionEXT; // ERROR, unsupported in stage
+ terminateRayEXT; // ERROR, unsupported in stage
+ executeCallableEXT(1,1); // ERROR, no callable data with location 1
}
diff --git a/Test/spv.ext.RayConstants.rgen b/Test/spv.ext.RayConstants.rgen
index 73cb0c1..8e681ba 100644
--- a/Test/spv.ext.RayConstants.rgen
+++ b/Test/spv.ext.RayConstants.rgen
@@ -1,7 +1,7 @@
#version 460
#extension GL_EXT_ray_tracing : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
-layout(location = 0) rayPayloadEXT vec4 payload;
+layout(location = 1) rayPayloadEXT vec4 payload;
void main()
{
const uint rayFlags = gl_RayFlagsNoneEXT | gl_RayFlagsOpaqueEXT |
diff --git a/Test/spv.ext.RayGenSBTlayout.rgen b/Test/spv.ext.RayGenSBTlayout.rgen
new file mode 100644
index 0000000..a5fa2b6
--- /dev/null
+++ b/Test/spv.ext.RayGenSBTlayout.rgen
@@ -0,0 +1,28 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_ARB_gpu_shader_int64 : enable
+layout(location = 1) rayPayloadEXT vec4 payload;
+// should get std430 layout
+layout(shaderRecordEXT) buffer block
+{
+ vec3 dir;
+ vec3 origin;
+ int i;
+ uvec2 aHandle32;
+ uint64_t aHandle64;
+ vec2 arr2[2];
+ float a;
+ vec3 arr3[2];
+ float packme;
+ vec2 b;
+ float c;
+};
+void main()
+{
+ uint lx = gl_LaunchIDEXT.x;
+ uint ly = gl_LaunchIDEXT.y;
+ uint sx = gl_LaunchSizeEXT.x;
+ uint sy = gl_LaunchSizeEXT.y;
+ traceRayEXT(accelerationStructureEXT(aHandle32), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+ traceRayEXT(accelerationStructureEXT(aHandle64), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+}
diff --git a/Test/spv.ext.RayGenSBTlayout140.rgen b/Test/spv.ext.RayGenSBTlayout140.rgen
new file mode 100644
index 0000000..7d673a8
--- /dev/null
+++ b/Test/spv.ext.RayGenSBTlayout140.rgen
@@ -0,0 +1,27 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_ARB_gpu_shader_int64 : enable
+layout(location = 1) rayPayloadEXT vec4 payload;
+layout(shaderRecordEXT, std140) buffer block
+{
+ vec3 dir;
+ vec3 origin;
+ int i;
+ uvec2 aHandle32;
+ uint64_t aHandle64;
+ vec2 arr[2];
+ float a;
+ vec3 arr3[2];
+ float packme;
+ vec2 b;
+ float c;
+};
+void main()
+{
+ uint lx = gl_LaunchIDEXT.x;
+ uint ly = gl_LaunchIDEXT.y;
+ uint sx = gl_LaunchSizeEXT.x;
+ uint sy = gl_LaunchSizeEXT.y;
+ traceRayEXT(accelerationStructureEXT(aHandle32), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+ traceRayEXT(accelerationStructureEXT(aHandle64), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+}
diff --git a/Test/spv.ext.RayGenSBTlayout430.rgen b/Test/spv.ext.RayGenSBTlayout430.rgen
new file mode 100644
index 0000000..bd308b4
--- /dev/null
+++ b/Test/spv.ext.RayGenSBTlayout430.rgen
@@ -0,0 +1,27 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_ARB_gpu_shader_int64 : enable
+layout(location = 1) rayPayloadEXT vec4 payload;
+layout(shaderRecordEXT, std430) buffer block
+{
+ vec3 dir;
+ vec3 origin;
+ int i;
+ uvec2 aHandle32;
+ uint64_t aHandle64;
+ vec2 arr[2];
+ float a;
+ vec3 arr3[2];
+ float packme;
+ vec2 b;
+ float c;
+};
+void main()
+{
+ uint lx = gl_LaunchIDEXT.x;
+ uint ly = gl_LaunchIDEXT.y;
+ uint sx = gl_LaunchSizeEXT.x;
+ uint sy = gl_LaunchSizeEXT.y;
+ traceRayEXT(accelerationStructureEXT(aHandle32), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+ traceRayEXT(accelerationStructureEXT(aHandle64), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+}
diff --git a/Test/spv.ext.RayGenSBTlayoutscalar.rgen b/Test/spv.ext.RayGenSBTlayoutscalar.rgen
new file mode 100644
index 0000000..16bcb13
--- /dev/null
+++ b/Test/spv.ext.RayGenSBTlayoutscalar.rgen
@@ -0,0 +1,28 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_ARB_gpu_shader_int64 : enable
+#extension GL_EXT_scalar_block_layout : enable
+layout(location = 1) rayPayloadEXT vec4 payload;
+layout(shaderRecordEXT, scalar) buffer block
+{
+ vec3 dir;
+ vec3 origin;
+ int i;
+ uvec2 aHandle32;
+ uint64_t aHandle64;
+ vec2 arr[2];
+ float a;
+ vec3 arr3[2];
+ float packme;
+ vec2 b;
+ float c;
+};
+void main()
+{
+ uint lx = gl_LaunchIDEXT.x;
+ uint ly = gl_LaunchIDEXT.y;
+ uint sx = gl_LaunchSizeEXT.x;
+ uint sy = gl_LaunchSizeEXT.y;
+ traceRayEXT(accelerationStructureEXT(aHandle32), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+ traceRayEXT(accelerationStructureEXT(aHandle64), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+}
diff --git a/Test/spv.ext.RayGenShader.rgen b/Test/spv.ext.RayGenShader.rgen
index 9fedf3a..e9eb2cb 100644
--- a/Test/spv.ext.RayGenShader.rgen
+++ b/Test/spv.ext.RayGenShader.rgen
@@ -4,7 +4,7 @@
layout(binding = 0) uniform accelerationStructureEXT accEXT0;
layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1; // Unused
layout(binding = 2, r32ui) shadercallcoherent uniform uimage2D imageu;
-layout(location = 0) rayPayloadEXT vec4 payload;
+layout(location = 1) rayPayloadEXT vec4 payload;
layout(shaderRecordEXT) buffer block
{
vec3 dir;
diff --git a/Test/spv.ext.RayGenShader11.rgen b/Test/spv.ext.RayGenShader11.rgen
index 4817026..50853d4 100644
--- a/Test/spv.ext.RayGenShader11.rgen
+++ b/Test/spv.ext.RayGenShader11.rgen
@@ -1,7 +1,7 @@
#version 460
#extension GL_EXT_ray_tracing : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
-layout(location = 0) rayPayloadEXT vec4 payload;
+layout(location = 1) rayPayloadEXT vec4 payload;
layout(shaderRecordEXT) buffer block
{
vec3 dir;
diff --git a/Test/spv.ext.RayGenShaderArray.rgen b/Test/spv.ext.RayGenShaderArray.rgen
index d3f99de..66286d9 100644
--- a/Test/spv.ext.RayGenShaderArray.rgen
+++ b/Test/spv.ext.RayGenShaderArray.rgen
@@ -1,14 +1,17 @@
#version 460
#extension GL_EXT_ray_tracing : enable
#extension GL_EXT_nonuniform_qualifier : enable
+#extension GL_ARB_gpu_shader_int64 : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT0[];
layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1[2];
-layout(location = 0) rayPayloadEXT vec4 payload;
+layout(location = 1) rayPayloadEXT vec4 payload;
layout(shaderRecordEXT) buffer block
{
vec3 dir;
vec3 origin;
int i;
+ uvec2 aHandle32;
+ uint64_t aHandle64;
};
void main()
{
@@ -19,4 +22,6 @@
traceRayEXT(accEXT0[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
traceRayEXT(accEXT1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
traceRayEXT(accEXT0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+ traceRayEXT(accelerationStructureEXT(aHandle32), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
+ traceRayEXT(accelerationStructureEXT(aHandle64), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
}
diff --git a/Test/spv.ext.RayGenShader_Errors.rgen b/Test/spv.ext.RayGenShader_Errors.rgen
index 3498342..107df0f 100644
--- a/Test/spv.ext.RayGenShader_Errors.rgen
+++ b/Test/spv.ext.RayGenShader_Errors.rgen
@@ -20,7 +20,7 @@
};
void main()
{
- accelerationStructureEXT a = 0;
+ accelerationStructureEXT a = accelerationStructureEXT(c);
int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage
int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage
int e3 = gl_InstanceCustomIndexEXT; // ERROR, unsupported builtin in stage
@@ -36,7 +36,7 @@
float e13 = gl_HitKindEXT; // ERROR, unsupported builtin in stage
int e14 = gl_RayFlagsSkipAABBEXT; // ERROR, unsupported builtin in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
- ignoreIntersectionEXT(); // ERROR, unsupported builtin in stage
- terminateRayEXT(); // ERROR, unsupported builtin in stage
- d = 1.0f; // ERROR, can't modify shaderRecordEXT block
+ ignoreIntersectionEXT; // ERROR, unsupported builtin in stage
+ terminateRayEXT; // ERROR, unsupported builtin in stage
+ d = 1.0f; // ERROR, can't modify shaderRecordEXT block
}
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index a3043f8..696daf6 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -757,6 +757,12 @@
bool isPerPrimitive() const { return perPrimitiveNV; }
bool isPerView() const { return perViewNV; }
bool isTaskMemory() const { return perTaskNV; }
+ bool isAnyPayload() const {
+ return storage == EvqPayload || storage == EvqPayloadIn;
+ }
+ bool isAnyCallable() const {
+ return storage == EvqCallableData || storage == EvqCallableDataIn;
+ }
// True if this type of IO is supposed to be arrayed with extra level for per-vertex data
bool isArrayedIo(EShLanguage language) const
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index f0411eb..19cd32e 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -280,6 +280,12 @@
EOpConvUvec2ToPtr,
EOpConvPtrToUvec2,
+ // uint64_t -> accelerationStructureEXT
+ EOpConvUint64ToAccStruct,
+
+ // uvec2 -> accelerationStructureEXT
+ EOpConvUvec2ToAccStruct,
+
//
// binary operations
//
@@ -631,6 +637,8 @@
EOpKill, // Fragment only
EOpTerminateInvocation, // Fragment only
EOpDemote, // Fragment only
+ EOpTerminateRayKHR, // Any-hit only
+ EOpIgnoreIntersectionKHR, // Any-hit only
EOpReturn,
EOpBreak,
EOpContinue,
@@ -752,6 +760,7 @@
EOpConstructNonuniform, // expected to be transformed away, not present in final AST
EOpConstructReference,
EOpConstructCooperativeMatrix,
+ EOpConstructAccStruct,
EOpConstructGuardEnd,
//
@@ -912,11 +921,13 @@
EOpAverageRounded,
EOpMul32x16,
- EOpTrace,
+ EOpTraceNV,
+ EOpTraceKHR,
EOpReportIntersection,
- EOpIgnoreIntersection,
- EOpTerminateRay,
- EOpExecuteCallable,
+ EOpIgnoreIntersectionNV,
+ EOpTerminateRayNV,
+ EOpExecuteCallableNV,
+ EOpExecuteCallableKHR,
EOpWritePackedPrimitiveIndices4x8NV,
//
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
index d073f60..a5ef6cc 100644
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -4421,9 +4421,7 @@
"\n");
stageBuiltins[EShLangAnyHit].append(
"void ignoreIntersectionNV();"
- "void ignoreIntersectionEXT();"
"void terminateRayNV();"
- "void terminateRayEXT();"
"\n");
stageBuiltins[EShLangClosestHit].append(
"void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
@@ -5454,6 +5452,15 @@
"in uint64_t gl_SubGroupLeMaskARB;"
"in uint64_t gl_SubGroupLtMaskARB;"
"\n";
+ const char* rtBallotDecls =
+ "uniform volatile uint gl_SubGroupSizeARB;"
+ "in volatile uint gl_SubGroupInvocationARB;"
+ "in volatile uint64_t gl_SubGroupEqMaskARB;"
+ "in volatile uint64_t gl_SubGroupGeMaskARB;"
+ "in volatile uint64_t gl_SubGroupGtMaskARB;"
+ "in volatile uint64_t gl_SubGroupLeMaskARB;"
+ "in volatile uint64_t gl_SubGroupLtMaskARB;"
+ "\n";
const char* fragmentBallotDecls =
"uniform uint gl_SubGroupSizeARB;"
"flat in uint gl_SubGroupInvocationARB;"
@@ -5471,6 +5478,13 @@
stageBuiltins[EShLangFragment] .append(fragmentBallotDecls);
stageBuiltins[EShLangMeshNV] .append(ballotDecls);
stageBuiltins[EShLangTaskNV] .append(ballotDecls);
+ stageBuiltins[EShLangRayGen] .append(rtBallotDecls);
+ stageBuiltins[EShLangIntersect] .append(rtBallotDecls);
+ // No volatile qualifier on these builtins in any-hit
+ stageBuiltins[EShLangAnyHit] .append(ballotDecls);
+ stageBuiltins[EShLangClosestHit] .append(rtBallotDecls);
+ stageBuiltins[EShLangMiss] .append(rtBallotDecls);
+ stageBuiltins[EShLangCallable] .append(rtBallotDecls);
}
// GL_KHR_shader_subgroup
@@ -5508,6 +5522,21 @@
"in highp uint gl_NumSubgroups;"
"in highp uint gl_SubgroupID;"
"\n";
+ // These builtins are volatile for RT stages
+ const char* rtSubgroupDecls =
+ "in mediump volatile uint gl_SubgroupSize;"
+ "in mediump volatile uint gl_SubgroupInvocationID;"
+ "in highp volatile uvec4 gl_SubgroupEqMask;"
+ "in highp volatile uvec4 gl_SubgroupGeMask;"
+ "in highp volatile uvec4 gl_SubgroupGtMask;"
+ "in highp volatile uvec4 gl_SubgroupLeMask;"
+ "in highp volatile uvec4 gl_SubgroupLtMask;"
+ // GL_NV_shader_sm_builtins
+ "in highp uint gl_WarpsPerSMNV;"
+ "in highp uint gl_SMCountNV;"
+ "in highp volatile uint gl_WarpIDNV;"
+ "in highp volatile uint gl_SMIDNV;"
+ "\n";
stageBuiltins[EShLangVertex] .append(subgroupDecls);
stageBuiltins[EShLangTessControl] .append(subgroupDecls);
@@ -5520,12 +5549,13 @@
stageBuiltins[EShLangMeshNV] .append(computeSubgroupDecls);
stageBuiltins[EShLangTaskNV] .append(subgroupDecls);
stageBuiltins[EShLangTaskNV] .append(computeSubgroupDecls);
- stageBuiltins[EShLangRayGen] .append(subgroupDecls);
- stageBuiltins[EShLangIntersect] .append(subgroupDecls);
+ stageBuiltins[EShLangRayGen] .append(rtSubgroupDecls);
+ stageBuiltins[EShLangIntersect] .append(rtSubgroupDecls);
+ // No volatile qualifier on these builtins in any-hit
stageBuiltins[EShLangAnyHit] .append(subgroupDecls);
- stageBuiltins[EShLangClosestHit] .append(subgroupDecls);
- stageBuiltins[EShLangMiss] .append(subgroupDecls);
- stageBuiltins[EShLangCallable] .append(subgroupDecls);
+ stageBuiltins[EShLangClosestHit] .append(rtSubgroupDecls);
+ stageBuiltins[EShLangMiss] .append(rtSubgroupDecls);
+ stageBuiltins[EShLangCallable] .append(rtSubgroupDecls);
}
// GL_NV_ray_tracing/GL_EXT_ray_tracing
@@ -5593,7 +5623,7 @@
"in float gl_RayTminNV;"
"in float gl_RayTminEXT;"
"in float gl_RayTmaxNV;"
- "in float gl_RayTmaxEXT;"
+ "in volatile float gl_RayTmaxEXT;"
"in mat4x3 gl_ObjectToWorldNV;"
"in mat4x3 gl_ObjectToWorldEXT;"
"in mat3x4 gl_ObjectToWorld3x4EXT;"
@@ -8454,9 +8484,7 @@
symbolTable.setFunctionExtensions("reportIntersectionNV", 1, &E_GL_NV_ray_tracing);
symbolTable.setFunctionExtensions("reportIntersectionEXT", 1, &E_GL_EXT_ray_tracing);
symbolTable.setFunctionExtensions("ignoreIntersectionNV", 1, &E_GL_NV_ray_tracing);
- symbolTable.setFunctionExtensions("ignoreIntersectionEXT", 1, &E_GL_EXT_ray_tracing);
symbolTable.setFunctionExtensions("terminateRayNV", 1, &E_GL_NV_ray_tracing);
- symbolTable.setFunctionExtensions("terminateRayEXT", 1, &E_GL_EXT_ray_tracing);
symbolTable.setFunctionExtensions("executeCallableNV", 1, &E_GL_NV_ray_tracing);
symbolTable.setFunctionExtensions("executeCallableEXT", 1, &E_GL_EXT_ray_tracing);
@@ -9286,10 +9314,10 @@
case EShLangClosestHit:
case EShLangMiss:
if (profile != EEsProfile && version >= 460) {
- symbolTable.relateToOperator("traceNV", EOpTrace);
- symbolTable.relateToOperator("traceRayEXT", EOpTrace);
- symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallable);
- symbolTable.relateToOperator("executeCallableEXT", EOpExecuteCallable);
+ symbolTable.relateToOperator("traceNV", EOpTraceNV);
+ symbolTable.relateToOperator("traceRayEXT", EOpTraceKHR);
+ symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallableNV);
+ symbolTable.relateToOperator("executeCallableEXT", EOpExecuteCallableKHR);
}
break;
case EShLangIntersect:
@@ -9300,16 +9328,14 @@
break;
case EShLangAnyHit:
if (profile != EEsProfile && version >= 460) {
- symbolTable.relateToOperator("ignoreIntersectionNV", EOpIgnoreIntersection);
- symbolTable.relateToOperator("ignoreIntersectionEXT", EOpIgnoreIntersection);
- symbolTable.relateToOperator("terminateRayNV", EOpTerminateRay);
- symbolTable.relateToOperator("terminateRayEXT", EOpTerminateRay);
+ symbolTable.relateToOperator("ignoreIntersectionNV", EOpIgnoreIntersectionNV);
+ symbolTable.relateToOperator("terminateRayNV", EOpTerminateRayNV);
}
break;
case EShLangCallable:
if (profile != EEsProfile && version >= 460) {
- symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallable);
- symbolTable.relateToOperator("executeCallableEXT", EOpExecuteCallable);
+ symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallableNV);
+ symbolTable.relateToOperator("executeCallableEXT", EOpExecuteCallableKHR);
}
break;
case EShLangMeshNV:
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index b8c220d..f6172a2 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -2298,6 +2298,10 @@
case EbtReference:
op = EOpConstructReference;
break;
+
+ case EbtAccStruct:
+ op = EOpConstructAccStruct;
+ break;
#endif
default:
break;
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index 63fb957..9c42a20 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -2076,14 +2076,32 @@
}
#ifndef GLSLANG_WEB
- case EOpTrace:
+ case EOpTraceNV:
if (!(*argp)[10]->getAsConstantUnion())
- error(loc, "argument must be compile-time constant", "payload number", "");
+ error(loc, "argument must be compile-time constant", "payload number", "a");
break;
- case EOpExecuteCallable:
+ case EOpTraceKHR:
+ if (!(*argp)[10]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "payload number", "a");
+ else {
+ unsigned int location = (*argp)[10]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (intermediate.checkLocationRT(0, location) < 0)
+ error(loc, "with layout(location =", "no rayPayloadEXT/rayPayloadInEXT declared", "%d)", location);
+ }
+ break;
+ case EOpExecuteCallableNV:
if (!(*argp)[1]->getAsConstantUnion())
error(loc, "argument must be compile-time constant", "callable data number", "");
break;
+ case EOpExecuteCallableKHR:
+ if (!(*argp)[1]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "callable data number", "");
+ else {
+ unsigned int location = (*argp)[1]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (intermediate.checkLocationRT(1, location) < 0)
+ error(loc, "with layout(location =", "no callableDataEXT/callableDataInEXT declared", "%d)", location);
+ }
+ break;
case EOpRayQueryGetIntersectionType:
case EOpRayQueryGetIntersectionT:
@@ -3440,7 +3458,7 @@
if (! symbolTable.atGlobalLevel())
return;
- if (!(publicType.userDef && publicType.userDef->isReference())) {
+ if (!(publicType.userDef && publicType.userDef->isReference()) && !parsingBuiltins) {
if (qualifier.isMemoryQualifierImageAndSSBOOnly() && ! publicType.isImage() && publicType.qualifier.storage != EvqBuffer) {
error(loc, "memory qualifiers cannot be used on this type", "", "");
} else if (qualifier.isMemory() && (publicType.basicType != EbtSampler) && !publicType.qualifier.isUniformOrBuffer()) {
@@ -7460,6 +7478,19 @@
return node;
+ case EOpConstructAccStruct:
+ if ((node->getType().isScalar() && node->getType().getBasicType() == EbtUint64)) {
+ // construct acceleration structure from uint64
+ requireExtensions(loc, 1, &E_GL_EXT_ray_tracing, "uint64_t conversion to acclerationStructureEXT");
+ return intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvUint64ToAccStruct, true, node,
+ type);
+ } else if (node->getType().isVector() && node->getType().getBasicType() == EbtUint && node->getVectorSize() == 2) {
+ // construct acceleration structure from uint64
+ requireExtensions(loc, 1, &E_GL_EXT_ray_tracing, "uvec2 conversion to accelerationStructureEXT");
+ return intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvUvec2ToAccStruct, true, node,
+ type);
+ } else
+ return nullptr;
#endif // GLSLANG_WEB
default:
diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp
index bcf4047..78c8a36 100644
--- a/glslang/MachineIndependent/Scan.cpp
+++ b/glslang/MachineIndependent/Scan.cpp
@@ -366,6 +366,8 @@
(*KeywordMap)["else"] = ELSE;
(*KeywordMap)["discard"] = DISCARD;
(*KeywordMap)["terminateInvocation"] = TERMINATE_INVOCATION;
+ (*KeywordMap)["terminateRayEXT"] = TERMINATE_RAY;
+ (*KeywordMap)["ignoreIntersectionEXT"] = IGNORE_INTERSECTION;
(*KeywordMap)["return"] = RETURN;
(*KeywordMap)["void"] = VOID;
(*KeywordMap)["bool"] = BOOL;
@@ -942,6 +944,12 @@
return identifierOrType();
return keyword;
+ case TERMINATE_RAY:
+ case IGNORE_INTERSECTION:
+ if (!parseContext.extensionTurnedOn(E_GL_EXT_ray_tracing))
+ return identifierOrType();
+ return keyword;
+
case BUFFER:
afterBuffer = true;
if ((parseContext.isEsProfile() && parseContext.version < 310) ||
diff --git a/glslang/MachineIndependent/glslang.m4 b/glslang/MachineIndependent/glslang.m4
index 5b0adb0..8884b26 100644
--- a/glslang/MachineIndependent/glslang.m4
+++ b/glslang/MachineIndependent/glslang.m4
@@ -294,6 +294,7 @@
%token <lex> STRUCT VOID WHILE
%token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT
%token <lex> TERMINATE_INVOCATION
+%token <lex> TERMINATE_RAY IGNORE_INTERSECTION
%token <lex> UNIFORM SHARED BUFFER
%token <lex> FLAT SMOOTH LAYOUT
@@ -3932,6 +3933,16 @@
parseContext.requireStage($1.loc, EShLangFragment, "terminateInvocation");
$$ = parseContext.intermediate.addBranch(EOpTerminateInvocation, $1.loc);
}
+GLSLANG_WEB_EXCLUDE_ON
+ | TERMINATE_RAY SEMICOLON {
+ parseContext.requireStage($1.loc, EShLangAnyHit, "terminateRayEXT");
+ $$ = parseContext.intermediate.addBranch(EOpTerminateRayKHR, $1.loc);
+ }
+ | IGNORE_INTERSECTION SEMICOLON {
+ parseContext.requireStage($1.loc, EShLangAnyHit, "ignoreIntersectionEXT");
+ $$ = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, $1.loc);
+ }
+GLSLANG_WEB_EXCLUDE_OFF
;
// Grammar Note: No 'goto'. Gotos are not supported.
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index 4093b7d..2681d48 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -294,6 +294,7 @@
%token <lex> STRUCT VOID WHILE
%token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT
%token <lex> TERMINATE_INVOCATION
+%token <lex> TERMINATE_RAY IGNORE_INTERSECTION
%token <lex> UNIFORM SHARED BUFFER
%token <lex> FLAT SMOOTH LAYOUT
@@ -3932,6 +3933,16 @@
parseContext.requireStage($1.loc, EShLangFragment, "terminateInvocation");
$$ = parseContext.intermediate.addBranch(EOpTerminateInvocation, $1.loc);
}
+
+ | TERMINATE_RAY SEMICOLON {
+ parseContext.requireStage($1.loc, EShLangAnyHit, "terminateRayEXT");
+ $$ = parseContext.intermediate.addBranch(EOpTerminateRayKHR, $1.loc);
+ }
+ | IGNORE_INTERSECTION SEMICOLON {
+ parseContext.requireStage($1.loc, EShLangAnyHit, "ignoreIntersectionEXT");
+ $$ = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, $1.loc);
+ }
+
;
// Grammar Note: No 'goto'. Gotos are not supported.
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index ad7deb3..feecc98 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.7.2. */
+/* A Bison parser, made by GNU Bison 3.7.4. */
/* Bison implementation for Yacc-like parsers in C
@@ -45,11 +45,11 @@
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
-/* Identify Bison output. */
-#define YYBISON 1
+/* Identify Bison output, and Bison version. */
+#define YYBISON 30704
-/* Bison version. */
-#define YYBISON_VERSION "3.7.2"
+/* Bison version string. */
+#define YYBISON_VERSION "3.7.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -67,7 +67,7 @@
/* First part of user prologue. */
-#line 69 "glslang/MachineIndependent/glslang.y"
+#line 69 "MachineIndependent/glslang.y"
/* Based on:
@@ -93,7 +93,7 @@
using namespace glslang;
-#line 97 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 97 "MachineIndependent/glslang_tab.cpp"
# ifndef YY_CAST
# ifdef __cplusplus
@@ -517,170 +517,172 @@
YYSYMBOL_CASE = 393, /* CASE */
YYSYMBOL_DEFAULT = 394, /* DEFAULT */
YYSYMBOL_TERMINATE_INVOCATION = 395, /* TERMINATE_INVOCATION */
- YYSYMBOL_UNIFORM = 396, /* UNIFORM */
- YYSYMBOL_SHARED = 397, /* SHARED */
- YYSYMBOL_BUFFER = 398, /* BUFFER */
- YYSYMBOL_FLAT = 399, /* FLAT */
- YYSYMBOL_SMOOTH = 400, /* SMOOTH */
- YYSYMBOL_LAYOUT = 401, /* LAYOUT */
- YYSYMBOL_DOUBLECONSTANT = 402, /* DOUBLECONSTANT */
- YYSYMBOL_INT16CONSTANT = 403, /* INT16CONSTANT */
- YYSYMBOL_UINT16CONSTANT = 404, /* UINT16CONSTANT */
- YYSYMBOL_FLOAT16CONSTANT = 405, /* FLOAT16CONSTANT */
- YYSYMBOL_INT32CONSTANT = 406, /* INT32CONSTANT */
- YYSYMBOL_UINT32CONSTANT = 407, /* UINT32CONSTANT */
- YYSYMBOL_INT64CONSTANT = 408, /* INT64CONSTANT */
- YYSYMBOL_UINT64CONSTANT = 409, /* UINT64CONSTANT */
- YYSYMBOL_SUBROUTINE = 410, /* SUBROUTINE */
- YYSYMBOL_DEMOTE = 411, /* DEMOTE */
- YYSYMBOL_PAYLOADNV = 412, /* PAYLOADNV */
- YYSYMBOL_PAYLOADINNV = 413, /* PAYLOADINNV */
- YYSYMBOL_HITATTRNV = 414, /* HITATTRNV */
- YYSYMBOL_CALLDATANV = 415, /* CALLDATANV */
- YYSYMBOL_CALLDATAINNV = 416, /* CALLDATAINNV */
- YYSYMBOL_PAYLOADEXT = 417, /* PAYLOADEXT */
- YYSYMBOL_PAYLOADINEXT = 418, /* PAYLOADINEXT */
- YYSYMBOL_HITATTREXT = 419, /* HITATTREXT */
- YYSYMBOL_CALLDATAEXT = 420, /* CALLDATAEXT */
- YYSYMBOL_CALLDATAINEXT = 421, /* CALLDATAINEXT */
- YYSYMBOL_PATCH = 422, /* PATCH */
- YYSYMBOL_SAMPLE = 423, /* SAMPLE */
- YYSYMBOL_NONUNIFORM = 424, /* NONUNIFORM */
- YYSYMBOL_COHERENT = 425, /* COHERENT */
- YYSYMBOL_VOLATILE = 426, /* VOLATILE */
- YYSYMBOL_RESTRICT = 427, /* RESTRICT */
- YYSYMBOL_READONLY = 428, /* READONLY */
- YYSYMBOL_WRITEONLY = 429, /* WRITEONLY */
- YYSYMBOL_DEVICECOHERENT = 430, /* DEVICECOHERENT */
- YYSYMBOL_QUEUEFAMILYCOHERENT = 431, /* QUEUEFAMILYCOHERENT */
- YYSYMBOL_WORKGROUPCOHERENT = 432, /* WORKGROUPCOHERENT */
- YYSYMBOL_SUBGROUPCOHERENT = 433, /* SUBGROUPCOHERENT */
- YYSYMBOL_NONPRIVATE = 434, /* NONPRIVATE */
- YYSYMBOL_SHADERCALLCOHERENT = 435, /* SHADERCALLCOHERENT */
- YYSYMBOL_NOPERSPECTIVE = 436, /* NOPERSPECTIVE */
- YYSYMBOL_EXPLICITINTERPAMD = 437, /* EXPLICITINTERPAMD */
- YYSYMBOL_PERVERTEXNV = 438, /* PERVERTEXNV */
- YYSYMBOL_PERPRIMITIVENV = 439, /* PERPRIMITIVENV */
- YYSYMBOL_PERVIEWNV = 440, /* PERVIEWNV */
- YYSYMBOL_PERTASKNV = 441, /* PERTASKNV */
- YYSYMBOL_PRECISE = 442, /* PRECISE */
- YYSYMBOL_YYACCEPT = 443, /* $accept */
- YYSYMBOL_variable_identifier = 444, /* variable_identifier */
- YYSYMBOL_primary_expression = 445, /* primary_expression */
- YYSYMBOL_postfix_expression = 446, /* postfix_expression */
- YYSYMBOL_integer_expression = 447, /* integer_expression */
- YYSYMBOL_function_call = 448, /* function_call */
- YYSYMBOL_function_call_or_method = 449, /* function_call_or_method */
- YYSYMBOL_function_call_generic = 450, /* function_call_generic */
- YYSYMBOL_function_call_header_no_parameters = 451, /* function_call_header_no_parameters */
- YYSYMBOL_function_call_header_with_parameters = 452, /* function_call_header_with_parameters */
- YYSYMBOL_function_call_header = 453, /* function_call_header */
- YYSYMBOL_function_identifier = 454, /* function_identifier */
- YYSYMBOL_unary_expression = 455, /* unary_expression */
- YYSYMBOL_unary_operator = 456, /* unary_operator */
- YYSYMBOL_multiplicative_expression = 457, /* multiplicative_expression */
- YYSYMBOL_additive_expression = 458, /* additive_expression */
- YYSYMBOL_shift_expression = 459, /* shift_expression */
- YYSYMBOL_relational_expression = 460, /* relational_expression */
- YYSYMBOL_equality_expression = 461, /* equality_expression */
- YYSYMBOL_and_expression = 462, /* and_expression */
- YYSYMBOL_exclusive_or_expression = 463, /* exclusive_or_expression */
- YYSYMBOL_inclusive_or_expression = 464, /* inclusive_or_expression */
- YYSYMBOL_logical_and_expression = 465, /* logical_and_expression */
- YYSYMBOL_logical_xor_expression = 466, /* logical_xor_expression */
- YYSYMBOL_logical_or_expression = 467, /* logical_or_expression */
- YYSYMBOL_conditional_expression = 468, /* conditional_expression */
- YYSYMBOL_469_1 = 469, /* $@1 */
- YYSYMBOL_assignment_expression = 470, /* assignment_expression */
- YYSYMBOL_assignment_operator = 471, /* assignment_operator */
- YYSYMBOL_expression = 472, /* expression */
- YYSYMBOL_constant_expression = 473, /* constant_expression */
- YYSYMBOL_declaration = 474, /* declaration */
- YYSYMBOL_block_structure = 475, /* block_structure */
- YYSYMBOL_476_2 = 476, /* $@2 */
- YYSYMBOL_identifier_list = 477, /* identifier_list */
- YYSYMBOL_function_prototype = 478, /* function_prototype */
- YYSYMBOL_function_declarator = 479, /* function_declarator */
- YYSYMBOL_function_header_with_parameters = 480, /* function_header_with_parameters */
- YYSYMBOL_function_header = 481, /* function_header */
- YYSYMBOL_parameter_declarator = 482, /* parameter_declarator */
- YYSYMBOL_parameter_declaration = 483, /* parameter_declaration */
- YYSYMBOL_parameter_type_specifier = 484, /* parameter_type_specifier */
- YYSYMBOL_init_declarator_list = 485, /* init_declarator_list */
- YYSYMBOL_single_declaration = 486, /* single_declaration */
- YYSYMBOL_fully_specified_type = 487, /* fully_specified_type */
- YYSYMBOL_invariant_qualifier = 488, /* invariant_qualifier */
- YYSYMBOL_interpolation_qualifier = 489, /* interpolation_qualifier */
- YYSYMBOL_layout_qualifier = 490, /* layout_qualifier */
- YYSYMBOL_layout_qualifier_id_list = 491, /* layout_qualifier_id_list */
- YYSYMBOL_layout_qualifier_id = 492, /* layout_qualifier_id */
- YYSYMBOL_precise_qualifier = 493, /* precise_qualifier */
- YYSYMBOL_type_qualifier = 494, /* type_qualifier */
- YYSYMBOL_single_type_qualifier = 495, /* single_type_qualifier */
- YYSYMBOL_storage_qualifier = 496, /* storage_qualifier */
- YYSYMBOL_non_uniform_qualifier = 497, /* non_uniform_qualifier */
- YYSYMBOL_type_name_list = 498, /* type_name_list */
- YYSYMBOL_type_specifier = 499, /* type_specifier */
- YYSYMBOL_array_specifier = 500, /* array_specifier */
- YYSYMBOL_type_parameter_specifier_opt = 501, /* type_parameter_specifier_opt */
- YYSYMBOL_type_parameter_specifier = 502, /* type_parameter_specifier */
- YYSYMBOL_type_parameter_specifier_list = 503, /* type_parameter_specifier_list */
- YYSYMBOL_type_specifier_nonarray = 504, /* type_specifier_nonarray */
- YYSYMBOL_precision_qualifier = 505, /* precision_qualifier */
- YYSYMBOL_struct_specifier = 506, /* struct_specifier */
- YYSYMBOL_507_3 = 507, /* $@3 */
- YYSYMBOL_508_4 = 508, /* $@4 */
- YYSYMBOL_struct_declaration_list = 509, /* struct_declaration_list */
- YYSYMBOL_struct_declaration = 510, /* struct_declaration */
- YYSYMBOL_struct_declarator_list = 511, /* struct_declarator_list */
- YYSYMBOL_struct_declarator = 512, /* struct_declarator */
- YYSYMBOL_initializer = 513, /* initializer */
- YYSYMBOL_initializer_list = 514, /* initializer_list */
- YYSYMBOL_declaration_statement = 515, /* declaration_statement */
- YYSYMBOL_statement = 516, /* statement */
- YYSYMBOL_simple_statement = 517, /* simple_statement */
- YYSYMBOL_demote_statement = 518, /* demote_statement */
- YYSYMBOL_compound_statement = 519, /* compound_statement */
- YYSYMBOL_520_5 = 520, /* $@5 */
- YYSYMBOL_521_6 = 521, /* $@6 */
- YYSYMBOL_statement_no_new_scope = 522, /* statement_no_new_scope */
- YYSYMBOL_statement_scoped = 523, /* statement_scoped */
- YYSYMBOL_524_7 = 524, /* $@7 */
- YYSYMBOL_525_8 = 525, /* $@8 */
- YYSYMBOL_compound_statement_no_new_scope = 526, /* compound_statement_no_new_scope */
- YYSYMBOL_statement_list = 527, /* statement_list */
- YYSYMBOL_expression_statement = 528, /* expression_statement */
- YYSYMBOL_selection_statement = 529, /* selection_statement */
- YYSYMBOL_selection_statement_nonattributed = 530, /* selection_statement_nonattributed */
- YYSYMBOL_selection_rest_statement = 531, /* selection_rest_statement */
- YYSYMBOL_condition = 532, /* condition */
- YYSYMBOL_switch_statement = 533, /* switch_statement */
- YYSYMBOL_switch_statement_nonattributed = 534, /* switch_statement_nonattributed */
- YYSYMBOL_535_9 = 535, /* $@9 */
- YYSYMBOL_switch_statement_list = 536, /* switch_statement_list */
- YYSYMBOL_case_label = 537, /* case_label */
- YYSYMBOL_iteration_statement = 538, /* iteration_statement */
- YYSYMBOL_iteration_statement_nonattributed = 539, /* iteration_statement_nonattributed */
- YYSYMBOL_540_10 = 540, /* $@10 */
- YYSYMBOL_541_11 = 541, /* $@11 */
- YYSYMBOL_542_12 = 542, /* $@12 */
- YYSYMBOL_for_init_statement = 543, /* for_init_statement */
- YYSYMBOL_conditionopt = 544, /* conditionopt */
- YYSYMBOL_for_rest_statement = 545, /* for_rest_statement */
- YYSYMBOL_jump_statement = 546, /* jump_statement */
- YYSYMBOL_translation_unit = 547, /* translation_unit */
- YYSYMBOL_external_declaration = 548, /* external_declaration */
- YYSYMBOL_function_definition = 549, /* function_definition */
- YYSYMBOL_550_13 = 550, /* $@13 */
- YYSYMBOL_attribute = 551, /* attribute */
- YYSYMBOL_attribute_list = 552, /* attribute_list */
- YYSYMBOL_single_attribute = 553 /* single_attribute */
+ YYSYMBOL_TERMINATE_RAY = 396, /* TERMINATE_RAY */
+ YYSYMBOL_IGNORE_INTERSECTION = 397, /* IGNORE_INTERSECTION */
+ YYSYMBOL_UNIFORM = 398, /* UNIFORM */
+ YYSYMBOL_SHARED = 399, /* SHARED */
+ YYSYMBOL_BUFFER = 400, /* BUFFER */
+ YYSYMBOL_FLAT = 401, /* FLAT */
+ YYSYMBOL_SMOOTH = 402, /* SMOOTH */
+ YYSYMBOL_LAYOUT = 403, /* LAYOUT */
+ YYSYMBOL_DOUBLECONSTANT = 404, /* DOUBLECONSTANT */
+ YYSYMBOL_INT16CONSTANT = 405, /* INT16CONSTANT */
+ YYSYMBOL_UINT16CONSTANT = 406, /* UINT16CONSTANT */
+ YYSYMBOL_FLOAT16CONSTANT = 407, /* FLOAT16CONSTANT */
+ YYSYMBOL_INT32CONSTANT = 408, /* INT32CONSTANT */
+ YYSYMBOL_UINT32CONSTANT = 409, /* UINT32CONSTANT */
+ YYSYMBOL_INT64CONSTANT = 410, /* INT64CONSTANT */
+ YYSYMBOL_UINT64CONSTANT = 411, /* UINT64CONSTANT */
+ YYSYMBOL_SUBROUTINE = 412, /* SUBROUTINE */
+ YYSYMBOL_DEMOTE = 413, /* DEMOTE */
+ YYSYMBOL_PAYLOADNV = 414, /* PAYLOADNV */
+ YYSYMBOL_PAYLOADINNV = 415, /* PAYLOADINNV */
+ YYSYMBOL_HITATTRNV = 416, /* HITATTRNV */
+ YYSYMBOL_CALLDATANV = 417, /* CALLDATANV */
+ YYSYMBOL_CALLDATAINNV = 418, /* CALLDATAINNV */
+ YYSYMBOL_PAYLOADEXT = 419, /* PAYLOADEXT */
+ YYSYMBOL_PAYLOADINEXT = 420, /* PAYLOADINEXT */
+ YYSYMBOL_HITATTREXT = 421, /* HITATTREXT */
+ YYSYMBOL_CALLDATAEXT = 422, /* CALLDATAEXT */
+ YYSYMBOL_CALLDATAINEXT = 423, /* CALLDATAINEXT */
+ YYSYMBOL_PATCH = 424, /* PATCH */
+ YYSYMBOL_SAMPLE = 425, /* SAMPLE */
+ YYSYMBOL_NONUNIFORM = 426, /* NONUNIFORM */
+ YYSYMBOL_COHERENT = 427, /* COHERENT */
+ YYSYMBOL_VOLATILE = 428, /* VOLATILE */
+ YYSYMBOL_RESTRICT = 429, /* RESTRICT */
+ YYSYMBOL_READONLY = 430, /* READONLY */
+ YYSYMBOL_WRITEONLY = 431, /* WRITEONLY */
+ YYSYMBOL_DEVICECOHERENT = 432, /* DEVICECOHERENT */
+ YYSYMBOL_QUEUEFAMILYCOHERENT = 433, /* QUEUEFAMILYCOHERENT */
+ YYSYMBOL_WORKGROUPCOHERENT = 434, /* WORKGROUPCOHERENT */
+ YYSYMBOL_SUBGROUPCOHERENT = 435, /* SUBGROUPCOHERENT */
+ YYSYMBOL_NONPRIVATE = 436, /* NONPRIVATE */
+ YYSYMBOL_SHADERCALLCOHERENT = 437, /* SHADERCALLCOHERENT */
+ YYSYMBOL_NOPERSPECTIVE = 438, /* NOPERSPECTIVE */
+ YYSYMBOL_EXPLICITINTERPAMD = 439, /* EXPLICITINTERPAMD */
+ YYSYMBOL_PERVERTEXNV = 440, /* PERVERTEXNV */
+ YYSYMBOL_PERPRIMITIVENV = 441, /* PERPRIMITIVENV */
+ YYSYMBOL_PERVIEWNV = 442, /* PERVIEWNV */
+ YYSYMBOL_PERTASKNV = 443, /* PERTASKNV */
+ YYSYMBOL_PRECISE = 444, /* PRECISE */
+ YYSYMBOL_YYACCEPT = 445, /* $accept */
+ YYSYMBOL_variable_identifier = 446, /* variable_identifier */
+ YYSYMBOL_primary_expression = 447, /* primary_expression */
+ YYSYMBOL_postfix_expression = 448, /* postfix_expression */
+ YYSYMBOL_integer_expression = 449, /* integer_expression */
+ YYSYMBOL_function_call = 450, /* function_call */
+ YYSYMBOL_function_call_or_method = 451, /* function_call_or_method */
+ YYSYMBOL_function_call_generic = 452, /* function_call_generic */
+ YYSYMBOL_function_call_header_no_parameters = 453, /* function_call_header_no_parameters */
+ YYSYMBOL_function_call_header_with_parameters = 454, /* function_call_header_with_parameters */
+ YYSYMBOL_function_call_header = 455, /* function_call_header */
+ YYSYMBOL_function_identifier = 456, /* function_identifier */
+ YYSYMBOL_unary_expression = 457, /* unary_expression */
+ YYSYMBOL_unary_operator = 458, /* unary_operator */
+ YYSYMBOL_multiplicative_expression = 459, /* multiplicative_expression */
+ YYSYMBOL_additive_expression = 460, /* additive_expression */
+ YYSYMBOL_shift_expression = 461, /* shift_expression */
+ YYSYMBOL_relational_expression = 462, /* relational_expression */
+ YYSYMBOL_equality_expression = 463, /* equality_expression */
+ YYSYMBOL_and_expression = 464, /* and_expression */
+ YYSYMBOL_exclusive_or_expression = 465, /* exclusive_or_expression */
+ YYSYMBOL_inclusive_or_expression = 466, /* inclusive_or_expression */
+ YYSYMBOL_logical_and_expression = 467, /* logical_and_expression */
+ YYSYMBOL_logical_xor_expression = 468, /* logical_xor_expression */
+ YYSYMBOL_logical_or_expression = 469, /* logical_or_expression */
+ YYSYMBOL_conditional_expression = 470, /* conditional_expression */
+ YYSYMBOL_471_1 = 471, /* $@1 */
+ YYSYMBOL_assignment_expression = 472, /* assignment_expression */
+ YYSYMBOL_assignment_operator = 473, /* assignment_operator */
+ YYSYMBOL_expression = 474, /* expression */
+ YYSYMBOL_constant_expression = 475, /* constant_expression */
+ YYSYMBOL_declaration = 476, /* declaration */
+ YYSYMBOL_block_structure = 477, /* block_structure */
+ YYSYMBOL_478_2 = 478, /* $@2 */
+ YYSYMBOL_identifier_list = 479, /* identifier_list */
+ YYSYMBOL_function_prototype = 480, /* function_prototype */
+ YYSYMBOL_function_declarator = 481, /* function_declarator */
+ YYSYMBOL_function_header_with_parameters = 482, /* function_header_with_parameters */
+ YYSYMBOL_function_header = 483, /* function_header */
+ YYSYMBOL_parameter_declarator = 484, /* parameter_declarator */
+ YYSYMBOL_parameter_declaration = 485, /* parameter_declaration */
+ YYSYMBOL_parameter_type_specifier = 486, /* parameter_type_specifier */
+ YYSYMBOL_init_declarator_list = 487, /* init_declarator_list */
+ YYSYMBOL_single_declaration = 488, /* single_declaration */
+ YYSYMBOL_fully_specified_type = 489, /* fully_specified_type */
+ YYSYMBOL_invariant_qualifier = 490, /* invariant_qualifier */
+ YYSYMBOL_interpolation_qualifier = 491, /* interpolation_qualifier */
+ YYSYMBOL_layout_qualifier = 492, /* layout_qualifier */
+ YYSYMBOL_layout_qualifier_id_list = 493, /* layout_qualifier_id_list */
+ YYSYMBOL_layout_qualifier_id = 494, /* layout_qualifier_id */
+ YYSYMBOL_precise_qualifier = 495, /* precise_qualifier */
+ YYSYMBOL_type_qualifier = 496, /* type_qualifier */
+ YYSYMBOL_single_type_qualifier = 497, /* single_type_qualifier */
+ YYSYMBOL_storage_qualifier = 498, /* storage_qualifier */
+ YYSYMBOL_non_uniform_qualifier = 499, /* non_uniform_qualifier */
+ YYSYMBOL_type_name_list = 500, /* type_name_list */
+ YYSYMBOL_type_specifier = 501, /* type_specifier */
+ YYSYMBOL_array_specifier = 502, /* array_specifier */
+ YYSYMBOL_type_parameter_specifier_opt = 503, /* type_parameter_specifier_opt */
+ YYSYMBOL_type_parameter_specifier = 504, /* type_parameter_specifier */
+ YYSYMBOL_type_parameter_specifier_list = 505, /* type_parameter_specifier_list */
+ YYSYMBOL_type_specifier_nonarray = 506, /* type_specifier_nonarray */
+ YYSYMBOL_precision_qualifier = 507, /* precision_qualifier */
+ YYSYMBOL_struct_specifier = 508, /* struct_specifier */
+ YYSYMBOL_509_3 = 509, /* $@3 */
+ YYSYMBOL_510_4 = 510, /* $@4 */
+ YYSYMBOL_struct_declaration_list = 511, /* struct_declaration_list */
+ YYSYMBOL_struct_declaration = 512, /* struct_declaration */
+ YYSYMBOL_struct_declarator_list = 513, /* struct_declarator_list */
+ YYSYMBOL_struct_declarator = 514, /* struct_declarator */
+ YYSYMBOL_initializer = 515, /* initializer */
+ YYSYMBOL_initializer_list = 516, /* initializer_list */
+ YYSYMBOL_declaration_statement = 517, /* declaration_statement */
+ YYSYMBOL_statement = 518, /* statement */
+ YYSYMBOL_simple_statement = 519, /* simple_statement */
+ YYSYMBOL_demote_statement = 520, /* demote_statement */
+ YYSYMBOL_compound_statement = 521, /* compound_statement */
+ YYSYMBOL_522_5 = 522, /* $@5 */
+ YYSYMBOL_523_6 = 523, /* $@6 */
+ YYSYMBOL_statement_no_new_scope = 524, /* statement_no_new_scope */
+ YYSYMBOL_statement_scoped = 525, /* statement_scoped */
+ YYSYMBOL_526_7 = 526, /* $@7 */
+ YYSYMBOL_527_8 = 527, /* $@8 */
+ YYSYMBOL_compound_statement_no_new_scope = 528, /* compound_statement_no_new_scope */
+ YYSYMBOL_statement_list = 529, /* statement_list */
+ YYSYMBOL_expression_statement = 530, /* expression_statement */
+ YYSYMBOL_selection_statement = 531, /* selection_statement */
+ YYSYMBOL_selection_statement_nonattributed = 532, /* selection_statement_nonattributed */
+ YYSYMBOL_selection_rest_statement = 533, /* selection_rest_statement */
+ YYSYMBOL_condition = 534, /* condition */
+ YYSYMBOL_switch_statement = 535, /* switch_statement */
+ YYSYMBOL_switch_statement_nonattributed = 536, /* switch_statement_nonattributed */
+ YYSYMBOL_537_9 = 537, /* $@9 */
+ YYSYMBOL_switch_statement_list = 538, /* switch_statement_list */
+ YYSYMBOL_case_label = 539, /* case_label */
+ YYSYMBOL_iteration_statement = 540, /* iteration_statement */
+ YYSYMBOL_iteration_statement_nonattributed = 541, /* iteration_statement_nonattributed */
+ YYSYMBOL_542_10 = 542, /* $@10 */
+ YYSYMBOL_543_11 = 543, /* $@11 */
+ YYSYMBOL_544_12 = 544, /* $@12 */
+ YYSYMBOL_for_init_statement = 545, /* for_init_statement */
+ YYSYMBOL_conditionopt = 546, /* conditionopt */
+ YYSYMBOL_for_rest_statement = 547, /* for_rest_statement */
+ YYSYMBOL_jump_statement = 548, /* jump_statement */
+ YYSYMBOL_translation_unit = 549, /* translation_unit */
+ YYSYMBOL_external_declaration = 550, /* external_declaration */
+ YYSYMBOL_function_definition = 551, /* function_definition */
+ YYSYMBOL_552_13 = 552, /* $@13 */
+ YYSYMBOL_attribute = 553, /* attribute */
+ YYSYMBOL_attribute_list = 554, /* attribute_list */
+ YYSYMBOL_single_attribute = 555 /* single_attribute */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
/* Second part of user prologue. */
-#line 133 "glslang/MachineIndependent/glslang.y"
+#line 133 "MachineIndependent/glslang.y"
/* windows only pragma */
@@ -696,7 +698,7 @@
extern int yylex(YYSTYPE*, TParseContext&);
-#line 700 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 702 "MachineIndependent/glslang_tab.cpp"
#ifdef short
@@ -1002,19 +1004,19 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 416
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 10058
+#define YYLAST 10112
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 443
+#define YYNTOKENS 445
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 111
/* YYNRULES -- Number of rules. */
-#define YYNRULES 614
+#define YYNRULES 616
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 760
+#define YYNSTATES 764
/* YYMAXUTOK -- Last valid token kind. */
-#define YYMAXUTOK 697
+#define YYMAXUTOK 699
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -1097,75 +1099,75 @@
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
+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 370, 370, 376, 379, 384, 387, 390, 394, 398,
- 401, 405, 409, 413, 417, 421, 425, 431, 439, 442,
- 445, 448, 451, 456, 464, 471, 478, 484, 488, 495,
- 498, 504, 511, 521, 529, 534, 562, 571, 577, 581,
- 585, 605, 606, 607, 608, 614, 615, 620, 625, 634,
- 635, 640, 648, 649, 655, 664, 665, 670, 675, 680,
- 688, 689, 698, 710, 711, 720, 721, 730, 731, 740,
- 741, 749, 750, 758, 759, 767, 768, 768, 786, 787,
- 803, 807, 811, 815, 820, 824, 828, 832, 836, 840,
- 844, 851, 854, 865, 872, 877, 882, 889, 893, 897,
- 901, 906, 911, 920, 920, 931, 935, 942, 949, 952,
- 959, 967, 987, 1010, 1025, 1050, 1061, 1071, 1081, 1091,
- 1100, 1103, 1107, 1111, 1116, 1124, 1131, 1136, 1141, 1146,
- 1155, 1165, 1192, 1201, 1208, 1216, 1223, 1230, 1238, 1248,
- 1255, 1266, 1272, 1275, 1282, 1286, 1290, 1299, 1309, 1312,
- 1323, 1326, 1329, 1333, 1337, 1342, 1346, 1353, 1357, 1362,
- 1368, 1374, 1381, 1386, 1394, 1400, 1412, 1426, 1432, 1437,
- 1445, 1453, 1461, 1469, 1477, 1485, 1493, 1501, 1508, 1515,
- 1519, 1524, 1529, 1534, 1539, 1544, 1549, 1553, 1557, 1561,
- 1565, 1571, 1582, 1589, 1592, 1601, 1606, 1616, 1621, 1629,
- 1633, 1643, 1646, 1652, 1658, 1665, 1675, 1679, 1683, 1687,
- 1692, 1696, 1701, 1706, 1711, 1716, 1721, 1726, 1731, 1736,
- 1741, 1747, 1753, 1759, 1764, 1769, 1774, 1779, 1784, 1789,
- 1794, 1799, 1804, 1809, 1814, 1820, 1827, 1832, 1837, 1842,
- 1847, 1852, 1857, 1862, 1867, 1872, 1877, 1882, 1890, 1898,
- 1906, 1912, 1918, 1924, 1930, 1936, 1942, 1948, 1954, 1960,
- 1966, 1972, 1978, 1984, 1990, 1996, 2002, 2008, 2014, 2020,
- 2026, 2032, 2038, 2044, 2050, 2056, 2062, 2068, 2074, 2080,
- 2086, 2092, 2098, 2104, 2112, 2120, 2128, 2136, 2144, 2152,
- 2160, 2168, 2176, 2184, 2192, 2200, 2206, 2212, 2218, 2224,
- 2230, 2236, 2242, 2248, 2254, 2260, 2266, 2272, 2278, 2284,
- 2290, 2296, 2302, 2308, 2314, 2320, 2326, 2332, 2338, 2344,
- 2350, 2356, 2362, 2368, 2374, 2380, 2386, 2392, 2398, 2404,
- 2410, 2416, 2420, 2424, 2428, 2433, 2439, 2444, 2449, 2454,
- 2459, 2464, 2469, 2475, 2480, 2485, 2490, 2495, 2500, 2506,
- 2512, 2518, 2524, 2530, 2536, 2542, 2548, 2554, 2560, 2566,
- 2572, 2578, 2584, 2589, 2594, 2599, 2604, 2609, 2614, 2620,
- 2625, 2630, 2635, 2640, 2645, 2650, 2655, 2661, 2666, 2671,
- 2676, 2681, 2686, 2691, 2696, 2701, 2706, 2711, 2716, 2721,
- 2726, 2731, 2737, 2742, 2747, 2753, 2759, 2764, 2769, 2774,
- 2780, 2785, 2790, 2795, 2801, 2806, 2811, 2816, 2822, 2827,
- 2832, 2837, 2843, 2849, 2855, 2861, 2866, 2872, 2878, 2884,
- 2889, 2894, 2899, 2904, 2909, 2915, 2920, 2925, 2930, 2936,
- 2941, 2946, 2951, 2957, 2962, 2967, 2972, 2978, 2983, 2988,
- 2993, 2999, 3004, 3009, 3014, 3020, 3025, 3030, 3035, 3041,
- 3046, 3051, 3056, 3062, 3067, 3072, 3077, 3083, 3088, 3093,
- 3098, 3104, 3109, 3114, 3119, 3125, 3130, 3135, 3140, 3146,
- 3151, 3156, 3161, 3167, 3172, 3177, 3182, 3188, 3193, 3198,
- 3203, 3209, 3214, 3219, 3224, 3229, 3234, 3239, 3244, 3249,
- 3254, 3259, 3264, 3269, 3274, 3279, 3284, 3289, 3294, 3299,
- 3304, 3309, 3314, 3319, 3324, 3329, 3335, 3341, 3347, 3353,
- 3360, 3367, 3373, 3379, 3385, 3391, 3397, 3403, 3410, 3415,
- 3431, 3436, 3441, 3449, 3449, 3460, 3460, 3470, 3473, 3486,
- 3508, 3535, 3539, 3545, 3550, 3561, 3565, 3571, 3582, 3585,
- 3592, 3596, 3597, 3603, 3604, 3605, 3606, 3607, 3608, 3609,
- 3611, 3617, 3626, 3627, 3631, 3627, 3643, 3644, 3648, 3648,
- 3655, 3655, 3669, 3672, 3680, 3688, 3699, 3700, 3704, 3708,
- 3715, 3722, 3726, 3734, 3738, 3751, 3755, 3762, 3762, 3782,
- 3785, 3791, 3803, 3815, 3819, 3826, 3826, 3841, 3841, 3857,
- 3857, 3878, 3881, 3887, 3890, 3896, 3900, 3907, 3912, 3917,
- 3924, 3927, 3931, 3940, 3944, 3953, 3956, 3960, 3969, 3969,
- 4011, 4017, 4020, 4025, 4028
+ 0, 371, 371, 377, 380, 385, 388, 391, 395, 399,
+ 402, 406, 410, 414, 418, 422, 426, 432, 440, 443,
+ 446, 449, 452, 457, 465, 472, 479, 485, 489, 496,
+ 499, 505, 512, 522, 530, 535, 563, 572, 578, 582,
+ 586, 606, 607, 608, 609, 615, 616, 621, 626, 635,
+ 636, 641, 649, 650, 656, 665, 666, 671, 676, 681,
+ 689, 690, 699, 711, 712, 721, 722, 731, 732, 741,
+ 742, 750, 751, 759, 760, 768, 769, 769, 787, 788,
+ 804, 808, 812, 816, 821, 825, 829, 833, 837, 841,
+ 845, 852, 855, 866, 873, 878, 883, 890, 894, 898,
+ 902, 907, 912, 921, 921, 932, 936, 943, 950, 953,
+ 960, 968, 988, 1011, 1026, 1051, 1062, 1072, 1082, 1092,
+ 1101, 1104, 1108, 1112, 1117, 1125, 1132, 1137, 1142, 1147,
+ 1156, 1166, 1193, 1202, 1209, 1217, 1224, 1231, 1239, 1249,
+ 1256, 1267, 1273, 1276, 1283, 1287, 1291, 1300, 1310, 1313,
+ 1324, 1327, 1330, 1334, 1338, 1343, 1347, 1354, 1358, 1363,
+ 1369, 1375, 1382, 1387, 1395, 1401, 1413, 1427, 1433, 1438,
+ 1446, 1454, 1462, 1470, 1478, 1486, 1494, 1502, 1509, 1516,
+ 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1554, 1558, 1562,
+ 1566, 1572, 1583, 1590, 1593, 1602, 1607, 1617, 1622, 1630,
+ 1634, 1644, 1647, 1653, 1659, 1666, 1676, 1680, 1684, 1688,
+ 1693, 1697, 1702, 1707, 1712, 1717, 1722, 1727, 1732, 1737,
+ 1742, 1748, 1754, 1760, 1765, 1770, 1775, 1780, 1785, 1790,
+ 1795, 1800, 1805, 1810, 1815, 1821, 1828, 1833, 1838, 1843,
+ 1848, 1853, 1858, 1863, 1868, 1873, 1878, 1883, 1891, 1899,
+ 1907, 1913, 1919, 1925, 1931, 1937, 1943, 1949, 1955, 1961,
+ 1967, 1973, 1979, 1985, 1991, 1997, 2003, 2009, 2015, 2021,
+ 2027, 2033, 2039, 2045, 2051, 2057, 2063, 2069, 2075, 2081,
+ 2087, 2093, 2099, 2105, 2113, 2121, 2129, 2137, 2145, 2153,
+ 2161, 2169, 2177, 2185, 2193, 2201, 2207, 2213, 2219, 2225,
+ 2231, 2237, 2243, 2249, 2255, 2261, 2267, 2273, 2279, 2285,
+ 2291, 2297, 2303, 2309, 2315, 2321, 2327, 2333, 2339, 2345,
+ 2351, 2357, 2363, 2369, 2375, 2381, 2387, 2393, 2399, 2405,
+ 2411, 2417, 2421, 2425, 2429, 2434, 2440, 2445, 2450, 2455,
+ 2460, 2465, 2470, 2476, 2481, 2486, 2491, 2496, 2501, 2507,
+ 2513, 2519, 2525, 2531, 2537, 2543, 2549, 2555, 2561, 2567,
+ 2573, 2579, 2585, 2590, 2595, 2600, 2605, 2610, 2615, 2621,
+ 2626, 2631, 2636, 2641, 2646, 2651, 2656, 2662, 2667, 2672,
+ 2677, 2682, 2687, 2692, 2697, 2702, 2707, 2712, 2717, 2722,
+ 2727, 2732, 2738, 2743, 2748, 2754, 2760, 2765, 2770, 2775,
+ 2781, 2786, 2791, 2796, 2802, 2807, 2812, 2817, 2823, 2828,
+ 2833, 2838, 2844, 2850, 2856, 2862, 2867, 2873, 2879, 2885,
+ 2890, 2895, 2900, 2905, 2910, 2916, 2921, 2926, 2931, 2937,
+ 2942, 2947, 2952, 2958, 2963, 2968, 2973, 2979, 2984, 2989,
+ 2994, 3000, 3005, 3010, 3015, 3021, 3026, 3031, 3036, 3042,
+ 3047, 3052, 3057, 3063, 3068, 3073, 3078, 3084, 3089, 3094,
+ 3099, 3105, 3110, 3115, 3120, 3126, 3131, 3136, 3141, 3147,
+ 3152, 3157, 3162, 3168, 3173, 3178, 3183, 3189, 3194, 3199,
+ 3204, 3210, 3215, 3220, 3225, 3230, 3235, 3240, 3245, 3250,
+ 3255, 3260, 3265, 3270, 3275, 3280, 3285, 3290, 3295, 3300,
+ 3305, 3310, 3315, 3320, 3325, 3330, 3336, 3342, 3348, 3354,
+ 3361, 3368, 3374, 3380, 3386, 3392, 3398, 3404, 3411, 3416,
+ 3432, 3437, 3442, 3450, 3450, 3461, 3461, 3471, 3474, 3487,
+ 3509, 3536, 3540, 3546, 3551, 3562, 3566, 3572, 3583, 3586,
+ 3593, 3597, 3598, 3604, 3605, 3606, 3607, 3608, 3609, 3610,
+ 3612, 3618, 3627, 3628, 3632, 3628, 3644, 3645, 3649, 3649,
+ 3656, 3656, 3670, 3673, 3681, 3689, 3700, 3701, 3705, 3709,
+ 3716, 3723, 3727, 3735, 3739, 3752, 3756, 3763, 3763, 3783,
+ 3786, 3792, 3804, 3816, 3820, 3827, 3827, 3842, 3842, 3858,
+ 3858, 3879, 3882, 3888, 3891, 3897, 3901, 3908, 3913, 3918,
+ 3925, 3928, 3932, 3937, 3941, 3951, 3955, 3964, 3967, 3971,
+ 3980, 3980, 4022, 4028, 4031, 4036, 4039
};
#endif
@@ -1266,19 +1268,20 @@
"IDENTIFIER", "TYPE_NAME", "CENTROID", "IN", "OUT", "INOUT", "STRUCT",
"VOID", "WHILE", "BREAK", "CONTINUE", "DO", "ELSE", "FOR", "IF",
"DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT", "TERMINATE_INVOCATION",
- "UNIFORM", "SHARED", "BUFFER", "FLAT", "SMOOTH", "LAYOUT",
- "DOUBLECONSTANT", "INT16CONSTANT", "UINT16CONSTANT", "FLOAT16CONSTANT",
- "INT32CONSTANT", "UINT32CONSTANT", "INT64CONSTANT", "UINT64CONSTANT",
- "SUBROUTINE", "DEMOTE", "PAYLOADNV", "PAYLOADINNV", "HITATTRNV",
- "CALLDATANV", "CALLDATAINNV", "PAYLOADEXT", "PAYLOADINEXT", "HITATTREXT",
- "CALLDATAEXT", "CALLDATAINEXT", "PATCH", "SAMPLE", "NONUNIFORM",
- "COHERENT", "VOLATILE", "RESTRICT", "READONLY", "WRITEONLY",
- "DEVICECOHERENT", "QUEUEFAMILYCOHERENT", "WORKGROUPCOHERENT",
- "SUBGROUPCOHERENT", "NONPRIVATE", "SHADERCALLCOHERENT", "NOPERSPECTIVE",
- "EXPLICITINTERPAMD", "PERVERTEXNV", "PERPRIMITIVENV", "PERVIEWNV",
- "PERTASKNV", "PRECISE", "$accept", "variable_identifier",
- "primary_expression", "postfix_expression", "integer_expression",
- "function_call", "function_call_or_method", "function_call_generic",
+ "TERMINATE_RAY", "IGNORE_INTERSECTION", "UNIFORM", "SHARED", "BUFFER",
+ "FLAT", "SMOOTH", "LAYOUT", "DOUBLECONSTANT", "INT16CONSTANT",
+ "UINT16CONSTANT", "FLOAT16CONSTANT", "INT32CONSTANT", "UINT32CONSTANT",
+ "INT64CONSTANT", "UINT64CONSTANT", "SUBROUTINE", "DEMOTE", "PAYLOADNV",
+ "PAYLOADINNV", "HITATTRNV", "CALLDATANV", "CALLDATAINNV", "PAYLOADEXT",
+ "PAYLOADINEXT", "HITATTREXT", "CALLDATAEXT", "CALLDATAINEXT", "PATCH",
+ "SAMPLE", "NONUNIFORM", "COHERENT", "VOLATILE", "RESTRICT", "READONLY",
+ "WRITEONLY", "DEVICECOHERENT", "QUEUEFAMILYCOHERENT",
+ "WORKGROUPCOHERENT", "SUBGROUPCOHERENT", "NONPRIVATE",
+ "SHADERCALLCOHERENT", "NOPERSPECTIVE", "EXPLICITINTERPAMD",
+ "PERVERTEXNV", "PERPRIMITIVENV", "PERVIEWNV", "PERTASKNV", "PRECISE",
+ "$accept", "variable_identifier", "primary_expression",
+ "postfix_expression", "integer_expression", "function_call",
+ "function_call_or_method", "function_call_generic",
"function_call_header_no_parameters",
"function_call_header_with_parameters", "function_call_header",
"function_identifier", "unary_expression", "unary_operator",
@@ -1373,11 +1376,11 @@
665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
- 695, 696, 697
+ 695, 696, 697, 698, 699
};
#endif
-#define YYPACT_NINF (-728)
+#define YYPACT_NINF (-732)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -1391,82 +1394,83 @@
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 4283, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- 109, -728, -728, -728, -728, -728, 1, -728, -728, -728,
- -728, -728, -728, -327, -323, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, 11, -271, 12,
- 19, 6483, 8, -728, 57, -728, -728, -728, -728, 4723,
- -728, -728, -728, -728, 37, -728, -728, 763, -728, -728,
- 16, -728, 107, -29, 92, -728, -336, -728, 136, -728,
- 6483, -728, -728, -728, 6483, 110, 117, -728, 54, -728,
- 68, -728, -728, 9027, 140, -728, -728, -728, 134, 6483,
- -728, 146, -728, 13, -728, -728, 59, 7343, -728, -335,
- 1203, -728, -728, -728, -728, 140, -331, -728, 7764, -330,
- -728, 126, -728, 85, 9027, 9027, -728, 9027, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, 36, -728, -728,
- -728, 170, 66, 9448, 173, -728, 9027, -728, -728, -343,
- 172, -728, 6483, 141, 5163, -728, 6483, 9027, -728, -29,
- -728, 145, -728, -728, 142, 93, 108, 26, 114, 154,
- 157, 159, 196, 195, 23, 181, 8185, -728, 183, 182,
- -728, -728, 186, 178, 180, -728, 191, 192, 184, 8606,
- 193, 9027, 187, 188, 194, 129, -728, -728, 99, -728,
- -271, 197, 202, -728, -728, -728, -728, -728, 1643, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, -22, 172,
- 7764, 21, 7764, -728, -728, 7764, 6483, -728, 160, -728,
- -728, -728, 76, -728, -728, 9027, 167, -728, -728, 9027,
- 204, -728, -728, -728, 9027, -728, 141, 140, 106, -728,
- -728, -728, 5603, -728, -728, -728, -728, 9027, 9027, 9027,
- 9027, 9027, 9027, 9027, 9027, 9027, 9027, 9027, 9027, 9027,
- 9027, 9027, 9027, 9027, 9027, 9027, -728, -728, -728, 207,
- 171, -728, 2083, -728, -728, -728, 2083, -728, 9027, -728,
- -728, 122, 9027, 143, -728, -728, -728, -728, -728, -728,
- -728, -728, -728, -728, -728, -728, -728, -728, 9027, 9027,
- -728, -728, -728, -728, -728, -728, -728, 7764, -728, 132,
- -728, 6043, -728, -728, 208, 205, -728, -728, -728, 123,
- 172, 141, -728, -728, -728, -728, -728, 142, 142, 93,
- 93, 108, 108, 108, 108, 26, 26, 114, 154, 157,
- 159, 196, 195, 9027, -728, 213, 61, -728, 2083, 3843,
- 174, 3403, 78, -728, 81, -728, -728, -728, -728, -728,
- 6922, -728, -728, -728, -728, 153, 9027, 211, 171, 210,
- 205, 185, 6483, 218, 220, -728, -728, 3843, 219, -728,
- -728, -728, 9027, 221, -728, -728, -728, 215, 2523, 9027,
- -728, 217, 224, 189, 225, 2963, -728, 226, -728, -728,
- 7764, -728, -728, -728, 83, 9027, 2523, 219, -728, -728,
- 2083, -728, 222, 205, -728, -728, 2083, 223, -728, -728
+ 4303, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ 109, -732, -732, -732, -732, -732, 1, -732, -732, -732,
+ -732, -732, -732, -324, -261, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, 11, 44, 22,
+ 7, 6513, -332, -732, -10, -732, -732, -732, -732, 4745,
+ -732, -732, -732, -732, 46, -732, -732, 767, -732, -732,
+ 16, -732, 69, -5, 47, -732, -338, -732, 91, -732,
+ 6513, -732, -732, -732, 6513, 72, 80, -732, 13, -732,
+ 74, -732, -732, 9069, 126, -732, -732, -732, 127, 6513,
+ -732, 144, -732, 17, -732, -732, 61, 7377, -732, 10,
+ 1209, -732, -732, -732, -732, 126, 25, -732, 7800, 26,
+ -732, 119, -732, 78, 9069, 9069, -732, 9069, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, 36, -732, -732,
+ -732, 164, 65, 9492, 171, -732, 9069, -732, -732, -340,
+ 173, -732, 6513, 140, 5187, -732, 6513, 9069, -732, -5,
+ -732, 141, -732, -732, 124, 130, 179, 27, 117, 156,
+ 158, 160, 195, 194, 20, 181, 8223, -732, 183, 182,
+ -732, -732, 186, 178, 180, -732, 189, 192, 184, 8646,
+ 193, 9069, 187, 188, 190, 196, 197, 129, -732, -732,
+ 89, -732, 44, 199, 204, -732, -732, -732, -732, -732,
+ 1651, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -376, 173, 7800, 54, 7800, -732, -732, 7800, 6513, -732,
+ 161, -732, -732, -732, 70, -732, -732, 9069, 169, -732,
+ -732, 9069, 207, -732, -732, -732, 9069, -732, 140, 126,
+ 103, -732, -732, -732, 5629, -732, -732, -732, -732, 9069,
+ 9069, 9069, 9069, 9069, 9069, 9069, 9069, 9069, 9069, 9069,
+ 9069, 9069, 9069, 9069, 9069, 9069, 9069, 9069, -732, -732,
+ -732, 209, 177, -732, 2093, -732, -732, -732, 2093, -732,
+ 9069, -732, -732, 122, 9069, 152, -732, -732, -732, -732,
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, 9069, 9069, -732, -732, -732, -732, -732, -732,
+ -732, 7800, -732, 143, -732, 6071, -732, -732, 211, 208,
+ -732, -732, -732, 123, 173, 140, -732, -732, -732, -732,
+ -732, 124, 124, 130, 130, 179, 179, 179, 179, 27,
+ 27, 117, 156, 158, 160, 195, 194, 9069, -732, 216,
+ 87, -732, 2093, 3861, 174, 3419, 75, -732, 85, -732,
+ -732, -732, -732, -732, 6954, -732, -732, -732, -732, 154,
+ 9069, 217, 177, 191, 208, 185, 6513, 221, 223, -732,
+ -732, 3861, 220, -732, -732, -732, 9069, 224, -732, -732,
+ -732, 218, 2535, 9069, -732, 219, 225, 198, 226, 2977,
+ -732, 227, -732, -732, 7800, -732, -732, -732, 86, 9069,
+ 2535, 220, -732, -732, 2093, -732, 222, 208, -732, -732,
+ 2093, 228, -732, -732
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1505,19 +1509,19 @@
421, 415, 420, 422, 423, 425, 426, 427, 429, 430,
431, 433, 434, 435, 437, 438, 411, 412, 413, 424,
414, 416, 417, 418, 428, 432, 436, 507, 508, 511,
- 512, 513, 514, 509, 510, 607, 132, 520, 521, 522,
+ 512, 513, 514, 509, 510, 609, 132, 520, 521, 522,
0, 519, 161, 159, 160, 158, 0, 206, 162, 163,
164, 134, 133, 0, 190, 171, 173, 169, 175, 177,
172, 174, 170, 176, 178, 167, 168, 192, 179, 186,
187, 188, 189, 180, 181, 182, 183, 184, 185, 135,
- 136, 137, 138, 139, 140, 147, 606, 0, 608, 0,
+ 136, 137, 138, 139, 140, 147, 608, 0, 610, 0,
109, 108, 0, 120, 125, 154, 153, 151, 155, 0,
- 148, 150, 156, 130, 202, 152, 518, 0, 603, 605,
+ 148, 150, 156, 130, 202, 152, 518, 0, 605, 607,
0, 525, 0, 0, 0, 97, 0, 94, 0, 107,
0, 116, 110, 118, 0, 119, 0, 95, 126, 100,
- 0, 149, 131, 0, 195, 201, 1, 604, 0, 0,
+ 0, 149, 131, 0, 195, 201, 1, 606, 0, 0,
523, 144, 146, 0, 142, 193, 0, 0, 98, 0,
- 0, 609, 111, 115, 117, 113, 121, 112, 0, 127,
+ 0, 611, 111, 115, 117, 113, 121, 112, 0, 127,
103, 0, 101, 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,
@@ -1526,64 +1530,65 @@
191, 0, 197, 45, 49, 52, 55, 60, 63, 65,
67, 69, 71, 73, 75, 0, 0, 99, 0, 553,
562, 566, 0, 0, 0, 587, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 45, 78, 91, 0, 540,
- 0, 156, 130, 543, 564, 542, 550, 541, 0, 544,
- 545, 568, 546, 575, 547, 548, 583, 549, 0, 114,
- 0, 122, 0, 535, 129, 0, 0, 105, 0, 102,
- 38, 39, 0, 22, 23, 0, 0, 28, 27, 0,
- 206, 31, 33, 40, 0, 203, 0, 533, 0, 531,
- 526, 528, 0, 93, 145, 143, 194, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 45, 78, 91,
+ 0, 540, 0, 156, 130, 543, 564, 542, 550, 541,
+ 0, 544, 545, 568, 546, 575, 547, 548, 583, 549,
+ 0, 114, 0, 122, 0, 535, 129, 0, 0, 105,
+ 0, 102, 38, 39, 0, 22, 23, 0, 0, 28,
+ 27, 0, 206, 31, 33, 40, 0, 203, 0, 533,
+ 0, 531, 526, 528, 0, 93, 145, 143, 194, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 76, 198, 199, 0,
- 0, 552, 0, 585, 598, 597, 0, 589, 0, 601,
- 599, 0, 0, 0, 582, 602, 551, 81, 82, 84,
- 83, 86, 87, 88, 89, 90, 85, 80, 0, 0,
- 567, 563, 565, 569, 576, 584, 124, 0, 538, 0,
- 128, 0, 106, 4, 0, 24, 21, 32, 205, 0,
- 534, 0, 529, 524, 46, 47, 48, 51, 50, 53,
- 54, 58, 59, 56, 57, 61, 62, 64, 66, 68,
- 70, 72, 74, 0, 200, 613, 0, 611, 554, 0,
- 0, 0, 0, 600, 0, 581, 79, 92, 123, 536,
- 0, 104, 19, 530, 532, 0, 0, 0, 0, 0,
- 573, 0, 0, 0, 0, 592, 591, 594, 560, 577,
- 537, 539, 0, 0, 610, 612, 555, 0, 0, 0,
- 593, 0, 0, 572, 0, 0, 570, 0, 77, 614,
- 0, 557, 586, 556, 0, 595, 0, 560, 559, 561,
- 579, 574, 0, 596, 590, 571, 580, 0, 588, 578
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 198,
+ 199, 0, 0, 552, 0, 585, 598, 597, 0, 589,
+ 0, 601, 599, 0, 0, 0, 582, 602, 603, 604,
+ 551, 81, 82, 84, 83, 86, 87, 88, 89, 90,
+ 85, 80, 0, 0, 567, 563, 565, 569, 576, 584,
+ 124, 0, 538, 0, 128, 0, 106, 4, 0, 24,
+ 21, 32, 205, 0, 534, 0, 529, 524, 46, 47,
+ 48, 51, 50, 53, 54, 58, 59, 56, 57, 61,
+ 62, 64, 66, 68, 70, 72, 74, 0, 200, 615,
+ 0, 613, 554, 0, 0, 0, 0, 600, 0, 581,
+ 79, 92, 123, 536, 0, 104, 19, 530, 532, 0,
+ 0, 0, 0, 0, 573, 0, 0, 0, 0, 592,
+ 591, 594, 560, 577, 537, 539, 0, 0, 612, 614,
+ 555, 0, 0, 0, 593, 0, 0, 572, 0, 0,
+ 570, 0, 77, 616, 0, 557, 586, 556, 0, 595,
+ 0, 560, 559, 561, 579, 574, 0, 596, 590, 571,
+ 580, 0, 588, 578
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
- -728, -728, 9352, -728, -87, -84, -154, -93, -30, -28,
- -27, -26, -25, -31, -728, -86, -728, -99, -728, -111,
- -126, 2, -728, -728, -728, 4, -728, -728, -728, 177,
- 190, 179, -728, -728, -339, -728, -728, -728, -728, 95,
- -728, -37, -46, -728, 9, -728, 0, -63, -728, -728,
- -728, -728, 265, -728, -728, -728, -479, -149, 10, -74,
- -212, -728, -103, -201, -727, -728, -145, -728, -728, -153,
- -155, -728, -728, 198, -270, -97, -728, 47, -728, -120,
- -728, 50, -728, -728, -728, -728, 51, -728, -728, -728,
- -728, -728, -728, -728, -728, 216, -728, -728, -728, -728,
- -108
+ -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
+ -732, -732, 9402, -732, -90, -89, -153, -92, -29, -28,
+ -27, -26, -30, -25, -732, -88, -732, -101, -732, -113,
+ -132, 2, -732, -732, -732, 4, -732, -732, -732, 200,
+ 201, 202, -732, -732, -343, -732, -732, -732, -732, 92,
+ -732, -36, -46, -732, 9, -732, 0, -67, -732, -732,
+ -732, -732, 263, -732, -732, -732, -481, -142, 8, -78,
+ -214, -732, -107, -204, -731, -732, -149, -732, -732, -160,
+ -159, -732, -732, 212, -269, -104, -732, 45, -732, -127,
+ -732, 48, -732, -732, -732, -732, 49, -732, -732, -732,
+ -732, -732, -732, -732, -732, 210, -732, -732, -732, -732,
+ -116
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 465, 466, 467, 654, 468, 469, 470, 471, 472,
- 473, 474, 525, 476, 494, 495, 496, 497, 498, 499,
- 500, 501, 502, 503, 504, 526, 683, 527, 638, 528,
- 584, 529, 367, 556, 443, 530, 369, 370, 371, 401,
+ -1, 465, 466, 467, 658, 468, 469, 470, 471, 472,
+ 473, 474, 527, 476, 494, 495, 496, 497, 498, 499,
+ 500, 501, 502, 503, 504, 528, 687, 529, 642, 530,
+ 586, 531, 367, 558, 443, 532, 369, 370, 371, 401,
402, 403, 372, 373, 374, 375, 376, 377, 423, 424,
378, 379, 380, 381, 477, 426, 478, 429, 414, 415,
- 479, 384, 385, 386, 486, 419, 484, 485, 578, 579,
- 554, 649, 533, 534, 535, 536, 537, 612, 709, 742,
- 733, 734, 735, 743, 538, 539, 540, 541, 736, 713,
- 542, 543, 737, 757, 544, 545, 546, 689, 616, 691,
- 717, 731, 732, 547, 387, 388, 389, 398, 548, 686,
- 687
+ 479, 384, 385, 386, 486, 419, 484, 485, 580, 581,
+ 556, 653, 535, 536, 537, 538, 539, 614, 713, 746,
+ 737, 738, 739, 747, 540, 541, 542, 543, 740, 717,
+ 544, 545, 741, 761, 546, 547, 548, 693, 618, 695,
+ 721, 735, 736, 549, 387, 388, 389, 398, 550, 690,
+ 691
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1591,14 +1596,14 @@
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 383, 741, 366, 574, 368, 427, 506, 582, 749, 382,
- 427, 506, 393, 428, 507, 575, 394, 550, 555, 741,
+ 383, 745, 366, 427, 368, 584, 576, 512, 753, 382,
+ 515, 428, 516, 517, 406, 393, 520, 407, 577, 745,
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, 651, 397, 61,
+ 52, 53, 54, 55, 56, 57, 58, 655, 394, 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,
@@ -1624,179 +1629,180 @@
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, 411, 404, 581, 562, 642, 646, 553,
- 648, 505, 688, 650, 391, 439, 421, 594, 595, 605,
- 711, 480, 399, 488, 406, 563, 564, 407, 411, 489,
- 395, 512, 506, 404, 515, 400, 516, 517, 422, 647,
- 520, 405, 549, 551, 571, -35, 392, 565, 711, 412,
- 382, 566, 482, 596, 597, 606, 396, 383, 382, 366,
- 418, 368, 321, 437, 413, 427, 382, 326, 327, 490,
- 405, 583, 438, 707, 405, 491, 568, 708, 621, 382,
- 623, 440, 569, 382, 441, 690, 653, 442, 718, 483,
- 609, 719, 639, 752, 639, 592, 593, 639, 382, 639,
- 532, 558, 408, 581, 559, 698, 411, 598, 599, 531,
- 671, 672, 673, 674, 590, 639, 591, 482, 640, 482,
- 420, 553, 661, 553, 655, 662, 553, 627, 628, 629,
- 630, 631, 632, 633, 634, 635, 636, 425, 639, 661,
- 657, 693, 703, 317, 318, 319, 699, 637, 700, 430,
- 756, 427, 576, 481, 483, 435, 483, 642, 721, 639,
- 695, 382, 436, 382, 487, 382, 587, 588, 589, 639,
- 722, 557, 581, 667, 668, 675, 676, 692, 669, 670,
- 567, 694, 572, 506, 660, 600, 577, 601, 602, 482,
- 586, 603, 604, 607, 610, 613, 611, 614, 751, 615,
- 617, 618, 622, 619, 624, 652, -36, 625, 532, 696,
- 697, -34, 656, 626, -29, 482, 685, 531, 553, 684,
- 702, 639, 706, 724, 726, 642, 483, 714, 728, 729,
- 727, 739, -558, 740, 746, 382, 745, 759, 509, 750,
- 677, 758, 705, 678, 682, 679, 747, 680, 710, 681,
- 723, 433, 483, 434, 585, 390, 659, 704, 715, 748,
- 432, 382, 755, 754, 716, 643, 431, 730, 644, 645,
- 725, 553, 0, 417, 0, 0, 710, 0, 0, 0,
- 0, 0, 532, 0, 482, 0, 532, 0, 744, 0,
- 583, 531, 0, 738, 0, 531, 0, 0, 0, 0,
- 0, 0, 0, 0, 753, 0, 0, 0, 0, 0,
- 0, 553, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 483, 712, 0, 0, 0, 0, 0, 0, 0,
- 382, 0, 0, 0, 0, 0, 411, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 712, 0, 0, 0, 0, 0, 0, 0, 532, 532,
- 0, 532, 0, 0, 0, 0, 0, 531, 531, 0,
- 531, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 412, 0, 0, 0, 0, 532, 0, 0,
- 0, 382, 0, 0, 0, 0, 531, 0, 532, 0,
- 0, 0, 0, 0, 0, 532, 0, 531, 0, 0,
- 0, 0, 0, 0, 531, 0, 532, 0, 0, 0,
- 532, 0, 0, 0, 0, 531, 532, 0, 0, 531,
- 0, 0, 0, 416, 0, 531, 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,
+ 312, 313, 314, 411, 564, 404, 646, 555, 650, 505,
+ 652, 439, 583, 654, 391, 692, 607, 480, 596, 597,
+ 715, 506, 437, 400, 427, 565, 566, 488, 411, 507,
+ 395, 438, 399, 489, 404, 408, 427, 506, 551, 553,
+ 421, 405, 573, 552, 557, -35, 392, 567, 715, 412,
+ 382, 568, 608, 482, 598, 599, 396, 383, 382, 366,
+ 418, 368, 321, 397, 422, 506, 382, 326, 327, 585,
+ 405, 490, 651, 413, 405, 570, 623, 491, 625, 382,
+ 657, 571, 420, 382, 694, 722, 643, 440, 611, 483,
+ 441, 643, 425, 442, 560, 723, 756, 561, 382, 711,
+ 534, 643, 643, 712, 430, 643, 411, 702, 644, 533,
+ 600, 601, 583, 675, 676, 677, 678, 435, 482, 665,
+ 482, 555, 666, 555, 659, 436, 555, 631, 632, 633,
+ 634, 635, 636, 637, 638, 639, 640, 427, 643, 665,
+ 661, 697, 707, 317, 318, 319, 481, 641, 589, 590,
+ 591, 592, 578, 593, 483, 760, 483, 703, 646, 704,
+ 725, 382, 487, 382, 559, 382, 594, 595, 643, 699,
+ 643, 726, 671, 672, 569, 673, 674, 696, 679, 680,
+ 574, 698, 664, 583, 506, 579, 588, 602, 603, 604,
+ 605, 606, 482, 609, 612, 615, 613, 616, 619, 617,
+ 755, 620, 624, 621, 626, 730, 656, 627, -36, 628,
+ 534, 700, 701, -34, 660, 629, 630, -29, 482, 533,
+ 555, 688, 689, 706, 643, 710, 646, 718, 483, 728,
+ 731, 732, 733, -558, 743, 750, 744, 382, 749, 509,
+ 754, 762, 763, 681, 709, 682, 685, 683, 727, 684,
+ 714, 587, 686, 390, 483, 751, 663, 708, 719, 752,
+ 758, 720, 759, 382, 734, 647, 729, 417, 648, 649,
+ 0, 432, 0, 555, 433, 0, 434, 0, 714, 0,
+ 431, 0, 0, 0, 534, 0, 0, 0, 534, 482,
+ 748, 0, 585, 533, 0, 742, 0, 533, 0, 0,
+ 0, 0, 0, 0, 0, 0, 757, 0, 0, 0,
+ 0, 0, 0, 555, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 483, 0, 716, 0, 0,
+ 0, 0, 0, 0, 382, 0, 0, 0, 0, 0,
+ 411, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 716, 0, 0, 0, 0,
+ 0, 0, 534, 534, 0, 534, 0, 0, 0, 0,
+ 0, 533, 533, 0, 533, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 412, 0, 0, 0,
+ 0, 534, 0, 0, 0, 382, 0, 0, 0, 0,
+ 533, 0, 534, 0, 0, 0, 0, 0, 0, 534,
+ 0, 533, 0, 0, 0, 0, 0, 0, 533, 0,
+ 534, 0, 0, 0, 534, 0, 0, 0, 0, 533,
+ 534, 0, 0, 533, 0, 0, 0, 416, 0, 533,
+ 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, 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, 315, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 315, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 320, 0, 0, 0, 0, 0, 0, 0, 0, 321,
- 322, 323, 324, 325, 326, 327, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
- 329, 330, 331, 332, 333, 0, 0, 0, 0, 0,
- 0, 0, 0, 334, 0, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 444, 445, 0, 0, 0, 0, 0, 0,
+ 316, 317, 318, 319, 320, 0, 0, 0, 0, 0,
+ 0, 0, 0, 321, 322, 323, 324, 325, 326, 327,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 446, 447, 0, 508, 0, 509, 510, 0, 0,
- 0, 0, 511, 448, 449, 450, 451, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 320, 0, 0, 0, 452, 453, 454, 455, 456, 321,
- 322, 323, 324, 325, 326, 327, 512, 513, 514, 515,
- 0, 516, 517, 518, 519, 520, 521, 522, 523, 328,
+ 0, 0, 0, 0, 0, 328, 329, 330, 331, 332,
+ 333, 0, 0, 0, 0, 0, 0, 0, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 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, 444, 445,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 446, 447, 0,
+ 508, 0, 509, 510, 0, 0, 0, 0, 511, 448,
+ 449, 450, 451, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 316, 317, 318, 319, 320, 0, 0, 0,
+ 452, 453, 454, 455, 456, 321, 322, 323, 324, 325,
+ 326, 327, 512, 513, 514, 515, 0, 516, 517, 518,
+ 519, 520, 521, 522, 523, 524, 525, 328, 329, 330,
+ 331, 332, 333, 457, 458, 459, 460, 461, 462, 463,
+ 464, 334, 526, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 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,
+ 444, 445, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 446,
+ 447, 0, 508, 0, 509, 645, 0, 0, 0, 0,
+ 511, 448, 449, 450, 451, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 316, 317, 318, 319, 320, 0,
+ 0, 0, 452, 453, 454, 455, 456, 321, 322, 323,
+ 324, 325, 326, 327, 512, 513, 514, 515, 0, 516,
+ 517, 518, 519, 520, 521, 522, 523, 524, 525, 328,
329, 330, 331, 332, 333, 457, 458, 459, 460, 461,
- 462, 463, 464, 334, 524, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 444, 445, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 446, 447, 0, 508, 0, 509, 641, 0, 0,
- 0, 0, 511, 448, 449, 450, 451, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 320, 0, 0, 0, 452, 453, 454, 455, 456, 321,
- 322, 323, 324, 325, 326, 327, 512, 513, 514, 515,
- 0, 516, 517, 518, 519, 520, 521, 522, 523, 328,
- 329, 330, 331, 332, 333, 457, 458, 459, 460, 461,
- 462, 463, 464, 334, 524, 335, 336, 337, 338, 339,
+ 462, 463, 464, 334, 526, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, 1, 2, 3, 4,
@@ -1838,182 +1844,183 @@
0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
320, 0, 0, 0, 452, 453, 454, 455, 456, 321,
322, 323, 324, 325, 326, 327, 512, 513, 514, 515,
- 0, 516, 517, 518, 519, 520, 521, 522, 523, 328,
- 329, 330, 331, 332, 333, 457, 458, 459, 460, 461,
- 462, 463, 464, 334, 524, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 444, 445, 0, 0, 0, 0, 0, 0,
+ 0, 516, 517, 518, 519, 520, 521, 522, 523, 524,
+ 525, 328, 329, 330, 331, 332, 333, 457, 458, 459,
+ 460, 461, 462, 463, 464, 334, 526, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 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, 444, 445, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 446, 447, 0, 508, 0, 430, 0, 0, 0,
- 0, 0, 511, 448, 449, 450, 451, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 320, 0, 0, 0, 452, 453, 454, 455, 456, 321,
- 322, 323, 324, 325, 326, 327, 512, 513, 514, 515,
- 0, 516, 517, 518, 519, 520, 521, 522, 523, 328,
- 329, 330, 331, 332, 333, 457, 458, 459, 460, 461,
- 462, 463, 464, 334, 524, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 444, 445, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 446, 447, 0, 508, 0, 430, 0,
+ 0, 0, 0, 0, 511, 448, 449, 450, 451, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 316, 317,
+ 318, 319, 320, 0, 0, 0, 452, 453, 454, 455,
+ 456, 321, 322, 323, 324, 325, 326, 327, 512, 513,
+ 514, 515, 0, 516, 517, 518, 519, 520, 521, 522,
+ 523, 524, 525, 328, 329, 330, 331, 332, 333, 457,
+ 458, 459, 460, 461, 462, 463, 464, 334, 526, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 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, 444, 445, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 446, 447, 0, 508, 0, 0, 0, 0, 0,
- 0, 0, 511, 448, 449, 450, 451, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 320, 0, 0, 0, 452, 453, 454, 455, 456, 321,
- 322, 323, 324, 325, 326, 327, 512, 513, 514, 515,
- 0, 516, 517, 518, 519, 520, 521, 522, 523, 328,
- 329, 330, 331, 332, 333, 457, 458, 459, 460, 461,
- 462, 463, 464, 334, 524, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 444, 445, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 446, 447, 0, 508, 0,
+ 0, 0, 0, 0, 0, 0, 511, 448, 449, 450,
+ 451, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 316, 317, 318, 319, 320, 0, 0, 0, 452, 453,
+ 454, 455, 456, 321, 322, 323, 324, 325, 326, 327,
+ 512, 513, 514, 515, 0, 516, 517, 518, 519, 520,
+ 521, 522, 523, 524, 525, 328, 329, 330, 331, 332,
+ 333, 457, 458, 459, 460, 461, 462, 463, 464, 334,
+ 526, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 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, 444, 445,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 446, 447, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 511, 448, 449, 450, 451, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 320, 0, 0, 0, 452, 453, 454, 455, 456, 321,
- 322, 323, 324, 325, 326, 327, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
- 329, 330, 331, 332, 333, 457, 458, 459, 460, 461,
- 462, 463, 464, 334, 0, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 444, 445, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 446, 447, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 448, 449, 450, 451, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 0, 0, 0, 0, 452, 453, 454, 455, 456, 321,
- 322, 323, 324, 325, 326, 327, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 446, 447, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 511, 448,
+ 449, 450, 451, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 316, 317, 318, 319, 320, 0, 0, 0,
+ 452, 453, 454, 455, 456, 321, 322, 323, 324, 325,
+ 326, 327, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 328, 329, 330,
+ 331, 332, 333, 457, 458, 459, 460, 461, 462, 463,
+ 464, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 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,
+ 444, 445, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 446,
+ 447, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 448, 449, 450, 451, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 316, 317, 318, 319, 0, 0,
+ 0, 0, 452, 453, 454, 455, 456, 321, 322, 323,
+ 324, 325, 326, 327, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
329, 330, 331, 332, 333, 457, 458, 459, 460, 461,
462, 463, 464, 334, 0, 335, 336, 337, 338, 339,
@@ -2058,182 +2065,183 @@
0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
320, 0, 0, 0, 0, 0, 0, 0, 0, 321,
322, 323, 324, 325, 326, 327, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
- 329, 330, 331, 332, 333, 0, 0, 0, 0, 0,
- 0, 0, 0, 334, 0, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 0, 0, 0, 0, 0, 0, 0,
+ 0, 328, 329, 330, 331, 332, 333, 0, 0, 0,
+ 0, 0, 0, 0, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 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, 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, 409, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 316, 317,
+ 318, 319, 0, 0, 0, 0, 0, 0, 0, 0,
+ 410, 321, 322, 323, 324, 325, 326, 327, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 409, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 0, 0, 0, 0, 0, 0, 0, 0, 410, 321,
- 322, 323, 324, 325, 326, 327, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
- 329, 330, 331, 332, 333, 0, 0, 0, 0, 0,
- 0, 0, 0, 334, 0, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 328, 329, 330, 331, 332, 333, 0,
+ 0, 0, 0, 0, 0, 0, 0, 334, 0, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 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, 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, 580, 0, 0,
+ 0, 582, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
- 322, 323, 324, 325, 326, 327, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
- 329, 330, 331, 332, 333, 0, 0, 0, 0, 0,
- 0, 0, 0, 334, 0, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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,
+ 316, 317, 318, 319, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 321, 322, 323, 324, 325, 326, 327,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 328, 329, 330, 331, 332,
+ 333, 0, 0, 0, 0, 0, 0, 0, 0, 334,
+ 0, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 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, 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, 663, 0, 0,
+ 0, 0, 0, 667, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
- 322, 323, 324, 325, 326, 327, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
- 329, 330, 331, 332, 333, 0, 0, 0, 0, 0,
- 0, 0, 0, 334, 0, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 316, 317, 318, 319, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 321, 322, 323, 324, 325,
+ 326, 327, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 328, 329, 330,
+ 331, 332, 333, 0, 0, 0, 0, 0, 0, 0,
+ 0, 334, 0, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 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, 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, 701, 0, 0,
+ 0, 0, 0, 0, 0, 705, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
- 322, 323, 324, 325, 326, 327, 0, 0, 0, 0,
+ 0, 0, 0, 0, 316, 317, 318, 319, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 321, 322, 323,
+ 324, 325, 326, 327, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
329, 330, 331, 332, 333, 0, 0, 0, 0, 0,
0, 0, 0, 334, 0, 335, 336, 337, 338, 339,
@@ -2278,50 +2286,135 @@
0, 0, 0, 0, 0, 0, 316, 317, 318, 319,
0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
322, 323, 324, 325, 326, 327, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
- 329, 330, 331, 332, 333, 0, 0, 0, 0, 0,
- 0, 0, 0, 334, 0, 335, 336, 337, 338, 339,
- 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
- 360, 361, 362, 363, 364, 365, 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, 444, 445, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 446, 447, 0, 0, 0, 552, 720, 0, 0, 0,
- 0, 0, 448, 449, 450, 451, 0, 0, 0, 0,
+ 0, 328, 329, 330, 331, 332, 333, 0, 0, 0,
+ 0, 0, 0, 0, 0, 334, 0, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 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, 444, 445, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 452, 453, 454, 455, 456, 321, 0,
- 0, 0, 0, 326, 327, 0, 0, 0, 0, 0,
+ 0, 0, 446, 447, 0, 0, 0, 554, 724, 0,
+ 0, 0, 0, 0, 448, 449, 450, 451, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 452, 453, 454, 455, 456,
+ 321, 0, 0, 0, 0, 326, 327, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 457, 458,
+ 459, 460, 461, 462, 463, 464, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 347, 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, 444, 445, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 446, 447, 0, 0, 492,
+ 0, 0, 0, 0, 0, 0, 0, 448, 449, 450,
+ 451, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 452, 453,
+ 454, 455, 456, 321, 0, 0, 0, 0, 326, 327,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 457, 458, 459, 460, 461, 462, 463, 464, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 347, 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, 444,
+ 445, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 446, 447,
+ 0, 0, 0, 554, 0, 0, 0, 0, 0, 0,
+ 448, 449, 450, 451, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 452, 453, 454, 455, 456, 321, 0, 0, 0,
+ 0, 326, 327, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 457, 458, 459, 460, 461, 462,
463, 464, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2359,96 +2452,12 @@
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
0, 0, 444, 445, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 446, 447, 0, 0, 492, 0, 0, 0, 0,
+ 0, 446, 447, 0, 0, 610, 0, 0, 0, 0,
0, 0, 0, 448, 449, 450, 451, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 452, 453, 454, 455, 456, 321,
0, 0, 0, 0, 326, 327, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 457, 458, 459, 460, 461,
- 462, 463, 464, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 347, 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, 444, 445, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 446, 447, 0, 0, 0, 552, 0, 0,
- 0, 0, 0, 0, 448, 449, 450, 451, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 452, 453, 454, 455, 456,
- 321, 0, 0, 0, 0, 326, 327, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 457, 458, 459, 460,
- 461, 462, 463, 464, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 347, 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, 444, 445, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 446, 447, 0, 0, 608, 0, 0,
- 0, 0, 0, 0, 0, 448, 449, 450, 451, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 452, 453, 454, 455,
- 456, 321, 0, 0, 0, 0, 326, 327, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 457, 458, 459,
460, 461, 462, 463, 464, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 347,
@@ -2486,107 +2495,108 @@
312, 313, 314, 0, 0, 444, 445, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 446, 447, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 620, 448, 449, 450, 451,
+ 0, 0, 0, 0, 0, 622, 448, 449, 450, 451,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 452, 453, 454,
455, 456, 321, 0, 0, 0, 0, 326, 327, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 457, 458,
- 459, 460, 461, 462, 463, 464, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 347, 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, 444, 445, 0, 0,
+ 457, 458, 459, 460, 461, 462, 463, 464, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 446, 447, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 448, 449, 450,
- 451, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 452, 453,
- 454, 455, 456, 321, 0, 0, 0, 0, 326, 327,
+ 0, 0, 347, 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, 444, 445,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 457,
- 458, 459, 460, 461, 462, 463, 464, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 446, 447, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 448,
+ 449, 450, 451, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 347, 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, 475, 0, 444, 445, 0,
+ 452, 453, 454, 455, 456, 321, 0, 0, 0, 0,
+ 326, 327, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 457, 458, 459, 460, 461, 462, 463,
+ 464, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 347, 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, 444, 445, 0, 0, 475, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 493,
- 0, 0, 0, 0, 0, 0, 446, 447, 0, 0,
- 0, 0, 0, 0, 0, 0, 560, 561, 448, 449,
- 450, 451, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 452,
- 453, 454, 455, 456, 321, 0, 0, 0, 573, 326,
- 570, 0, 0, 0, 0, 0, 0, 0, 0, 493,
+ 446, 447, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 448, 449, 450, 451, 562, 563, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 457, 458, 459, 460, 461, 462, 463, 464, 493, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 347, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 452, 453, 454, 455, 456, 321, 0,
+ 0, 0, 0, 326, 572, 0, 0, 0, 575, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 493,
+ 0, 0, 0, 0, 0, 0, 457, 458, 459, 460,
+ 461, 462, 463, 464, 0, 0, 0, 0, 493, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 347, 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, 658, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 664,
- 665, 666, 493, 493, 493, 493, 493, 493, 493, 493,
- 493, 493, 493, 493, 493, 493, 493, 493, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 662, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 668, 669, 670, 493, 493, 493, 493, 493, 493,
+ 493, 493, 493, 493, 493, 493, 493, 493, 493, 493,
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,
@@ -2596,19 +2606,20 @@
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, 493
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 493
};
static const yytype_int16 yycheck[] =
{
- 0, 728, 0, 346, 0, 341, 341, 486, 735, 0,
- 341, 341, 339, 349, 349, 358, 339, 348, 348, 746,
+ 0, 732, 0, 341, 0, 486, 346, 383, 739, 0,
+ 386, 349, 388, 389, 346, 339, 392, 349, 358, 750,
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, 556, 349, 63,
+ 54, 55, 56, 57, 58, 59, 60, 558, 339, 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,
@@ -2634,182 +2645,183 @@
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, 379, 371, 484, 447, 538, 550, 438,
- 552, 427, 612, 555, 343, 408, 375, 321, 322, 326,
- 689, 414, 340, 340, 346, 319, 320, 349, 404, 346,
- 349, 383, 341, 400, 386, 346, 388, 389, 397, 348,
- 392, 371, 435, 436, 473, 339, 375, 341, 717, 379,
- 371, 345, 419, 357, 358, 362, 375, 387, 379, 387,
- 390, 387, 376, 339, 357, 341, 387, 381, 382, 340,
- 400, 487, 348, 342, 404, 346, 340, 346, 519, 400,
- 521, 343, 346, 404, 346, 616, 340, 349, 340, 419,
- 506, 340, 346, 340, 346, 317, 318, 346, 419, 346,
- 430, 346, 375, 582, 349, 647, 482, 323, 324, 430,
- 594, 595, 596, 597, 351, 346, 353, 484, 349, 486,
- 343, 550, 346, 552, 565, 349, 555, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 375, 346, 346,
- 569, 349, 349, 364, 365, 366, 344, 348, 346, 343,
- 750, 341, 482, 349, 484, 375, 486, 688, 700, 346,
- 347, 482, 375, 484, 348, 486, 354, 355, 356, 346,
- 347, 375, 651, 590, 591, 598, 599, 618, 592, 593,
- 340, 622, 339, 341, 577, 361, 375, 360, 359, 556,
- 375, 325, 327, 342, 341, 339, 344, 349, 740, 349,
- 339, 339, 339, 349, 347, 375, 339, 349, 538, 638,
- 639, 339, 375, 349, 340, 582, 375, 538, 647, 342,
- 342, 346, 339, 342, 344, 756, 556, 383, 340, 339,
- 375, 340, 343, 348, 340, 556, 349, 344, 343, 343,
- 600, 349, 683, 601, 605, 602, 387, 603, 689, 604,
- 706, 404, 582, 404, 489, 320, 576, 661, 691, 734,
- 400, 582, 747, 746, 691, 548, 398, 717, 548, 548,
- 708, 700, -1, 387, -1, -1, 717, -1, -1, -1,
- -1, -1, 612, -1, 651, -1, 616, -1, 729, -1,
- 706, 612, -1, 722, -1, 616, -1, -1, -1, -1,
- -1, -1, -1, -1, 745, -1, -1, -1, -1, -1,
- -1, 740, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 651, 689, -1, -1, -1, -1, -1, -1, -1,
- 651, -1, -1, -1, -1, -1, 712, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 717, -1, -1, -1, -1, -1, -1, -1, 688, 689,
- -1, 691, -1, -1, -1, -1, -1, 688, 689, -1,
- 691, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 712, -1, -1, -1, -1, 717, -1, -1,
- -1, 712, -1, -1, -1, -1, 717, -1, 728, -1,
- -1, -1, -1, -1, -1, 735, -1, 728, -1, -1,
- -1, -1, -1, -1, 735, -1, 746, -1, -1, -1,
- 750, -1, -1, -1, -1, 746, 756, -1, -1, 750,
- -1, -1, -1, 0, -1, 756, 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,
+ 314, 315, 316, 379, 447, 371, 540, 438, 552, 427,
+ 554, 408, 484, 557, 343, 614, 326, 414, 321, 322,
+ 693, 341, 339, 346, 341, 319, 320, 340, 404, 349,
+ 349, 348, 340, 346, 400, 375, 341, 341, 435, 436,
+ 375, 371, 473, 348, 348, 339, 375, 341, 721, 379,
+ 371, 345, 362, 419, 357, 358, 375, 387, 379, 387,
+ 390, 387, 376, 349, 399, 341, 387, 381, 382, 487,
+ 400, 340, 348, 357, 404, 340, 519, 346, 521, 400,
+ 340, 346, 343, 404, 618, 340, 346, 343, 506, 419,
+ 346, 346, 375, 349, 346, 340, 340, 349, 419, 342,
+ 430, 346, 346, 346, 343, 346, 482, 651, 349, 430,
+ 323, 324, 584, 596, 597, 598, 599, 375, 484, 346,
+ 486, 552, 349, 554, 567, 375, 557, 328, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 341, 346, 346,
+ 571, 349, 349, 364, 365, 366, 349, 348, 354, 355,
+ 356, 351, 482, 353, 484, 754, 486, 344, 692, 346,
+ 704, 482, 348, 484, 375, 486, 317, 318, 346, 347,
+ 346, 347, 592, 593, 340, 594, 595, 620, 600, 601,
+ 339, 624, 579, 655, 341, 375, 375, 361, 360, 359,
+ 325, 327, 558, 342, 341, 339, 344, 349, 339, 349,
+ 744, 339, 339, 349, 347, 344, 375, 349, 339, 349,
+ 540, 642, 643, 339, 375, 349, 349, 340, 584, 540,
+ 651, 342, 375, 342, 346, 339, 760, 383, 558, 342,
+ 375, 340, 339, 343, 340, 340, 348, 558, 349, 343,
+ 343, 349, 344, 602, 687, 603, 606, 604, 710, 605,
+ 693, 489, 607, 320, 584, 387, 578, 665, 695, 738,
+ 750, 695, 751, 584, 721, 550, 712, 387, 550, 550,
+ -1, 400, -1, 704, 404, -1, 404, -1, 721, -1,
+ 398, -1, -1, -1, 614, -1, -1, -1, 618, 655,
+ 733, -1, 710, 614, -1, 726, -1, 618, -1, -1,
+ -1, -1, -1, -1, -1, -1, 749, -1, -1, -1,
+ -1, -1, -1, 744, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 655, -1, 693, -1, -1,
+ -1, -1, -1, -1, 655, -1, -1, -1, -1, -1,
+ 716, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 721, -1, -1, -1, -1,
+ -1, -1, 692, 693, -1, 695, -1, -1, -1, -1,
+ -1, 692, 693, -1, 695, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 716, -1, -1, -1,
+ -1, 721, -1, -1, -1, 716, -1, -1, -1, -1,
+ 721, -1, 732, -1, -1, -1, -1, -1, -1, 739,
+ -1, 732, -1, -1, -1, -1, -1, -1, 739, -1,
+ 750, -1, -1, -1, 754, -1, -1, -1, -1, 750,
+ 760, -1, -1, 754, -1, -1, -1, 0, -1, 760,
+ 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, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 349, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 349, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- 367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
- 377, 378, 379, 380, 381, 382, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- -1, -1, -1, 410, -1, 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, 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, 319, 320, -1, -1, -1, -1, -1, -1,
+ 363, 364, 365, 366, 367, -1, -1, -1, -1, -1,
+ -1, -1, -1, 376, 377, 378, 379, 380, 381, 382,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 338, 339, -1, 341, -1, 343, 344, -1, -1,
- -1, -1, 349, 350, 351, 352, 353, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- 367, -1, -1, -1, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
- -1, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 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, 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, 319, 320, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 398, 399, 400, 401, 402,
+ 403, -1, -1, -1, -1, -1, -1, -1, -1, 412,
+ -1, 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, 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, 319, 320,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 338, 339, -1, 341, -1, 343, 344, -1, -1,
- -1, -1, 349, 350, 351, 352, 353, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- 367, -1, -1, -1, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
- -1, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 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, 3, 4, 5, 6,
+ -1, -1, -1, -1, -1, -1, -1, 338, 339, -1,
+ 341, -1, 343, 344, -1, -1, -1, -1, 349, 350,
+ 351, 352, 353, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 363, 364, 365, 366, 367, -1, -1, -1,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 382, 383, 384, 385, 386, -1, 388, 389, 390,
+ 391, 392, 393, 394, 395, 396, 397, 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, 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,
+ 319, 320, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 338,
+ 339, -1, 341, -1, 343, 344, -1, -1, -1, -1,
+ 349, 350, 351, 352, 353, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 363, 364, 365, 366, 367, -1,
+ -1, -1, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 382, 383, 384, 385, 386, -1, 388,
+ 389, 390, 391, 392, 393, 394, 395, 396, 397, 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, 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,
@@ -2853,183 +2865,184 @@
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, 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, 319, 320, -1, -1, -1, -1, -1, -1,
+ 437, 438, 439, 440, 441, 442, 443, 444, 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, 319, 320, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 338, 339, -1, 341, -1, 343, -1, -1, -1,
- -1, -1, 349, 350, 351, 352, 353, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- 367, -1, -1, -1, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
- -1, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 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, 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, 319, 320, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 338, 339, -1, 341, -1, 343, -1,
+ -1, -1, -1, -1, 349, 350, 351, 352, 353, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 363, 364,
+ 365, 366, 367, -1, -1, -1, 371, 372, 373, 374,
+ 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
+ 385, 386, -1, 388, 389, 390, 391, 392, 393, 394,
+ 395, 396, 397, 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,
+ 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, 319, 320, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 338, 339, -1, 341, -1, -1, -1, -1, -1,
- -1, -1, 349, 350, 351, 352, 353, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- 367, -1, -1, -1, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
- -1, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 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, 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, 319, 320, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 338, 339, -1, 341, -1,
+ -1, -1, -1, -1, -1, -1, 349, 350, 351, 352,
+ 353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 363, 364, 365, 366, 367, -1, -1, -1, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
+ 383, 384, 385, 386, -1, 388, 389, 390, 391, 392,
+ 393, 394, 395, 396, 397, 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, 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, 319, 320,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 338, 339, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 349, 350, 351, 352, 353, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- 367, -1, -1, -1, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 410, -1, 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, 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, 319, 320, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 338, 339, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 350, 351, 352, 353, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- -1, -1, -1, -1, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 410, -1, 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, 3, 4, 5, 6,
+ -1, -1, -1, -1, -1, -1, -1, 338, 339, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 349, 350,
+ 351, 352, 353, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 363, 364, 365, 366, 367, -1, -1, -1,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 382, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, -1, 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, 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,
+ 319, 320, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 338,
+ 339, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 350, 351, 352, 353, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 363, 364, 365, 366, -1, -1,
+ -1, -1, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 382, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, 412, -1, 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, 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,
@@ -3068,188 +3081,189 @@
-1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
367, -1, -1, -1, -1, -1, -1, -1, -1, 376,
377, 378, 379, 380, 381, 382, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- -1, -1, -1, 410, -1, 412, 413, 414, 415, 416,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 398, 399, 400, 401, 402, 403, -1, -1, -1,
+ -1, -1, -1, -1, -1, 412, -1, 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, 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,
+ 437, 438, 439, 440, 441, 442, 443, 444, 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, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 349, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 363, 364,
+ 365, 366, -1, -1, -1, -1, -1, -1, -1, -1,
+ 375, 376, 377, 378, 379, 380, 381, 382, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 349, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- -1, -1, -1, -1, -1, -1, -1, -1, 375, 376,
- 377, 378, 379, 380, 381, 382, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- -1, -1, -1, 410, -1, 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, 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, 398, 399, 400, 401, 402, 403, -1,
+ -1, -1, -1, -1, -1, -1, -1, 412, -1, 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,
+ 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, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 344, -1, -1,
+ -1, 344, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 376,
- 377, 378, 379, 380, 381, 382, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- -1, -1, -1, 410, -1, 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, 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,
+ 363, 364, 365, 366, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 376, 377, 378, 379, 380, 381, 382,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 398, 399, 400, 401, 402,
+ 403, -1, -1, -1, -1, -1, -1, -1, -1, 412,
+ -1, 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, 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, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 344, -1, -1,
+ -1, -1, -1, 344, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 376,
- 377, 378, 379, 380, 381, 382, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- -1, -1, -1, 410, -1, 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, 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, 363, 364, 365, 366, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 376, 377, 378, 379, 380,
+ 381, 382, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 398, 399, 400,
+ 401, 402, 403, -1, -1, -1, -1, -1, -1, -1,
+ -1, 412, -1, 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, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 344, -1, -1,
+ -1, -1, -1, -1, -1, 344, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 376,
- 377, 378, 379, 380, 381, 382, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- -1, -1, -1, 410, -1, 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, 3, 4, 5, 6,
+ -1, -1, -1, -1, 363, 364, 365, 366, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 376, 377, 378,
+ 379, 380, 381, 382, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 398,
+ 399, 400, 401, 402, 403, -1, -1, -1, -1, -1,
+ -1, -1, -1, 412, -1, 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, 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,
@@ -3288,54 +3302,139 @@
-1, -1, -1, -1, -1, -1, 363, 364, 365, 366,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 376,
377, 378, 379, 380, 381, 382, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- -1, -1, -1, 410, -1, 412, 413, 414, 415, 416,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 398, 399, 400, 401, 402, 403, -1, -1, -1,
+ -1, -1, -1, -1, -1, 412, -1, 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, 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, 319, 320, -1, -1, -1, -1, -1, -1, -1,
+ 437, 438, 439, 440, 441, 442, 443, 444, 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, 319, 320, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 338, 339, -1, -1, -1, 343, 344, -1, -1, -1,
- -1, -1, 350, 351, 352, 353, -1, -1, -1, -1,
+ -1, -1, 338, 339, -1, -1, -1, 343, 344, -1,
+ -1, -1, -1, -1, 350, 351, 352, 353, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 371, 372, 373, 374, 375, 376, -1,
- -1, -1, -1, 381, 382, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 371, 372, 373, 374, 375,
+ 376, -1, -1, -1, -1, 381, 382, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 402, 403, 404, 405, 406, 407,
- 408, 409, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 424, 4, 5, 6,
+ -1, -1, -1, -1, -1, -1, -1, -1, 404, 405,
+ 406, 407, 408, 409, 410, 411, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 426, 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, 319, 320, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 338, 339, -1, -1, 342,
+ -1, -1, -1, -1, -1, -1, -1, 350, 351, 352,
+ 353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 371, 372,
+ 373, 374, 375, 376, -1, -1, -1, -1, 381, 382,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 404, 405, 406, 407, 408, 409, 410, 411, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 426, 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, 319,
+ 320, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 338, 339,
+ -1, -1, -1, 343, -1, -1, -1, -1, -1, -1,
+ 350, 351, 352, 353, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 371, 372, 373, 374, 375, 376, -1, -1, -1,
+ -1, 381, 382, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 404, 405, 406, 407, 408, 409,
+ 410, 411, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 426, 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,
@@ -3375,93 +3474,9 @@
-1, -1, -1, -1, 371, 372, 373, 374, 375, 376,
-1, -1, -1, -1, 381, 382, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 402, 403, 404, 405, 406,
- 407, 408, 409, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 424, 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, 319, 320, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 338, 339, -1, -1, -1, 343, -1, -1,
- -1, -1, -1, -1, 350, 351, 352, 353, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 371, 372, 373, 374, 375,
- 376, -1, -1, -1, -1, 381, 382, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 402, 403, 404, 405,
- 406, 407, 408, 409, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 424, 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, 319, 320, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 338, 339, -1, -1, 342, -1, -1,
- -1, -1, -1, -1, -1, 350, 351, 352, 353, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 371, 372, 373, 374,
- 375, 376, -1, -1, -1, -1, 381, 382, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 402, 403, 404,
- 405, 406, 407, 408, 409, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 424,
+ -1, -1, -1, -1, -1, -1, -1, 404, 405, 406,
+ 407, 408, 409, 410, 411, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 426,
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,
@@ -3501,102 +3516,103 @@
-1, -1, -1, -1, -1, -1, -1, 371, 372, 373,
374, 375, 376, -1, -1, -1, -1, 381, 382, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 402, 403,
- 404, 405, 406, 407, 408, 409, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 424, 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, 319, 320, -1, -1,
+ 404, 405, 406, 407, 408, 409, 410, 411, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 338, 339, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 350, 351, 352,
- 353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 371, 372,
- 373, 374, 375, 376, -1, -1, -1, -1, 381, 382,
+ -1, -1, 426, 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, 319, 320,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 402,
- 403, 404, 405, 406, 407, 408, 409, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 338, 339, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 350,
+ 351, 352, 353, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 424, 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, 413, -1, 319, 320, -1,
+ 371, 372, 373, 374, 375, 376, -1, -1, -1, -1,
+ 381, 382, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 404, 405, 406, 407, 408, 409, 410,
+ 411, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 426, 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, 319, 320, -1, -1, 413, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 427,
- -1, -1, -1, -1, -1, -1, 338, 339, -1, -1,
- -1, -1, -1, -1, -1, -1, 444, 445, 350, 351,
- 352, 353, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 371,
- 372, 373, 374, 375, 376, -1, -1, -1, 476, 381,
- 382, -1, -1, -1, -1, -1, -1, -1, -1, 487,
+ 338, 339, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 350, 351, 352, 353, 444, 445, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 402, 403, 404, 405, 406, 407, 408, 409, 506, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 424, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 371, 372, 373, 374, 375, 376, -1,
+ -1, -1, -1, 381, 382, -1, -1, -1, 476, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 487,
+ -1, -1, -1, -1, -1, -1, 404, 405, 406, 407,
+ 408, 409, 410, 411, -1, -1, -1, -1, 506, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 426, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 574, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 587,
- 588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
- 598, 599, 600, 601, 602, 603, 604, 605, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 576, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 589, 590, 591, 592, 593, 594, 595, 596, 597,
+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -3606,7 +3622,8 @@
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 706
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 710
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -3645,117 +3662,118 @@
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, 349, 363, 364, 365, 366,
- 367, 376, 377, 378, 379, 380, 381, 382, 396, 397,
- 398, 399, 400, 401, 410, 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, 474, 475, 478, 479,
- 480, 481, 485, 486, 487, 488, 489, 490, 493, 494,
- 495, 496, 497, 499, 504, 505, 506, 547, 548, 549,
- 505, 343, 375, 339, 339, 349, 375, 349, 550, 340,
- 346, 482, 483, 484, 494, 499, 346, 349, 375, 349,
- 375, 495, 499, 357, 501, 502, 0, 548, 499, 508,
- 343, 375, 397, 491, 492, 375, 498, 341, 349, 500,
- 343, 526, 483, 482, 484, 375, 375, 339, 348, 500,
- 343, 346, 349, 477, 319, 320, 338, 339, 350, 351,
- 352, 353, 371, 372, 373, 374, 375, 402, 403, 404,
- 405, 406, 407, 408, 409, 444, 445, 446, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 497, 499, 503,
- 500, 349, 494, 499, 509, 510, 507, 348, 340, 346,
- 340, 346, 342, 455, 457, 458, 459, 460, 461, 462,
- 463, 464, 465, 466, 467, 468, 341, 349, 341, 343,
+ 367, 376, 377, 378, 379, 380, 381, 382, 398, 399,
+ 400, 401, 402, 403, 412, 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, 476, 477, 480, 481,
+ 482, 483, 487, 488, 489, 490, 491, 492, 495, 496,
+ 497, 498, 499, 501, 506, 507, 508, 549, 550, 551,
+ 507, 343, 375, 339, 339, 349, 375, 349, 552, 340,
+ 346, 484, 485, 486, 496, 501, 346, 349, 375, 349,
+ 375, 497, 501, 357, 503, 504, 0, 550, 501, 510,
+ 343, 375, 399, 493, 494, 375, 500, 341, 349, 502,
+ 343, 528, 485, 484, 486, 375, 375, 339, 348, 502,
+ 343, 346, 349, 479, 319, 320, 338, 339, 350, 351,
+ 352, 353, 371, 372, 373, 374, 375, 404, 405, 406,
+ 407, 408, 409, 410, 411, 446, 447, 448, 450, 451,
+ 452, 453, 454, 455, 456, 457, 458, 499, 501, 505,
+ 502, 349, 496, 501, 511, 512, 509, 348, 340, 346,
+ 340, 346, 342, 457, 459, 460, 461, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 341, 349, 341, 343,
344, 349, 383, 384, 385, 386, 388, 389, 390, 391,
- 392, 393, 394, 395, 411, 455, 468, 470, 472, 474,
- 478, 497, 499, 515, 516, 517, 518, 519, 527, 528,
- 529, 530, 533, 534, 537, 538, 539, 546, 551, 500,
- 348, 500, 343, 470, 513, 348, 476, 375, 346, 349,
- 455, 455, 472, 319, 320, 341, 345, 340, 340, 346,
- 382, 470, 339, 455, 346, 358, 499, 375, 511, 512,
- 344, 510, 509, 468, 473, 492, 375, 354, 355, 356,
- 351, 353, 317, 318, 321, 322, 357, 358, 323, 324,
- 361, 360, 359, 325, 327, 326, 362, 342, 342, 468,
- 341, 344, 520, 339, 349, 349, 541, 339, 339, 349,
- 349, 472, 339, 472, 347, 349, 349, 328, 329, 330,
- 331, 332, 333, 334, 335, 336, 337, 348, 471, 346,
- 349, 344, 516, 530, 534, 539, 513, 348, 513, 514,
- 513, 509, 375, 340, 447, 472, 375, 470, 455, 511,
- 500, 346, 349, 344, 455, 455, 455, 457, 457, 458,
- 458, 459, 459, 459, 459, 460, 460, 461, 462, 463,
- 464, 465, 466, 469, 342, 375, 552, 553, 527, 540,
- 516, 542, 472, 349, 472, 347, 470, 470, 513, 344,
- 346, 344, 342, 349, 512, 472, 339, 342, 346, 521,
- 472, 487, 494, 532, 383, 515, 528, 543, 340, 340,
- 344, 513, 347, 473, 342, 553, 344, 375, 340, 339,
- 532, 544, 545, 523, 524, 525, 531, 535, 470, 340,
- 348, 517, 522, 526, 472, 349, 340, 387, 519, 517,
- 343, 513, 340, 472, 522, 523, 527, 536, 349, 344
+ 392, 393, 394, 395, 396, 397, 413, 457, 470, 472,
+ 474, 476, 480, 499, 501, 517, 518, 519, 520, 521,
+ 529, 530, 531, 532, 535, 536, 539, 540, 541, 548,
+ 553, 502, 348, 502, 343, 472, 515, 348, 478, 375,
+ 346, 349, 457, 457, 474, 319, 320, 341, 345, 340,
+ 340, 346, 382, 472, 339, 457, 346, 358, 501, 375,
+ 513, 514, 344, 512, 511, 470, 475, 494, 375, 354,
+ 355, 356, 351, 353, 317, 318, 321, 322, 357, 358,
+ 323, 324, 361, 360, 359, 325, 327, 326, 362, 342,
+ 342, 470, 341, 344, 522, 339, 349, 349, 543, 339,
+ 339, 349, 349, 474, 339, 474, 347, 349, 349, 349,
+ 349, 328, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 348, 473, 346, 349, 344, 518, 532, 536, 541,
+ 515, 348, 515, 516, 515, 511, 375, 340, 449, 474,
+ 375, 472, 457, 513, 502, 346, 349, 344, 457, 457,
+ 457, 459, 459, 460, 460, 461, 461, 461, 461, 462,
+ 462, 463, 464, 465, 466, 467, 468, 471, 342, 375,
+ 554, 555, 529, 542, 518, 544, 474, 349, 474, 347,
+ 472, 472, 515, 344, 346, 344, 342, 349, 514, 474,
+ 339, 342, 346, 523, 474, 489, 496, 534, 383, 517,
+ 530, 545, 340, 340, 344, 515, 347, 475, 342, 555,
+ 344, 375, 340, 339, 534, 546, 547, 525, 526, 527,
+ 533, 537, 472, 340, 348, 519, 524, 528, 474, 349,
+ 340, 387, 521, 519, 343, 515, 340, 474, 524, 525,
+ 529, 538, 349, 344
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_int16 yyr1[] =
{
- 0, 443, 444, 445, 445, 445, 445, 445, 445, 445,
- 445, 445, 445, 445, 445, 445, 445, 445, 446, 446,
- 446, 446, 446, 446, 447, 448, 449, 450, 450, 451,
- 451, 452, 452, 453, 454, 454, 454, 455, 455, 455,
- 455, 456, 456, 456, 456, 457, 457, 457, 457, 458,
- 458, 458, 459, 459, 459, 460, 460, 460, 460, 460,
- 461, 461, 461, 462, 462, 463, 463, 464, 464, 465,
- 465, 466, 466, 467, 467, 468, 469, 468, 470, 470,
- 471, 471, 471, 471, 471, 471, 471, 471, 471, 471,
- 471, 472, 472, 473, 474, 474, 474, 474, 474, 474,
- 474, 474, 474, 476, 475, 477, 477, 478, 479, 479,
- 480, 480, 481, 482, 482, 483, 483, 483, 483, 484,
- 485, 485, 485, 485, 485, 486, 486, 486, 486, 486,
- 487, 487, 488, 489, 489, 489, 489, 489, 489, 489,
- 489, 490, 491, 491, 492, 492, 492, 493, 494, 494,
- 495, 495, 495, 495, 495, 495, 495, 496, 496, 496,
- 496, 496, 496, 496, 496, 496, 496, 496, 496, 496,
- 496, 496, 496, 496, 496, 496, 496, 496, 496, 496,
- 496, 496, 496, 496, 496, 496, 496, 496, 496, 496,
- 496, 496, 497, 498, 498, 499, 499, 500, 500, 500,
- 500, 501, 501, 502, 503, 503, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 505, 505, 505, 507, 506, 508, 506, 509, 509, 510,
- 510, 511, 511, 512, 512, 513, 513, 513, 514, 514,
- 515, 516, 516, 517, 517, 517, 517, 517, 517, 517,
- 517, 518, 519, 520, 521, 519, 522, 522, 524, 523,
- 525, 523, 526, 526, 527, 527, 528, 528, 529, 529,
- 530, 531, 531, 532, 532, 533, 533, 535, 534, 536,
- 536, 537, 537, 538, 538, 540, 539, 541, 539, 542,
- 539, 543, 543, 544, 544, 545, 545, 546, 546, 546,
- 546, 546, 546, 547, 547, 548, 548, 548, 550, 549,
- 551, 552, 552, 553, 553
+ 0, 445, 446, 447, 447, 447, 447, 447, 447, 447,
+ 447, 447, 447, 447, 447, 447, 447, 447, 448, 448,
+ 448, 448, 448, 448, 449, 450, 451, 452, 452, 453,
+ 453, 454, 454, 455, 456, 456, 456, 457, 457, 457,
+ 457, 458, 458, 458, 458, 459, 459, 459, 459, 460,
+ 460, 460, 461, 461, 461, 462, 462, 462, 462, 462,
+ 463, 463, 463, 464, 464, 465, 465, 466, 466, 467,
+ 467, 468, 468, 469, 469, 470, 471, 470, 472, 472,
+ 473, 473, 473, 473, 473, 473, 473, 473, 473, 473,
+ 473, 474, 474, 475, 476, 476, 476, 476, 476, 476,
+ 476, 476, 476, 478, 477, 479, 479, 480, 481, 481,
+ 482, 482, 483, 484, 484, 485, 485, 485, 485, 486,
+ 487, 487, 487, 487, 487, 488, 488, 488, 488, 488,
+ 489, 489, 490, 491, 491, 491, 491, 491, 491, 491,
+ 491, 492, 493, 493, 494, 494, 494, 495, 496, 496,
+ 497, 497, 497, 497, 497, 497, 497, 498, 498, 498,
+ 498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
+ 498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
+ 498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
+ 498, 498, 499, 500, 500, 501, 501, 502, 502, 502,
+ 502, 503, 503, 504, 505, 505, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 507, 507, 507, 509, 508, 510, 508, 511, 511, 512,
+ 512, 513, 513, 514, 514, 515, 515, 515, 516, 516,
+ 517, 518, 518, 519, 519, 519, 519, 519, 519, 519,
+ 519, 520, 521, 522, 523, 521, 524, 524, 526, 525,
+ 527, 525, 528, 528, 529, 529, 530, 530, 531, 531,
+ 532, 533, 533, 534, 534, 535, 535, 537, 536, 538,
+ 538, 539, 539, 540, 540, 542, 541, 543, 541, 544,
+ 541, 545, 545, 546, 546, 547, 547, 548, 548, 548,
+ 548, 548, 548, 548, 548, 549, 549, 550, 550, 550,
+ 552, 551, 553, 554, 554, 555, 555
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -3821,8 +3839,8 @@
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, 1, 2, 1, 1, 1, 0, 3,
- 5, 1, 3, 1, 4
+ 3, 2, 2, 2, 2, 1, 2, 1, 1, 1,
+ 0, 3, 5, 1, 3, 1, 4
};
@@ -4568,260 +4586,260 @@
switch (yyn)
{
case 2: /* variable_identifier: IDENTIFIER */
-#line 370 "glslang/MachineIndependent/glslang.y"
+#line 371 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
}
-#line 4576 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4594 "MachineIndependent/glslang_tab.cpp"
break;
case 3: /* primary_expression: variable_identifier */
-#line 376 "glslang/MachineIndependent/glslang.y"
+#line 377 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 4584 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4602 "MachineIndependent/glslang_tab.cpp"
break;
case 4: /* primary_expression: LEFT_PAREN expression RIGHT_PAREN */
-#line 379 "glslang/MachineIndependent/glslang.y"
+#line 380 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
(yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
}
-#line 4594 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4612 "MachineIndependent/glslang_tab.cpp"
break;
case 5: /* primary_expression: FLOATCONSTANT */
-#line 384 "glslang/MachineIndependent/glslang.y"
+#line 385 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
}
-#line 4602 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4620 "MachineIndependent/glslang_tab.cpp"
break;
case 6: /* primary_expression: INTCONSTANT */
-#line 387 "glslang/MachineIndependent/glslang.y"
+#line 388 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 4610 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4628 "MachineIndependent/glslang_tab.cpp"
break;
case 7: /* primary_expression: UINTCONSTANT */
-#line 390 "glslang/MachineIndependent/glslang.y"
+#line 391 "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 4619 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4637 "MachineIndependent/glslang_tab.cpp"
break;
case 8: /* primary_expression: BOOLCONSTANT */
-#line 394 "glslang/MachineIndependent/glslang.y"
+#line 395 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
}
-#line 4627 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4645 "MachineIndependent/glslang_tab.cpp"
break;
case 9: /* primary_expression: STRING_LITERAL */
-#line 398 "glslang/MachineIndependent/glslang.y"
+#line 399 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true);
}
-#line 4635 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4653 "MachineIndependent/glslang_tab.cpp"
break;
case 10: /* primary_expression: INT32CONSTANT */
-#line 401 "glslang/MachineIndependent/glslang.y"
+#line 402 "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 4644 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4662 "MachineIndependent/glslang_tab.cpp"
break;
case 11: /* primary_expression: UINT32CONSTANT */
-#line 405 "glslang/MachineIndependent/glslang.y"
+#line 406 "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 4653 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4671 "MachineIndependent/glslang_tab.cpp"
break;
case 12: /* primary_expression: INT64CONSTANT */
-#line 409 "glslang/MachineIndependent/glslang.y"
+#line 410 "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 4662 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4680 "MachineIndependent/glslang_tab.cpp"
break;
case 13: /* primary_expression: UINT64CONSTANT */
-#line 413 "glslang/MachineIndependent/glslang.y"
+#line 414 "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 4671 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4689 "MachineIndependent/glslang_tab.cpp"
break;
case 14: /* primary_expression: INT16CONSTANT */
-#line 417 "glslang/MachineIndependent/glslang.y"
+#line 418 "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 4680 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4698 "MachineIndependent/glslang_tab.cpp"
break;
case 15: /* primary_expression: UINT16CONSTANT */
-#line 421 "glslang/MachineIndependent/glslang.y"
+#line 422 "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 4689 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4707 "MachineIndependent/glslang_tab.cpp"
break;
case 16: /* primary_expression: DOUBLECONSTANT */
-#line 425 "glslang/MachineIndependent/glslang.y"
+#line 426 "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 4700 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4718 "MachineIndependent/glslang_tab.cpp"
break;
case 17: /* primary_expression: FLOAT16CONSTANT */
-#line 431 "glslang/MachineIndependent/glslang.y"
+#line 432 "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 4709 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4727 "MachineIndependent/glslang_tab.cpp"
break;
case 18: /* postfix_expression: primary_expression */
-#line 439 "glslang/MachineIndependent/glslang.y"
+#line 440 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 4717 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4735 "MachineIndependent/glslang_tab.cpp"
break;
case 19: /* postfix_expression: postfix_expression LEFT_BRACKET integer_expression RIGHT_BRACKET */
-#line 442 "glslang/MachineIndependent/glslang.y"
+#line 443 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
}
-#line 4725 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4743 "MachineIndependent/glslang_tab.cpp"
break;
case 20: /* postfix_expression: function_call */
-#line 445 "glslang/MachineIndependent/glslang.y"
+#line 446 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 4733 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4751 "MachineIndependent/glslang_tab.cpp"
break;
case 21: /* postfix_expression: postfix_expression DOT IDENTIFIER */
-#line 448 "glslang/MachineIndependent/glslang.y"
+#line 449 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
}
-#line 4741 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4759 "MachineIndependent/glslang_tab.cpp"
break;
case 22: /* postfix_expression: postfix_expression INC_OP */
-#line 451 "glslang/MachineIndependent/glslang.y"
+#line 452 "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 4751 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4769 "MachineIndependent/glslang_tab.cpp"
break;
case 23: /* postfix_expression: postfix_expression DEC_OP */
-#line 456 "glslang/MachineIndependent/glslang.y"
+#line 457 "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 4761 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4779 "MachineIndependent/glslang_tab.cpp"
break;
case 24: /* integer_expression: expression */
-#line 464 "glslang/MachineIndependent/glslang.y"
+#line 465 "MachineIndependent/glslang.y"
{
parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 4770 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4788 "MachineIndependent/glslang_tab.cpp"
break;
case 25: /* function_call: function_call_or_method */
-#line 471 "glslang/MachineIndependent/glslang.y"
+#line 472 "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 4779 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4797 "MachineIndependent/glslang_tab.cpp"
break;
case 26: /* function_call_or_method: function_call_generic */
-#line 478 "glslang/MachineIndependent/glslang.y"
+#line 479 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 4787 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4805 "MachineIndependent/glslang_tab.cpp"
break;
case 27: /* function_call_generic: function_call_header_with_parameters RIGHT_PAREN */
-#line 484 "glslang/MachineIndependent/glslang.y"
+#line 485 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 4796 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4814 "MachineIndependent/glslang_tab.cpp"
break;
case 28: /* function_call_generic: function_call_header_no_parameters RIGHT_PAREN */
-#line 488 "glslang/MachineIndependent/glslang.y"
+#line 489 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 4805 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4823 "MachineIndependent/glslang_tab.cpp"
break;
case 29: /* function_call_header_no_parameters: function_call_header VOID */
-#line 495 "glslang/MachineIndependent/glslang.y"
+#line 496 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
}
-#line 4813 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4831 "MachineIndependent/glslang_tab.cpp"
break;
case 30: /* function_call_header_no_parameters: function_call_header */
-#line 498 "glslang/MachineIndependent/glslang.y"
+#line 499 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 4821 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4839 "MachineIndependent/glslang_tab.cpp"
break;
case 31: /* function_call_header_with_parameters: function_call_header assignment_expression */
-#line 504 "glslang/MachineIndependent/glslang.y"
+#line 505 "MachineIndependent/glslang.y"
{
TParameter param = { 0, new TType };
param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -4829,11 +4847,11 @@
(yyval.interm).function = (yyvsp[-1].interm).function;
(yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
}
-#line 4833 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4851 "MachineIndependent/glslang_tab.cpp"
break;
case 32: /* function_call_header_with_parameters: function_call_header_with_parameters COMMA assignment_expression */
-#line 511 "glslang/MachineIndependent/glslang.y"
+#line 512 "MachineIndependent/glslang.y"
{
TParameter param = { 0, new TType };
param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -4841,29 +4859,29 @@
(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 4845 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4863 "MachineIndependent/glslang_tab.cpp"
break;
case 33: /* function_call_header: function_identifier LEFT_PAREN */
-#line 521 "glslang/MachineIndependent/glslang.y"
+#line 522 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
}
-#line 4853 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4871 "MachineIndependent/glslang_tab.cpp"
break;
case 34: /* function_identifier: type_specifier */
-#line 529 "glslang/MachineIndependent/glslang.y"
+#line 530 "MachineIndependent/glslang.y"
{
// Constructor
(yyval.interm).intermNode = 0;
(yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
}
-#line 4863 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4881 "MachineIndependent/glslang_tab.cpp"
break;
case 35: /* function_identifier: postfix_expression */
-#line 534 "glslang/MachineIndependent/glslang.y"
+#line 535 "MachineIndependent/glslang.y"
{
//
// Should be a method or subroutine call, but we haven't recognized the arguments yet.
@@ -4891,50 +4909,50 @@
(yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull);
}
}
-#line 4895 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4913 "MachineIndependent/glslang_tab.cpp"
break;
case 36: /* function_identifier: non_uniform_qualifier */
-#line 562 "glslang/MachineIndependent/glslang.y"
+#line 563 "MachineIndependent/glslang.y"
{
// Constructor
(yyval.interm).intermNode = 0;
(yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
}
-#line 4905 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4923 "MachineIndependent/glslang_tab.cpp"
break;
case 37: /* unary_expression: postfix_expression */
-#line 571 "glslang/MachineIndependent/glslang.y"
+#line 572 "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 4916 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4934 "MachineIndependent/glslang_tab.cpp"
break;
case 38: /* unary_expression: INC_OP unary_expression */
-#line 577 "glslang/MachineIndependent/glslang.y"
+#line 578 "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 4925 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4943 "MachineIndependent/glslang_tab.cpp"
break;
case 39: /* unary_expression: DEC_OP unary_expression */
-#line 581 "glslang/MachineIndependent/glslang.y"
+#line 582 "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 4934 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4952 "MachineIndependent/glslang_tab.cpp"
break;
case 40: /* unary_expression: unary_operator unary_expression */
-#line 585 "glslang/MachineIndependent/glslang.y"
+#line 586 "MachineIndependent/glslang.y"
{
if ((yyvsp[-1].interm).op != EOpNull) {
char errorOp[2] = {0, 0};
@@ -4951,179 +4969,179 @@
(yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
}
}
-#line 4955 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4973 "MachineIndependent/glslang_tab.cpp"
break;
case 41: /* unary_operator: PLUS */
-#line 605 "glslang/MachineIndependent/glslang.y"
+#line 606 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
-#line 4961 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4979 "MachineIndependent/glslang_tab.cpp"
break;
case 42: /* unary_operator: DASH */
-#line 606 "glslang/MachineIndependent/glslang.y"
+#line 607 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
-#line 4967 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4985 "MachineIndependent/glslang_tab.cpp"
break;
case 43: /* unary_operator: BANG */
-#line 607 "glslang/MachineIndependent/glslang.y"
+#line 608 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
-#line 4973 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4991 "MachineIndependent/glslang_tab.cpp"
break;
case 44: /* unary_operator: TILDE */
-#line 608 "glslang/MachineIndependent/glslang.y"
+#line 609 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
-#line 4980 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 4998 "MachineIndependent/glslang_tab.cpp"
break;
case 45: /* multiplicative_expression: unary_expression */
-#line 614 "glslang/MachineIndependent/glslang.y"
+#line 615 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4986 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5004 "MachineIndependent/glslang_tab.cpp"
break;
case 46: /* multiplicative_expression: multiplicative_expression STAR unary_expression */
-#line 615 "glslang/MachineIndependent/glslang.y"
+#line 616 "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 4996 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5014 "MachineIndependent/glslang_tab.cpp"
break;
case 47: /* multiplicative_expression: multiplicative_expression SLASH unary_expression */
-#line 620 "glslang/MachineIndependent/glslang.y"
+#line 621 "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 5006 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5024 "MachineIndependent/glslang_tab.cpp"
break;
case 48: /* multiplicative_expression: multiplicative_expression PERCENT unary_expression */
-#line 625 "glslang/MachineIndependent/glslang.y"
+#line 626 "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 5017 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5035 "MachineIndependent/glslang_tab.cpp"
break;
case 49: /* additive_expression: multiplicative_expression */
-#line 634 "glslang/MachineIndependent/glslang.y"
+#line 635 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5023 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5041 "MachineIndependent/glslang_tab.cpp"
break;
case 50: /* additive_expression: additive_expression PLUS multiplicative_expression */
-#line 635 "glslang/MachineIndependent/glslang.y"
+#line 636 "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 5033 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5051 "MachineIndependent/glslang_tab.cpp"
break;
case 51: /* additive_expression: additive_expression DASH multiplicative_expression */
-#line 640 "glslang/MachineIndependent/glslang.y"
+#line 641 "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 5043 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5061 "MachineIndependent/glslang_tab.cpp"
break;
case 52: /* shift_expression: additive_expression */
-#line 648 "glslang/MachineIndependent/glslang.y"
+#line 649 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5049 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5067 "MachineIndependent/glslang_tab.cpp"
break;
case 53: /* shift_expression: shift_expression LEFT_OP additive_expression */
-#line 649 "glslang/MachineIndependent/glslang.y"
+#line 650 "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 5060 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5078 "MachineIndependent/glslang_tab.cpp"
break;
case 54: /* shift_expression: shift_expression RIGHT_OP additive_expression */
-#line 655 "glslang/MachineIndependent/glslang.y"
+#line 656 "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 5071 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5089 "MachineIndependent/glslang_tab.cpp"
break;
case 55: /* relational_expression: shift_expression */
-#line 664 "glslang/MachineIndependent/glslang.y"
+#line 665 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5077 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5095 "MachineIndependent/glslang_tab.cpp"
break;
case 56: /* relational_expression: relational_expression LEFT_ANGLE shift_expression */
-#line 665 "glslang/MachineIndependent/glslang.y"
+#line 666 "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 5087 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5105 "MachineIndependent/glslang_tab.cpp"
break;
case 57: /* relational_expression: relational_expression RIGHT_ANGLE shift_expression */
-#line 670 "glslang/MachineIndependent/glslang.y"
+#line 671 "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 5097 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5115 "MachineIndependent/glslang_tab.cpp"
break;
case 58: /* relational_expression: relational_expression LE_OP shift_expression */
-#line 675 "glslang/MachineIndependent/glslang.y"
+#line 676 "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 5107 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5125 "MachineIndependent/glslang_tab.cpp"
break;
case 59: /* relational_expression: relational_expression GE_OP shift_expression */
-#line 680 "glslang/MachineIndependent/glslang.y"
+#line 681 "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 5117 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5135 "MachineIndependent/glslang_tab.cpp"
break;
case 60: /* equality_expression: relational_expression */
-#line 688 "glslang/MachineIndependent/glslang.y"
+#line 689 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5123 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5141 "MachineIndependent/glslang_tab.cpp"
break;
case 61: /* equality_expression: equality_expression EQ_OP relational_expression */
-#line 689 "glslang/MachineIndependent/glslang.y"
+#line 690 "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(), "==");
@@ -5133,11 +5151,11 @@
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5137 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5155 "MachineIndependent/glslang_tab.cpp"
break;
case 62: /* equality_expression: equality_expression NE_OP relational_expression */
-#line 698 "glslang/MachineIndependent/glslang.y"
+#line 699 "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(), "!=");
@@ -5147,124 +5165,124 @@
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5151 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5169 "MachineIndependent/glslang_tab.cpp"
break;
case 63: /* and_expression: equality_expression */
-#line 710 "glslang/MachineIndependent/glslang.y"
+#line 711 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5157 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5175 "MachineIndependent/glslang_tab.cpp"
break;
case 64: /* and_expression: and_expression AMPERSAND equality_expression */
-#line 711 "glslang/MachineIndependent/glslang.y"
+#line 712 "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 5168 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5186 "MachineIndependent/glslang_tab.cpp"
break;
case 65: /* exclusive_or_expression: and_expression */
-#line 720 "glslang/MachineIndependent/glslang.y"
+#line 721 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5174 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5192 "MachineIndependent/glslang_tab.cpp"
break;
case 66: /* exclusive_or_expression: exclusive_or_expression CARET and_expression */
-#line 721 "glslang/MachineIndependent/glslang.y"
+#line 722 "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 5185 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5203 "MachineIndependent/glslang_tab.cpp"
break;
case 67: /* inclusive_or_expression: exclusive_or_expression */
-#line 730 "glslang/MachineIndependent/glslang.y"
+#line 731 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5191 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5209 "MachineIndependent/glslang_tab.cpp"
break;
case 68: /* inclusive_or_expression: inclusive_or_expression VERTICAL_BAR exclusive_or_expression */
-#line 731 "glslang/MachineIndependent/glslang.y"
+#line 732 "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 5202 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5220 "MachineIndependent/glslang_tab.cpp"
break;
case 69: /* logical_and_expression: inclusive_or_expression */
-#line 740 "glslang/MachineIndependent/glslang.y"
+#line 741 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5208 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5226 "MachineIndependent/glslang_tab.cpp"
break;
case 70: /* logical_and_expression: logical_and_expression AND_OP inclusive_or_expression */
-#line 741 "glslang/MachineIndependent/glslang.y"
+#line 742 "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 5218 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5236 "MachineIndependent/glslang_tab.cpp"
break;
case 71: /* logical_xor_expression: logical_and_expression */
-#line 749 "glslang/MachineIndependent/glslang.y"
+#line 750 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5224 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5242 "MachineIndependent/glslang_tab.cpp"
break;
case 72: /* logical_xor_expression: logical_xor_expression XOR_OP logical_and_expression */
-#line 750 "glslang/MachineIndependent/glslang.y"
+#line 751 "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 5234 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5252 "MachineIndependent/glslang_tab.cpp"
break;
case 73: /* logical_or_expression: logical_xor_expression */
-#line 758 "glslang/MachineIndependent/glslang.y"
+#line 759 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5240 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5258 "MachineIndependent/glslang_tab.cpp"
break;
case 74: /* logical_or_expression: logical_or_expression OR_OP logical_xor_expression */
-#line 759 "glslang/MachineIndependent/glslang.y"
+#line 760 "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 5250 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5268 "MachineIndependent/glslang_tab.cpp"
break;
case 75: /* conditional_expression: logical_or_expression */
-#line 767 "glslang/MachineIndependent/glslang.y"
+#line 768 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5256 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5274 "MachineIndependent/glslang_tab.cpp"
break;
case 76: /* $@1: %empty */
-#line 768 "glslang/MachineIndependent/glslang.y"
+#line 769 "MachineIndependent/glslang.y"
{
++parseContext.controlFlowNestingLevel;
}
-#line 5264 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5282 "MachineIndependent/glslang_tab.cpp"
break;
case 77: /* conditional_expression: logical_or_expression QUESTION $@1 expression COLON assignment_expression */
-#line 771 "glslang/MachineIndependent/glslang.y"
+#line 772 "MachineIndependent/glslang.y"
{
--parseContext.controlFlowNestingLevel;
parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));
@@ -5277,17 +5295,17 @@
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
}
-#line 5281 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5299 "MachineIndependent/glslang_tab.cpp"
break;
case 78: /* assignment_expression: conditional_expression */
-#line 786 "glslang/MachineIndependent/glslang.y"
+#line 787 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5287 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5305 "MachineIndependent/glslang_tab.cpp"
break;
case 79: /* assignment_expression: unary_expression assignment_operator assignment_expression */
-#line 787 "glslang/MachineIndependent/glslang.y"
+#line 788 "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(), "=");
@@ -5301,119 +5319,119 @@
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
}
-#line 5305 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5323 "MachineIndependent/glslang_tab.cpp"
break;
case 80: /* assignment_operator: EQUAL */
-#line 803 "glslang/MachineIndependent/glslang.y"
+#line 804 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpAssign;
}
-#line 5314 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5332 "MachineIndependent/glslang_tab.cpp"
break;
case 81: /* assignment_operator: MUL_ASSIGN */
-#line 807 "glslang/MachineIndependent/glslang.y"
+#line 808 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpMulAssign;
}
-#line 5323 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5341 "MachineIndependent/glslang_tab.cpp"
break;
case 82: /* assignment_operator: DIV_ASSIGN */
-#line 811 "glslang/MachineIndependent/glslang.y"
+#line 812 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpDivAssign;
}
-#line 5332 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5350 "MachineIndependent/glslang_tab.cpp"
break;
case 83: /* assignment_operator: MOD_ASSIGN */
-#line 815 "glslang/MachineIndependent/glslang.y"
+#line 816 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpModAssign;
}
-#line 5342 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5360 "MachineIndependent/glslang_tab.cpp"
break;
case 84: /* assignment_operator: ADD_ASSIGN */
-#line 820 "glslang/MachineIndependent/glslang.y"
+#line 821 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpAddAssign;
}
-#line 5351 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5369 "MachineIndependent/glslang_tab.cpp"
break;
case 85: /* assignment_operator: SUB_ASSIGN */
-#line 824 "glslang/MachineIndependent/glslang.y"
+#line 825 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpSubAssign;
}
-#line 5360 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5378 "MachineIndependent/glslang_tab.cpp"
break;
case 86: /* assignment_operator: LEFT_ASSIGN */
-#line 828 "glslang/MachineIndependent/glslang.y"
+#line 829 "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 5369 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5387 "MachineIndependent/glslang_tab.cpp"
break;
case 87: /* assignment_operator: RIGHT_ASSIGN */
-#line 832 "glslang/MachineIndependent/glslang.y"
+#line 833 "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 5378 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5396 "MachineIndependent/glslang_tab.cpp"
break;
case 88: /* assignment_operator: AND_ASSIGN */
-#line 836 "glslang/MachineIndependent/glslang.y"
+#line 837 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
}
-#line 5387 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5405 "MachineIndependent/glslang_tab.cpp"
break;
case 89: /* assignment_operator: XOR_ASSIGN */
-#line 840 "glslang/MachineIndependent/glslang.y"
+#line 841 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
}
-#line 5396 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5414 "MachineIndependent/glslang_tab.cpp"
break;
case 90: /* assignment_operator: OR_ASSIGN */
-#line 844 "glslang/MachineIndependent/glslang.y"
+#line 845 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
}
-#line 5405 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5423 "MachineIndependent/glslang_tab.cpp"
break;
case 91: /* expression: assignment_expression */
-#line 851 "glslang/MachineIndependent/glslang.y"
+#line 852 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5413 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5431 "MachineIndependent/glslang_tab.cpp"
break;
case 92: /* expression: expression COMMA assignment_expression */
-#line 854 "glslang/MachineIndependent/glslang.y"
+#line 855 "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);
@@ -5422,40 +5440,40 @@
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
}
-#line 5426 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5444 "MachineIndependent/glslang_tab.cpp"
break;
case 93: /* constant_expression: conditional_expression */
-#line 865 "glslang/MachineIndependent/glslang.y"
+#line 866 "MachineIndependent/glslang.y"
{
parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5435 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5453 "MachineIndependent/glslang_tab.cpp"
break;
case 94: /* declaration: function_prototype SEMICOLON */
-#line 872 "glslang/MachineIndependent/glslang.y"
+#line 873 "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 5445 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5463 "MachineIndependent/glslang_tab.cpp"
break;
case 95: /* declaration: init_declarator_list SEMICOLON */
-#line 877 "glslang/MachineIndependent/glslang.y"
+#line 878 "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 5455 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5473 "MachineIndependent/glslang_tab.cpp"
break;
case 96: /* declaration: PRECISION precision_qualifier type_specifier SEMICOLON */
-#line 882 "glslang/MachineIndependent/glslang.y"
+#line 883 "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
@@ -5463,75 +5481,75 @@
parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
(yyval.interm.intermNode) = 0;
}
-#line 5467 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5485 "MachineIndependent/glslang_tab.cpp"
break;
case 97: /* declaration: block_structure SEMICOLON */
-#line 889 "glslang/MachineIndependent/glslang.y"
+#line 890 "MachineIndependent/glslang.y"
{
parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
(yyval.interm.intermNode) = 0;
}
-#line 5476 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5494 "MachineIndependent/glslang_tab.cpp"
break;
case 98: /* declaration: block_structure IDENTIFIER SEMICOLON */
-#line 893 "glslang/MachineIndependent/glslang.y"
+#line 894 "MachineIndependent/glslang.y"
{
parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
(yyval.interm.intermNode) = 0;
}
-#line 5485 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5503 "MachineIndependent/glslang_tab.cpp"
break;
case 99: /* declaration: block_structure IDENTIFIER array_specifier SEMICOLON */
-#line 897 "glslang/MachineIndependent/glslang.y"
+#line 898 "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 5494 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5512 "MachineIndependent/glslang_tab.cpp"
break;
case 100: /* declaration: type_qualifier SEMICOLON */
-#line 901 "glslang/MachineIndependent/glslang.y"
+#line 902 "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 5504 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5522 "MachineIndependent/glslang_tab.cpp"
break;
case 101: /* declaration: type_qualifier IDENTIFIER SEMICOLON */
-#line 906 "glslang/MachineIndependent/glslang.y"
+#line 907 "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 5514 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5532 "MachineIndependent/glslang_tab.cpp"
break;
case 102: /* declaration: type_qualifier IDENTIFIER identifier_list SEMICOLON */
-#line 911 "glslang/MachineIndependent/glslang.y"
+#line 912 "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 5525 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5543 "MachineIndependent/glslang_tab.cpp"
break;
case 103: /* $@2: %empty */
-#line 920 "glslang/MachineIndependent/glslang.y"
+#line 921 "MachineIndependent/glslang.y"
{ parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
-#line 5531 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5549 "MachineIndependent/glslang_tab.cpp"
break;
case 104: /* block_structure: type_qualifier IDENTIFIER LEFT_BRACE $@2 struct_declaration_list RIGHT_BRACE */
-#line 920 "glslang/MachineIndependent/glslang.y"
+#line 921 "MachineIndependent/glslang.y"
{
--parseContext.blockNestingLevel;
parseContext.blockName = (yyvsp[-4].lex).string;
@@ -5541,54 +5559,54 @@
(yyval.interm).loc = (yyvsp[-5].interm.type).loc;
(yyval.interm).typeList = (yyvsp[-1].interm.typeList);
}
-#line 5545 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5563 "MachineIndependent/glslang_tab.cpp"
break;
case 105: /* identifier_list: COMMA IDENTIFIER */
-#line 931 "glslang/MachineIndependent/glslang.y"
+#line 932 "MachineIndependent/glslang.y"
{
(yyval.interm.identifierList) = new TIdentifierList;
(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
}
-#line 5554 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5572 "MachineIndependent/glslang_tab.cpp"
break;
case 106: /* identifier_list: identifier_list COMMA IDENTIFIER */
-#line 935 "glslang/MachineIndependent/glslang.y"
+#line 936 "MachineIndependent/glslang.y"
{
(yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
}
-#line 5563 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5581 "MachineIndependent/glslang_tab.cpp"
break;
case 107: /* function_prototype: function_declarator RIGHT_PAREN */
-#line 942 "glslang/MachineIndependent/glslang.y"
+#line 943 "MachineIndependent/glslang.y"
{
(yyval.interm).function = (yyvsp[-1].interm.function);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 5572 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5590 "MachineIndependent/glslang_tab.cpp"
break;
case 108: /* function_declarator: function_header */
-#line 949 "glslang/MachineIndependent/glslang.y"
+#line 950 "MachineIndependent/glslang.y"
{
(yyval.interm.function) = (yyvsp[0].interm.function);
}
-#line 5580 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5598 "MachineIndependent/glslang_tab.cpp"
break;
case 109: /* function_declarator: function_header_with_parameters */
-#line 952 "glslang/MachineIndependent/glslang.y"
+#line 953 "MachineIndependent/glslang.y"
{
(yyval.interm.function) = (yyvsp[0].interm.function);
}
-#line 5588 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5606 "MachineIndependent/glslang_tab.cpp"
break;
case 110: /* function_header_with_parameters: function_header parameter_declaration */
-#line 959 "glslang/MachineIndependent/glslang.y"
+#line 960 "MachineIndependent/glslang.y"
{
// Add the parameter
(yyval.interm.function) = (yyvsp[-1].interm.function);
@@ -5597,11 +5615,11 @@
else
delete (yyvsp[0].interm).param.type;
}
-#line 5601 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5619 "MachineIndependent/glslang_tab.cpp"
break;
case 111: /* function_header_with_parameters: function_header_with_parameters COMMA parameter_declaration */
-#line 967 "glslang/MachineIndependent/glslang.y"
+#line 968 "MachineIndependent/glslang.y"
{
//
// Only first parameter of one-parameter functions can be void
@@ -5619,11 +5637,11 @@
(yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
}
}
-#line 5623 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5641 "MachineIndependent/glslang_tab.cpp"
break;
case 112: /* function_header: fully_specified_type IDENTIFIER LEFT_PAREN */
-#line 987 "glslang/MachineIndependent/glslang.y"
+#line 988 "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",
@@ -5643,11 +5661,11 @@
function = new TFunction((yyvsp[-1].lex).string, type);
(yyval.interm.function) = function;
}
-#line 5647 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5665 "MachineIndependent/glslang_tab.cpp"
break;
case 113: /* parameter_declarator: type_specifier IDENTIFIER */
-#line 1010 "glslang/MachineIndependent/glslang.y"
+#line 1011 "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");
@@ -5663,11 +5681,11 @@
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).param = param;
}
-#line 5667 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5685 "MachineIndependent/glslang_tab.cpp"
break;
case 114: /* parameter_declarator: type_specifier IDENTIFIER array_specifier */
-#line 1025 "glslang/MachineIndependent/glslang.y"
+#line 1026 "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");
@@ -5687,11 +5705,11 @@
(yyval.interm).loc = (yyvsp[-1].lex).loc;
(yyval.interm).param = param;
}
-#line 5691 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5709 "MachineIndependent/glslang_tab.cpp"
break;
case 115: /* parameter_declaration: type_qualifier parameter_declarator */
-#line 1050 "glslang/MachineIndependent/glslang.y"
+#line 1051 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -5703,11 +5721,11 @@
parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
}
-#line 5707 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5725 "MachineIndependent/glslang_tab.cpp"
break;
case 116: /* parameter_declaration: parameter_declarator */
-#line 1061 "glslang/MachineIndependent/glslang.y"
+#line 1062 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
@@ -5715,11 +5733,11 @@
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 5719 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5737 "MachineIndependent/glslang_tab.cpp"
break;
case 117: /* parameter_declaration: type_qualifier parameter_type_specifier */
-#line 1071 "glslang/MachineIndependent/glslang.y"
+#line 1072 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -5730,11 +5748,11 @@
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 5734 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5752 "MachineIndependent/glslang_tab.cpp"
break;
case 118: /* parameter_declaration: parameter_type_specifier */
-#line 1081 "glslang/MachineIndependent/glslang.y"
+#line 1082 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
@@ -5742,68 +5760,68 @@
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 5746 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5764 "MachineIndependent/glslang_tab.cpp"
break;
case 119: /* parameter_type_specifier: type_specifier */
-#line 1091 "glslang/MachineIndependent/glslang.y"
+#line 1092 "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 5757 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5775 "MachineIndependent/glslang_tab.cpp"
break;
case 120: /* init_declarator_list: single_declaration */
-#line 1100 "glslang/MachineIndependent/glslang.y"
+#line 1101 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 5765 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5783 "MachineIndependent/glslang_tab.cpp"
break;
case 121: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER */
-#line 1103 "glslang/MachineIndependent/glslang.y"
+#line 1104 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-2].interm);
parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
}
-#line 5774 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5792 "MachineIndependent/glslang_tab.cpp"
break;
case 122: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier */
-#line 1107 "glslang/MachineIndependent/glslang.y"
+#line 1108 "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 5783 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5801 "MachineIndependent/glslang_tab.cpp"
break;
case 123: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier EQUAL initializer */
-#line 1111 "glslang/MachineIndependent/glslang.y"
+#line 1112 "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 5793 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5811 "MachineIndependent/glslang_tab.cpp"
break;
case 124: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER EQUAL initializer */
-#line 1116 "glslang/MachineIndependent/glslang.y"
+#line 1117 "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 5803 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5821 "MachineIndependent/glslang_tab.cpp"
break;
case 125: /* single_declaration: fully_specified_type */
-#line 1124 "glslang/MachineIndependent/glslang.y"
+#line 1125 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[0].interm.type);
(yyval.interm).intermNode = 0;
@@ -5811,51 +5829,51 @@
parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
}
-#line 5815 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5833 "MachineIndependent/glslang_tab.cpp"
break;
case 126: /* single_declaration: fully_specified_type IDENTIFIER */
-#line 1131 "glslang/MachineIndependent/glslang.y"
+#line 1132 "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 5825 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5843 "MachineIndependent/glslang_tab.cpp"
break;
case 127: /* single_declaration: fully_specified_type IDENTIFIER array_specifier */
-#line 1136 "glslang/MachineIndependent/glslang.y"
+#line 1137 "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 5835 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5853 "MachineIndependent/glslang_tab.cpp"
break;
case 128: /* single_declaration: fully_specified_type IDENTIFIER array_specifier EQUAL initializer */
-#line 1141 "glslang/MachineIndependent/glslang.y"
+#line 1142 "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 5845 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5863 "MachineIndependent/glslang_tab.cpp"
break;
case 129: /* single_declaration: fully_specified_type IDENTIFIER EQUAL initializer */
-#line 1146 "glslang/MachineIndependent/glslang.y"
+#line 1147 "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 5855 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5873 "MachineIndependent/glslang_tab.cpp"
break;
case 130: /* fully_specified_type: type_specifier */
-#line 1155 "glslang/MachineIndependent/glslang.y"
+#line 1156 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
@@ -5866,11 +5884,11 @@
}
parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
}
-#line 5870 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5888 "MachineIndependent/glslang_tab.cpp"
break;
case 131: /* fully_specified_type: type_qualifier type_specifier */
-#line 1165 "glslang/MachineIndependent/glslang.y"
+#line 1166 "MachineIndependent/glslang.y"
{
parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
@@ -5895,22 +5913,22 @@
(parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
(yyval.interm.type).qualifier.smooth = true;
}
-#line 5899 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5917 "MachineIndependent/glslang_tab.cpp"
break;
case 132: /* invariant_qualifier: INVARIANT */
-#line 1192 "glslang/MachineIndependent/glslang.y"
+#line 1193 "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 5910 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5928 "MachineIndependent/glslang_tab.cpp"
break;
case 133: /* interpolation_qualifier: SMOOTH */
-#line 1201 "glslang/MachineIndependent/glslang.y"
+#line 1202 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
@@ -5918,11 +5936,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.smooth = true;
}
-#line 5922 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5940 "MachineIndependent/glslang_tab.cpp"
break;
case 134: /* interpolation_qualifier: FLAT */
-#line 1208 "glslang/MachineIndependent/glslang.y"
+#line 1209 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
@@ -5930,11 +5948,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.flat = true;
}
-#line 5934 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5952 "MachineIndependent/glslang_tab.cpp"
break;
case 135: /* interpolation_qualifier: NOPERSPECTIVE */
-#line 1216 "glslang/MachineIndependent/glslang.y"
+#line 1217 "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");
@@ -5942,11 +5960,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.nopersp = true;
}
-#line 5946 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5964 "MachineIndependent/glslang_tab.cpp"
break;
case 136: /* interpolation_qualifier: EXPLICITINTERPAMD */
-#line 1223 "glslang/MachineIndependent/glslang.y"
+#line 1224 "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");
@@ -5954,11 +5972,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.explicitInterp = true;
}
-#line 5958 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5976 "MachineIndependent/glslang_tab.cpp"
break;
case 137: /* interpolation_qualifier: PERVERTEXNV */
-#line 1230 "glslang/MachineIndependent/glslang.y"
+#line 1231 "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");
@@ -5967,11 +5985,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.pervertexNV = true;
}
-#line 5971 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 5989 "MachineIndependent/glslang_tab.cpp"
break;
case 138: /* interpolation_qualifier: PERPRIMITIVENV */
-#line 1238 "glslang/MachineIndependent/glslang.y"
+#line 1239 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveNV");
@@ -5982,11 +6000,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perPrimitiveNV = true;
}
-#line 5986 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6004 "MachineIndependent/glslang_tab.cpp"
break;
case 139: /* interpolation_qualifier: PERVIEWNV */
-#line 1248 "glslang/MachineIndependent/glslang.y"
+#line 1249 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "perviewNV");
@@ -5994,11 +6012,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perViewNV = true;
}
-#line 5998 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6016 "MachineIndependent/glslang_tab.cpp"
break;
case 140: /* interpolation_qualifier: PERTASKNV */
-#line 1255 "glslang/MachineIndependent/glslang.y"
+#line 1256 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "taskNV");
@@ -6006,84 +6024,84 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perTaskNV = true;
}
-#line 6010 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6028 "MachineIndependent/glslang_tab.cpp"
break;
case 141: /* layout_qualifier: LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN */
-#line 1266 "glslang/MachineIndependent/glslang.y"
+#line 1267 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
}
-#line 6018 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6036 "MachineIndependent/glslang_tab.cpp"
break;
case 142: /* layout_qualifier_id_list: layout_qualifier_id */
-#line 1272 "glslang/MachineIndependent/glslang.y"
+#line 1273 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6026 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6044 "MachineIndependent/glslang_tab.cpp"
break;
case 143: /* layout_qualifier_id_list: layout_qualifier_id_list COMMA layout_qualifier_id */
-#line 1275 "glslang/MachineIndependent/glslang.y"
+#line 1276 "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 6036 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6054 "MachineIndependent/glslang_tab.cpp"
break;
case 144: /* layout_qualifier_id: IDENTIFIER */
-#line 1282 "glslang/MachineIndependent/glslang.y"
+#line 1283 "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 6045 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6063 "MachineIndependent/glslang_tab.cpp"
break;
case 145: /* layout_qualifier_id: IDENTIFIER EQUAL constant_expression */
-#line 1286 "glslang/MachineIndependent/glslang.y"
+#line 1287 "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 6054 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6072 "MachineIndependent/glslang_tab.cpp"
break;
case 146: /* layout_qualifier_id: SHARED */
-#line 1290 "glslang/MachineIndependent/glslang.y"
+#line 1291 "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 6064 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6082 "MachineIndependent/glslang_tab.cpp"
break;
case 147: /* precise_qualifier: PRECISE */
-#line 1299 "glslang/MachineIndependent/glslang.y"
+#line 1300 "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 6075 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6093 "MachineIndependent/glslang_tab.cpp"
break;
case 148: /* type_qualifier: single_type_qualifier */
-#line 1309 "glslang/MachineIndependent/glslang.y"
+#line 1310 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6083 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6101 "MachineIndependent/glslang_tab.cpp"
break;
case 149: /* type_qualifier: type_qualifier single_type_qualifier */
-#line 1312 "glslang/MachineIndependent/glslang.y"
+#line 1313 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
if ((yyval.interm.type).basicType == EbtVoid)
@@ -6092,112 +6110,112 @@
(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 6096 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6114 "MachineIndependent/glslang_tab.cpp"
break;
case 150: /* single_type_qualifier: storage_qualifier */
-#line 1323 "glslang/MachineIndependent/glslang.y"
+#line 1324 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6104 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6122 "MachineIndependent/glslang_tab.cpp"
break;
case 151: /* single_type_qualifier: layout_qualifier */
-#line 1326 "glslang/MachineIndependent/glslang.y"
+#line 1327 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6112 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6130 "MachineIndependent/glslang_tab.cpp"
break;
case 152: /* single_type_qualifier: precision_qualifier */
-#line 1329 "glslang/MachineIndependent/glslang.y"
+#line 1330 "MachineIndependent/glslang.y"
{
parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6121 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6139 "MachineIndependent/glslang_tab.cpp"
break;
case 153: /* single_type_qualifier: interpolation_qualifier */
-#line 1333 "glslang/MachineIndependent/glslang.y"
+#line 1334 "MachineIndependent/glslang.y"
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6130 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6148 "MachineIndependent/glslang_tab.cpp"
break;
case 154: /* single_type_qualifier: invariant_qualifier */
-#line 1337 "glslang/MachineIndependent/glslang.y"
+#line 1338 "MachineIndependent/glslang.y"
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6139 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6157 "MachineIndependent/glslang_tab.cpp"
break;
case 155: /* single_type_qualifier: precise_qualifier */
-#line 1342 "glslang/MachineIndependent/glslang.y"
+#line 1343 "MachineIndependent/glslang.y"
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6148 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6166 "MachineIndependent/glslang_tab.cpp"
break;
case 156: /* single_type_qualifier: non_uniform_qualifier */
-#line 1346 "glslang/MachineIndependent/glslang.y"
+#line 1347 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6156 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6174 "MachineIndependent/glslang_tab.cpp"
break;
case 157: /* storage_qualifier: CONST */
-#line 1353 "glslang/MachineIndependent/glslang.y"
+#line 1354 "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 6165 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6183 "MachineIndependent/glslang_tab.cpp"
break;
case 158: /* storage_qualifier: INOUT */
-#line 1357 "glslang/MachineIndependent/glslang.y"
+#line 1358 "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 6175 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6193 "MachineIndependent/glslang_tab.cpp"
break;
case 159: /* storage_qualifier: IN */
-#line 1362 "glslang/MachineIndependent/glslang.y"
+#line 1363 "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 6186 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6204 "MachineIndependent/glslang_tab.cpp"
break;
case 160: /* storage_qualifier: OUT */
-#line 1368 "glslang/MachineIndependent/glslang.y"
+#line 1369 "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 6197 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6215 "MachineIndependent/glslang_tab.cpp"
break;
case 161: /* storage_qualifier: CENTROID */
-#line 1374 "glslang/MachineIndependent/glslang.y"
+#line 1375 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
@@ -6205,21 +6223,21 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.centroid = true;
}
-#line 6209 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6227 "MachineIndependent/glslang_tab.cpp"
break;
case 162: /* storage_qualifier: UNIFORM */
-#line 1381 "glslang/MachineIndependent/glslang.y"
+#line 1382 "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 6219 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6237 "MachineIndependent/glslang_tab.cpp"
break;
case 163: /* storage_qualifier: SHARED */
-#line 1386 "glslang/MachineIndependent/glslang.y"
+#line 1387 "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");
@@ -6228,21 +6246,21 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqShared;
}
-#line 6232 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6250 "MachineIndependent/glslang_tab.cpp"
break;
case 164: /* storage_qualifier: BUFFER */
-#line 1394 "glslang/MachineIndependent/glslang.y"
+#line 1395 "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 6242 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6260 "MachineIndependent/glslang_tab.cpp"
break;
case 165: /* storage_qualifier: ATTRIBUTE */
-#line 1400 "glslang/MachineIndependent/glslang.y"
+#line 1401 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
@@ -6255,11 +6273,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqVaryingIn;
}
-#line 6259 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6277 "MachineIndependent/glslang_tab.cpp"
break;
case 166: /* storage_qualifier: VARYING */
-#line 1412 "glslang/MachineIndependent/glslang.y"
+#line 1413 "MachineIndependent/glslang.y"
{
parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
@@ -6274,32 +6292,32 @@
else
(yyval.interm.type).qualifier.storage = EvqVaryingIn;
}
-#line 6278 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6296 "MachineIndependent/glslang_tab.cpp"
break;
case 167: /* storage_qualifier: PATCH */
-#line 1426 "glslang/MachineIndependent/glslang.y"
+#line 1427 "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 6289 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6307 "MachineIndependent/glslang_tab.cpp"
break;
case 168: /* storage_qualifier: SAMPLE */
-#line 1432 "glslang/MachineIndependent/glslang.y"
+#line 1433 "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 6299 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6317 "MachineIndependent/glslang_tab.cpp"
break;
case 169: /* storage_qualifier: HITATTRNV */
-#line 1437 "glslang/MachineIndependent/glslang.y"
+#line 1438 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -6308,11 +6326,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqHitAttr;
}
-#line 6312 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6330 "MachineIndependent/glslang_tab.cpp"
break;
case 170: /* storage_qualifier: HITATTREXT */
-#line 1445 "glslang/MachineIndependent/glslang.y"
+#line 1446 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -6321,11 +6339,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqHitAttr;
}
-#line 6325 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6343 "MachineIndependent/glslang_tab.cpp"
break;
case 171: /* storage_qualifier: PAYLOADNV */
-#line 1453 "glslang/MachineIndependent/glslang.y"
+#line 1454 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask |
@@ -6334,11 +6352,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayload;
}
-#line 6338 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6356 "MachineIndependent/glslang_tab.cpp"
break;
case 172: /* storage_qualifier: PAYLOADEXT */
-#line 1461 "glslang/MachineIndependent/glslang.y"
+#line 1462 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask |
@@ -6347,11 +6365,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayload;
}
-#line 6351 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6369 "MachineIndependent/glslang_tab.cpp"
break;
case 173: /* storage_qualifier: PAYLOADINNV */
-#line 1469 "glslang/MachineIndependent/glslang.y"
+#line 1470 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask |
@@ -6360,11 +6378,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayloadIn;
}
-#line 6364 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6382 "MachineIndependent/glslang_tab.cpp"
break;
case 174: /* storage_qualifier: PAYLOADINEXT */
-#line 1477 "glslang/MachineIndependent/glslang.y"
+#line 1478 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask |
@@ -6373,11 +6391,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayloadIn;
}
-#line 6377 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6395 "MachineIndependent/glslang_tab.cpp"
break;
case 175: /* storage_qualifier: CALLDATANV */
-#line 1485 "glslang/MachineIndependent/glslang.y"
+#line 1486 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask |
@@ -6386,11 +6404,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableData;
}
-#line 6390 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6408 "MachineIndependent/glslang_tab.cpp"
break;
case 176: /* storage_qualifier: CALLDATAEXT */
-#line 1493 "glslang/MachineIndependent/glslang.y"
+#line 1494 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask |
@@ -6399,11 +6417,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableData;
}
-#line 6403 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6421 "MachineIndependent/glslang_tab.cpp"
break;
case 177: /* storage_qualifier: CALLDATAINNV */
-#line 1501 "glslang/MachineIndependent/glslang.y"
+#line 1502 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV");
@@ -6411,11 +6429,11 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableDataIn;
}
-#line 6415 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6433 "MachineIndependent/glslang_tab.cpp"
break;
case 178: /* storage_qualifier: CALLDATAINEXT */
-#line 1508 "glslang/MachineIndependent/glslang.y"
+#line 1509 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInEXT");
@@ -6423,175 +6441,175 @@
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableDataIn;
}
-#line 6427 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6445 "MachineIndependent/glslang_tab.cpp"
break;
case 179: /* storage_qualifier: COHERENT */
-#line 1515 "glslang/MachineIndependent/glslang.y"
+#line 1516 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.coherent = true;
}
-#line 6436 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6454 "MachineIndependent/glslang_tab.cpp"
break;
case 180: /* storage_qualifier: DEVICECOHERENT */
-#line 1519 "glslang/MachineIndependent/glslang.y"
+#line 1520 "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 6446 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6464 "MachineIndependent/glslang_tab.cpp"
break;
case 181: /* storage_qualifier: QUEUEFAMILYCOHERENT */
-#line 1524 "glslang/MachineIndependent/glslang.y"
+#line 1525 "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 6456 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6474 "MachineIndependent/glslang_tab.cpp"
break;
case 182: /* storage_qualifier: WORKGROUPCOHERENT */
-#line 1529 "glslang/MachineIndependent/glslang.y"
+#line 1530 "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 6466 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6484 "MachineIndependent/glslang_tab.cpp"
break;
case 183: /* storage_qualifier: SUBGROUPCOHERENT */
-#line 1534 "glslang/MachineIndependent/glslang.y"
+#line 1535 "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 6476 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6494 "MachineIndependent/glslang_tab.cpp"
break;
case 184: /* storage_qualifier: NONPRIVATE */
-#line 1539 "glslang/MachineIndependent/glslang.y"
+#line 1540 "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 6486 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6504 "MachineIndependent/glslang_tab.cpp"
break;
case 185: /* storage_qualifier: SHADERCALLCOHERENT */
-#line 1544 "glslang/MachineIndependent/glslang.y"
+#line 1545 "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 6496 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6514 "MachineIndependent/glslang_tab.cpp"
break;
case 186: /* storage_qualifier: VOLATILE */
-#line 1549 "glslang/MachineIndependent/glslang.y"
+#line 1550 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.volatil = true;
}
-#line 6505 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6523 "MachineIndependent/glslang_tab.cpp"
break;
case 187: /* storage_qualifier: RESTRICT */
-#line 1553 "glslang/MachineIndependent/glslang.y"
+#line 1554 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.restrict = true;
}
-#line 6514 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6532 "MachineIndependent/glslang_tab.cpp"
break;
case 188: /* storage_qualifier: READONLY */
-#line 1557 "glslang/MachineIndependent/glslang.y"
+#line 1558 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.readonly = true;
}
-#line 6523 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6541 "MachineIndependent/glslang_tab.cpp"
break;
case 189: /* storage_qualifier: WRITEONLY */
-#line 1561 "glslang/MachineIndependent/glslang.y"
+#line 1562 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.writeonly = true;
}
-#line 6532 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6550 "MachineIndependent/glslang_tab.cpp"
break;
case 190: /* storage_qualifier: SUBROUTINE */
-#line 1565 "glslang/MachineIndependent/glslang.y"
+#line 1566 "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 6543 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6561 "MachineIndependent/glslang_tab.cpp"
break;
case 191: /* storage_qualifier: SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN */
-#line 1571 "glslang/MachineIndependent/glslang.y"
+#line 1572 "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 6554 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6572 "MachineIndependent/glslang_tab.cpp"
break;
case 192: /* non_uniform_qualifier: NONUNIFORM */
-#line 1582 "glslang/MachineIndependent/glslang.y"
+#line 1583 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.nonUniform = true;
}
-#line 6563 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6581 "MachineIndependent/glslang_tab.cpp"
break;
case 193: /* type_name_list: IDENTIFIER */
-#line 1589 "glslang/MachineIndependent/glslang.y"
+#line 1590 "MachineIndependent/glslang.y"
{
// TODO
}
-#line 6571 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6589 "MachineIndependent/glslang_tab.cpp"
break;
case 194: /* type_name_list: type_name_list COMMA IDENTIFIER */
-#line 1592 "glslang/MachineIndependent/glslang.y"
+#line 1593 "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 6581 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6599 "MachineIndependent/glslang_tab.cpp"
break;
case 195: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt */
-#line 1601 "glslang/MachineIndependent/glslang.y"
+#line 1602 "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 6591 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6609 "MachineIndependent/glslang_tab.cpp"
break;
case 196: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt array_specifier */
-#line 1606 "glslang/MachineIndependent/glslang.y"
+#line 1607 "MachineIndependent/glslang.y"
{
parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
(yyval.interm.type) = (yyvsp[-2].interm.type);
@@ -6599,21 +6617,21 @@
(yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters);
(yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
}
-#line 6603 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6621 "MachineIndependent/glslang_tab.cpp"
break;
case 197: /* array_specifier: LEFT_BRACKET RIGHT_BRACKET */
-#line 1616 "glslang/MachineIndependent/glslang.y"
+#line 1617 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[-1].lex).loc;
(yyval.interm).arraySizes = new TArraySizes;
(yyval.interm).arraySizes->addInnerSize();
}
-#line 6613 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6631 "MachineIndependent/glslang_tab.cpp"
break;
case 198: /* array_specifier: LEFT_BRACKET conditional_expression RIGHT_BRACKET */
-#line 1621 "glslang/MachineIndependent/glslang.y"
+#line 1622 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[-2].lex).loc;
(yyval.interm).arraySizes = new TArraySizes;
@@ -6622,20 +6640,20 @@
parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
(yyval.interm).arraySizes->addInnerSize(size);
}
-#line 6626 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6644 "MachineIndependent/glslang_tab.cpp"
break;
case 199: /* array_specifier: array_specifier LEFT_BRACKET RIGHT_BRACKET */
-#line 1629 "glslang/MachineIndependent/glslang.y"
+#line 1630 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-2].interm);
(yyval.interm).arraySizes->addInnerSize();
}
-#line 6635 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6653 "MachineIndependent/glslang_tab.cpp"
break;
case 200: /* array_specifier: array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET */
-#line 1633 "glslang/MachineIndependent/glslang.y"
+#line 1634 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-3].interm);
@@ -6643,35 +6661,35 @@
parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
(yyval.interm).arraySizes->addInnerSize(size);
}
-#line 6647 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6665 "MachineIndependent/glslang_tab.cpp"
break;
case 201: /* type_parameter_specifier_opt: type_parameter_specifier */
-#line 1643 "glslang/MachineIndependent/glslang.y"
+#line 1644 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters);
}
-#line 6655 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6673 "MachineIndependent/glslang_tab.cpp"
break;
case 202: /* type_parameter_specifier_opt: %empty */
-#line 1646 "glslang/MachineIndependent/glslang.y"
+#line 1647 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = 0;
}
-#line 6663 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6681 "MachineIndependent/glslang_tab.cpp"
break;
case 203: /* type_parameter_specifier: LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE */
-#line 1652 "glslang/MachineIndependent/glslang.y"
+#line 1653 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters);
}
-#line 6671 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6689 "MachineIndependent/glslang_tab.cpp"
break;
case 204: /* type_parameter_specifier_list: unary_expression */
-#line 1658 "glslang/MachineIndependent/glslang.y"
+#line 1659 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = new TArraySizes;
@@ -6679,11 +6697,11 @@
parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
(yyval.interm.typeParameters)->addInnerSize(size);
}
-#line 6683 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6701 "MachineIndependent/glslang_tab.cpp"
break;
case 205: /* type_parameter_specifier_list: type_parameter_specifier_list COMMA unary_expression */
-#line 1665 "glslang/MachineIndependent/glslang.y"
+#line 1666 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = (yyvsp[-2].interm.typeParameters);
@@ -6691,300 +6709,300 @@
parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
(yyval.interm.typeParameters)->addInnerSize(size);
}
-#line 6695 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6713 "MachineIndependent/glslang_tab.cpp"
break;
case 206: /* type_specifier_nonarray: VOID */
-#line 1675 "glslang/MachineIndependent/glslang.y"
+#line 1676 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtVoid;
}
-#line 6704 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6722 "MachineIndependent/glslang_tab.cpp"
break;
case 207: /* type_specifier_nonarray: FLOAT */
-#line 1679 "glslang/MachineIndependent/glslang.y"
+#line 1680 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
}
-#line 6713 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6731 "MachineIndependent/glslang_tab.cpp"
break;
case 208: /* type_specifier_nonarray: INT */
-#line 1683 "glslang/MachineIndependent/glslang.y"
+#line 1684 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
}
-#line 6722 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6740 "MachineIndependent/glslang_tab.cpp"
break;
case 209: /* type_specifier_nonarray: UINT */
-#line 1687 "glslang/MachineIndependent/glslang.y"
+#line 1688 "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 6732 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6750 "MachineIndependent/glslang_tab.cpp"
break;
case 210: /* type_specifier_nonarray: BOOL */
-#line 1692 "glslang/MachineIndependent/glslang.y"
+#line 1693 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
}
-#line 6741 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6759 "MachineIndependent/glslang_tab.cpp"
break;
case 211: /* type_specifier_nonarray: VEC2 */
-#line 1696 "glslang/MachineIndependent/glslang.y"
+#line 1697 "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 6751 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6769 "MachineIndependent/glslang_tab.cpp"
break;
case 212: /* type_specifier_nonarray: VEC3 */
-#line 1701 "glslang/MachineIndependent/glslang.y"
+#line 1702 "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 6761 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6779 "MachineIndependent/glslang_tab.cpp"
break;
case 213: /* type_specifier_nonarray: VEC4 */
-#line 1706 "glslang/MachineIndependent/glslang.y"
+#line 1707 "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 6771 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6789 "MachineIndependent/glslang_tab.cpp"
break;
case 214: /* type_specifier_nonarray: BVEC2 */
-#line 1711 "glslang/MachineIndependent/glslang.y"
+#line 1712 "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 6781 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6799 "MachineIndependent/glslang_tab.cpp"
break;
case 215: /* type_specifier_nonarray: BVEC3 */
-#line 1716 "glslang/MachineIndependent/glslang.y"
+#line 1717 "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 6791 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6809 "MachineIndependent/glslang_tab.cpp"
break;
case 216: /* type_specifier_nonarray: BVEC4 */
-#line 1721 "glslang/MachineIndependent/glslang.y"
+#line 1722 "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 6801 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6819 "MachineIndependent/glslang_tab.cpp"
break;
case 217: /* type_specifier_nonarray: IVEC2 */
-#line 1726 "glslang/MachineIndependent/glslang.y"
+#line 1727 "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 6811 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6829 "MachineIndependent/glslang_tab.cpp"
break;
case 218: /* type_specifier_nonarray: IVEC3 */
-#line 1731 "glslang/MachineIndependent/glslang.y"
+#line 1732 "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 6821 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6839 "MachineIndependent/glslang_tab.cpp"
break;
case 219: /* type_specifier_nonarray: IVEC4 */
-#line 1736 "glslang/MachineIndependent/glslang.y"
+#line 1737 "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 6831 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6849 "MachineIndependent/glslang_tab.cpp"
break;
case 220: /* type_specifier_nonarray: UVEC2 */
-#line 1741 "glslang/MachineIndependent/glslang.y"
+#line 1742 "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 6842 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6860 "MachineIndependent/glslang_tab.cpp"
break;
case 221: /* type_specifier_nonarray: UVEC3 */
-#line 1747 "glslang/MachineIndependent/glslang.y"
+#line 1748 "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 6853 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6871 "MachineIndependent/glslang_tab.cpp"
break;
case 222: /* type_specifier_nonarray: UVEC4 */
-#line 1753 "glslang/MachineIndependent/glslang.y"
+#line 1754 "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 6864 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6882 "MachineIndependent/glslang_tab.cpp"
break;
case 223: /* type_specifier_nonarray: MAT2 */
-#line 1759 "glslang/MachineIndependent/glslang.y"
+#line 1760 "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 6874 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6892 "MachineIndependent/glslang_tab.cpp"
break;
case 224: /* type_specifier_nonarray: MAT3 */
-#line 1764 "glslang/MachineIndependent/glslang.y"
+#line 1765 "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 6884 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6902 "MachineIndependent/glslang_tab.cpp"
break;
case 225: /* type_specifier_nonarray: MAT4 */
-#line 1769 "glslang/MachineIndependent/glslang.y"
+#line 1770 "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 6894 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6912 "MachineIndependent/glslang_tab.cpp"
break;
case 226: /* type_specifier_nonarray: MAT2X2 */
-#line 1774 "glslang/MachineIndependent/glslang.y"
+#line 1775 "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 6904 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6922 "MachineIndependent/glslang_tab.cpp"
break;
case 227: /* type_specifier_nonarray: MAT2X3 */
-#line 1779 "glslang/MachineIndependent/glslang.y"
+#line 1780 "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 6914 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6932 "MachineIndependent/glslang_tab.cpp"
break;
case 228: /* type_specifier_nonarray: MAT2X4 */
-#line 1784 "glslang/MachineIndependent/glslang.y"
+#line 1785 "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 6924 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6942 "MachineIndependent/glslang_tab.cpp"
break;
case 229: /* type_specifier_nonarray: MAT3X2 */
-#line 1789 "glslang/MachineIndependent/glslang.y"
+#line 1790 "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 6934 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6952 "MachineIndependent/glslang_tab.cpp"
break;
case 230: /* type_specifier_nonarray: MAT3X3 */
-#line 1794 "glslang/MachineIndependent/glslang.y"
+#line 1795 "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 6944 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6962 "MachineIndependent/glslang_tab.cpp"
break;
case 231: /* type_specifier_nonarray: MAT3X4 */
-#line 1799 "glslang/MachineIndependent/glslang.y"
+#line 1800 "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 6954 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6972 "MachineIndependent/glslang_tab.cpp"
break;
case 232: /* type_specifier_nonarray: MAT4X2 */
-#line 1804 "glslang/MachineIndependent/glslang.y"
+#line 1805 "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 6964 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6982 "MachineIndependent/glslang_tab.cpp"
break;
case 233: /* type_specifier_nonarray: MAT4X3 */
-#line 1809 "glslang/MachineIndependent/glslang.y"
+#line 1810 "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 6974 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 6992 "MachineIndependent/glslang_tab.cpp"
break;
case 234: /* type_specifier_nonarray: MAT4X4 */
-#line 1814 "glslang/MachineIndependent/glslang.y"
+#line 1815 "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 6984 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7002 "MachineIndependent/glslang_tab.cpp"
break;
case 235: /* type_specifier_nonarray: DOUBLE */
-#line 1820 "glslang/MachineIndependent/glslang.y"
+#line 1821 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -6992,121 +7010,121 @@
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
}
-#line 6996 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7014 "MachineIndependent/glslang_tab.cpp"
break;
case 236: /* type_specifier_nonarray: FLOAT16_T */
-#line 1827 "glslang/MachineIndependent/glslang.y"
+#line 1828 "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 7006 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7024 "MachineIndependent/glslang_tab.cpp"
break;
case 237: /* type_specifier_nonarray: FLOAT32_T */
-#line 1832 "glslang/MachineIndependent/glslang.y"
+#line 1833 "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 7016 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7034 "MachineIndependent/glslang_tab.cpp"
break;
case 238: /* type_specifier_nonarray: FLOAT64_T */
-#line 1837 "glslang/MachineIndependent/glslang.y"
+#line 1838 "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 7026 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7044 "MachineIndependent/glslang_tab.cpp"
break;
case 239: /* type_specifier_nonarray: INT8_T */
-#line 1842 "glslang/MachineIndependent/glslang.y"
+#line 1843 "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 7036 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7054 "MachineIndependent/glslang_tab.cpp"
break;
case 240: /* type_specifier_nonarray: UINT8_T */
-#line 1847 "glslang/MachineIndependent/glslang.y"
+#line 1848 "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 7046 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7064 "MachineIndependent/glslang_tab.cpp"
break;
case 241: /* type_specifier_nonarray: INT16_T */
-#line 1852 "glslang/MachineIndependent/glslang.y"
+#line 1853 "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 7056 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7074 "MachineIndependent/glslang_tab.cpp"
break;
case 242: /* type_specifier_nonarray: UINT16_T */
-#line 1857 "glslang/MachineIndependent/glslang.y"
+#line 1858 "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 7066 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7084 "MachineIndependent/glslang_tab.cpp"
break;
case 243: /* type_specifier_nonarray: INT32_T */
-#line 1862 "glslang/MachineIndependent/glslang.y"
+#line 1863 "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 7076 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7094 "MachineIndependent/glslang_tab.cpp"
break;
case 244: /* type_specifier_nonarray: UINT32_T */
-#line 1867 "glslang/MachineIndependent/glslang.y"
+#line 1868 "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 7086 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7104 "MachineIndependent/glslang_tab.cpp"
break;
case 245: /* type_specifier_nonarray: INT64_T */
-#line 1872 "glslang/MachineIndependent/glslang.y"
+#line 1873 "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 7096 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7114 "MachineIndependent/glslang_tab.cpp"
break;
case 246: /* type_specifier_nonarray: UINT64_T */
-#line 1877 "glslang/MachineIndependent/glslang.y"
+#line 1878 "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 7106 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7124 "MachineIndependent/glslang_tab.cpp"
break;
case 247: /* type_specifier_nonarray: DVEC2 */
-#line 1882 "glslang/MachineIndependent/glslang.y"
+#line 1883 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7115,11 +7133,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(2);
}
-#line 7119 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7137 "MachineIndependent/glslang_tab.cpp"
break;
case 248: /* type_specifier_nonarray: DVEC3 */
-#line 1890 "glslang/MachineIndependent/glslang.y"
+#line 1891 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7128,11 +7146,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(3);
}
-#line 7132 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7150 "MachineIndependent/glslang_tab.cpp"
break;
case 249: /* type_specifier_nonarray: DVEC4 */
-#line 1898 "glslang/MachineIndependent/glslang.y"
+#line 1899 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7141,374 +7159,374 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(4);
}
-#line 7145 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7163 "MachineIndependent/glslang_tab.cpp"
break;
case 250: /* type_specifier_nonarray: F16VEC2 */
-#line 1906 "glslang/MachineIndependent/glslang.y"
+#line 1907 "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 7156 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7174 "MachineIndependent/glslang_tab.cpp"
break;
case 251: /* type_specifier_nonarray: F16VEC3 */
-#line 1912 "glslang/MachineIndependent/glslang.y"
+#line 1913 "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 7167 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7185 "MachineIndependent/glslang_tab.cpp"
break;
case 252: /* type_specifier_nonarray: F16VEC4 */
-#line 1918 "glslang/MachineIndependent/glslang.y"
+#line 1919 "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 7178 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7196 "MachineIndependent/glslang_tab.cpp"
break;
case 253: /* type_specifier_nonarray: F32VEC2 */
-#line 1924 "glslang/MachineIndependent/glslang.y"
+#line 1925 "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 7189 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7207 "MachineIndependent/glslang_tab.cpp"
break;
case 254: /* type_specifier_nonarray: F32VEC3 */
-#line 1930 "glslang/MachineIndependent/glslang.y"
+#line 1931 "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 7200 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7218 "MachineIndependent/glslang_tab.cpp"
break;
case 255: /* type_specifier_nonarray: F32VEC4 */
-#line 1936 "glslang/MachineIndependent/glslang.y"
+#line 1937 "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 7211 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7229 "MachineIndependent/glslang_tab.cpp"
break;
case 256: /* type_specifier_nonarray: F64VEC2 */
-#line 1942 "glslang/MachineIndependent/glslang.y"
+#line 1943 "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 7222 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7240 "MachineIndependent/glslang_tab.cpp"
break;
case 257: /* type_specifier_nonarray: F64VEC3 */
-#line 1948 "glslang/MachineIndependent/glslang.y"
+#line 1949 "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 7233 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7251 "MachineIndependent/glslang_tab.cpp"
break;
case 258: /* type_specifier_nonarray: F64VEC4 */
-#line 1954 "glslang/MachineIndependent/glslang.y"
+#line 1955 "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 7244 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7262 "MachineIndependent/glslang_tab.cpp"
break;
case 259: /* type_specifier_nonarray: I8VEC2 */
-#line 1960 "glslang/MachineIndependent/glslang.y"
+#line 1961 "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 7255 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7273 "MachineIndependent/glslang_tab.cpp"
break;
case 260: /* type_specifier_nonarray: I8VEC3 */
-#line 1966 "glslang/MachineIndependent/glslang.y"
+#line 1967 "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 7266 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7284 "MachineIndependent/glslang_tab.cpp"
break;
case 261: /* type_specifier_nonarray: I8VEC4 */
-#line 1972 "glslang/MachineIndependent/glslang.y"
+#line 1973 "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 7277 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7295 "MachineIndependent/glslang_tab.cpp"
break;
case 262: /* type_specifier_nonarray: I16VEC2 */
-#line 1978 "glslang/MachineIndependent/glslang.y"
+#line 1979 "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 7288 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7306 "MachineIndependent/glslang_tab.cpp"
break;
case 263: /* type_specifier_nonarray: I16VEC3 */
-#line 1984 "glslang/MachineIndependent/glslang.y"
+#line 1985 "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 7299 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7317 "MachineIndependent/glslang_tab.cpp"
break;
case 264: /* type_specifier_nonarray: I16VEC4 */
-#line 1990 "glslang/MachineIndependent/glslang.y"
+#line 1991 "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 7310 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7328 "MachineIndependent/glslang_tab.cpp"
break;
case 265: /* type_specifier_nonarray: I32VEC2 */
-#line 1996 "glslang/MachineIndependent/glslang.y"
+#line 1997 "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 7321 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7339 "MachineIndependent/glslang_tab.cpp"
break;
case 266: /* type_specifier_nonarray: I32VEC3 */
-#line 2002 "glslang/MachineIndependent/glslang.y"
+#line 2003 "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 7332 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7350 "MachineIndependent/glslang_tab.cpp"
break;
case 267: /* type_specifier_nonarray: I32VEC4 */
-#line 2008 "glslang/MachineIndependent/glslang.y"
+#line 2009 "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 7343 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7361 "MachineIndependent/glslang_tab.cpp"
break;
case 268: /* type_specifier_nonarray: I64VEC2 */
-#line 2014 "glslang/MachineIndependent/glslang.y"
+#line 2015 "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 7354 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7372 "MachineIndependent/glslang_tab.cpp"
break;
case 269: /* type_specifier_nonarray: I64VEC3 */
-#line 2020 "glslang/MachineIndependent/glslang.y"
+#line 2021 "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 7365 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7383 "MachineIndependent/glslang_tab.cpp"
break;
case 270: /* type_specifier_nonarray: I64VEC4 */
-#line 2026 "glslang/MachineIndependent/glslang.y"
+#line 2027 "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 7376 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7394 "MachineIndependent/glslang_tab.cpp"
break;
case 271: /* type_specifier_nonarray: U8VEC2 */
-#line 2032 "glslang/MachineIndependent/glslang.y"
+#line 2033 "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 7387 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7405 "MachineIndependent/glslang_tab.cpp"
break;
case 272: /* type_specifier_nonarray: U8VEC3 */
-#line 2038 "glslang/MachineIndependent/glslang.y"
+#line 2039 "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 7398 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7416 "MachineIndependent/glslang_tab.cpp"
break;
case 273: /* type_specifier_nonarray: U8VEC4 */
-#line 2044 "glslang/MachineIndependent/glslang.y"
+#line 2045 "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 7409 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7427 "MachineIndependent/glslang_tab.cpp"
break;
case 274: /* type_specifier_nonarray: U16VEC2 */
-#line 2050 "glslang/MachineIndependent/glslang.y"
+#line 2051 "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 7420 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7438 "MachineIndependent/glslang_tab.cpp"
break;
case 275: /* type_specifier_nonarray: U16VEC3 */
-#line 2056 "glslang/MachineIndependent/glslang.y"
+#line 2057 "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 7431 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7449 "MachineIndependent/glslang_tab.cpp"
break;
case 276: /* type_specifier_nonarray: U16VEC4 */
-#line 2062 "glslang/MachineIndependent/glslang.y"
+#line 2063 "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 7442 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7460 "MachineIndependent/glslang_tab.cpp"
break;
case 277: /* type_specifier_nonarray: U32VEC2 */
-#line 2068 "glslang/MachineIndependent/glslang.y"
+#line 2069 "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 7453 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7471 "MachineIndependent/glslang_tab.cpp"
break;
case 278: /* type_specifier_nonarray: U32VEC3 */
-#line 2074 "glslang/MachineIndependent/glslang.y"
+#line 2075 "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 7464 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7482 "MachineIndependent/glslang_tab.cpp"
break;
case 279: /* type_specifier_nonarray: U32VEC4 */
-#line 2080 "glslang/MachineIndependent/glslang.y"
+#line 2081 "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 7475 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7493 "MachineIndependent/glslang_tab.cpp"
break;
case 280: /* type_specifier_nonarray: U64VEC2 */
-#line 2086 "glslang/MachineIndependent/glslang.y"
+#line 2087 "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 7486 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7504 "MachineIndependent/glslang_tab.cpp"
break;
case 281: /* type_specifier_nonarray: U64VEC3 */
-#line 2092 "glslang/MachineIndependent/glslang.y"
+#line 2093 "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 7497 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7515 "MachineIndependent/glslang_tab.cpp"
break;
case 282: /* type_specifier_nonarray: U64VEC4 */
-#line 2098 "glslang/MachineIndependent/glslang.y"
+#line 2099 "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 7508 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7526 "MachineIndependent/glslang_tab.cpp"
break;
case 283: /* type_specifier_nonarray: DMAT2 */
-#line 2104 "glslang/MachineIndependent/glslang.y"
+#line 2105 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7517,11 +7535,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 7521 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7539 "MachineIndependent/glslang_tab.cpp"
break;
case 284: /* type_specifier_nonarray: DMAT3 */
-#line 2112 "glslang/MachineIndependent/glslang.y"
+#line 2113 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7530,11 +7548,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 7534 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7552 "MachineIndependent/glslang_tab.cpp"
break;
case 285: /* type_specifier_nonarray: DMAT4 */
-#line 2120 "glslang/MachineIndependent/glslang.y"
+#line 2121 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7543,11 +7561,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 7547 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7565 "MachineIndependent/glslang_tab.cpp"
break;
case 286: /* type_specifier_nonarray: DMAT2X2 */
-#line 2128 "glslang/MachineIndependent/glslang.y"
+#line 2129 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7556,11 +7574,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 7560 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7578 "MachineIndependent/glslang_tab.cpp"
break;
case 287: /* type_specifier_nonarray: DMAT2X3 */
-#line 2136 "glslang/MachineIndependent/glslang.y"
+#line 2137 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7569,11 +7587,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 7573 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7591 "MachineIndependent/glslang_tab.cpp"
break;
case 288: /* type_specifier_nonarray: DMAT2X4 */
-#line 2144 "glslang/MachineIndependent/glslang.y"
+#line 2145 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7582,11 +7600,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 7586 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7604 "MachineIndependent/glslang_tab.cpp"
break;
case 289: /* type_specifier_nonarray: DMAT3X2 */
-#line 2152 "glslang/MachineIndependent/glslang.y"
+#line 2153 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7595,11 +7613,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 7599 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7617 "MachineIndependent/glslang_tab.cpp"
break;
case 290: /* type_specifier_nonarray: DMAT3X3 */
-#line 2160 "glslang/MachineIndependent/glslang.y"
+#line 2161 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7608,11 +7626,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 7612 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7630 "MachineIndependent/glslang_tab.cpp"
break;
case 291: /* type_specifier_nonarray: DMAT3X4 */
-#line 2168 "glslang/MachineIndependent/glslang.y"
+#line 2169 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7621,11 +7639,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 7625 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7643 "MachineIndependent/glslang_tab.cpp"
break;
case 292: /* type_specifier_nonarray: DMAT4X2 */
-#line 2176 "glslang/MachineIndependent/glslang.y"
+#line 2177 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7634,11 +7652,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 7638 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7656 "MachineIndependent/glslang_tab.cpp"
break;
case 293: /* type_specifier_nonarray: DMAT4X3 */
-#line 2184 "glslang/MachineIndependent/glslang.y"
+#line 2185 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7647,11 +7665,11 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 7651 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7669 "MachineIndependent/glslang_tab.cpp"
break;
case 294: /* type_specifier_nonarray: DMAT4X4 */
-#line 2192 "glslang/MachineIndependent/glslang.y"
+#line 2193 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7660,2228 +7678,2228 @@
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 7664 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7682 "MachineIndependent/glslang_tab.cpp"
break;
case 295: /* type_specifier_nonarray: F16MAT2 */
-#line 2200 "glslang/MachineIndependent/glslang.y"
+#line 2201 "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 7675 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7693 "MachineIndependent/glslang_tab.cpp"
break;
case 296: /* type_specifier_nonarray: F16MAT3 */
-#line 2206 "glslang/MachineIndependent/glslang.y"
+#line 2207 "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 7686 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7704 "MachineIndependent/glslang_tab.cpp"
break;
case 297: /* type_specifier_nonarray: F16MAT4 */
-#line 2212 "glslang/MachineIndependent/glslang.y"
+#line 2213 "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 7697 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7715 "MachineIndependent/glslang_tab.cpp"
break;
case 298: /* type_specifier_nonarray: F16MAT2X2 */
-#line 2218 "glslang/MachineIndependent/glslang.y"
+#line 2219 "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 7708 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7726 "MachineIndependent/glslang_tab.cpp"
break;
case 299: /* type_specifier_nonarray: F16MAT2X3 */
-#line 2224 "glslang/MachineIndependent/glslang.y"
+#line 2225 "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 7719 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7737 "MachineIndependent/glslang_tab.cpp"
break;
case 300: /* type_specifier_nonarray: F16MAT2X4 */
-#line 2230 "glslang/MachineIndependent/glslang.y"
+#line 2231 "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 7730 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7748 "MachineIndependent/glslang_tab.cpp"
break;
case 301: /* type_specifier_nonarray: F16MAT3X2 */
-#line 2236 "glslang/MachineIndependent/glslang.y"
+#line 2237 "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 7741 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7759 "MachineIndependent/glslang_tab.cpp"
break;
case 302: /* type_specifier_nonarray: F16MAT3X3 */
-#line 2242 "glslang/MachineIndependent/glslang.y"
+#line 2243 "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 7752 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7770 "MachineIndependent/glslang_tab.cpp"
break;
case 303: /* type_specifier_nonarray: F16MAT3X4 */
-#line 2248 "glslang/MachineIndependent/glslang.y"
+#line 2249 "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 7763 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7781 "MachineIndependent/glslang_tab.cpp"
break;
case 304: /* type_specifier_nonarray: F16MAT4X2 */
-#line 2254 "glslang/MachineIndependent/glslang.y"
+#line 2255 "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 7774 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7792 "MachineIndependent/glslang_tab.cpp"
break;
case 305: /* type_specifier_nonarray: F16MAT4X3 */
-#line 2260 "glslang/MachineIndependent/glslang.y"
+#line 2261 "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 7785 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7803 "MachineIndependent/glslang_tab.cpp"
break;
case 306: /* type_specifier_nonarray: F16MAT4X4 */
-#line 2266 "glslang/MachineIndependent/glslang.y"
+#line 2267 "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 7796 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7814 "MachineIndependent/glslang_tab.cpp"
break;
case 307: /* type_specifier_nonarray: F32MAT2 */
-#line 2272 "glslang/MachineIndependent/glslang.y"
+#line 2273 "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 7807 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7825 "MachineIndependent/glslang_tab.cpp"
break;
case 308: /* type_specifier_nonarray: F32MAT3 */
-#line 2278 "glslang/MachineIndependent/glslang.y"
+#line 2279 "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 7818 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7836 "MachineIndependent/glslang_tab.cpp"
break;
case 309: /* type_specifier_nonarray: F32MAT4 */
-#line 2284 "glslang/MachineIndependent/glslang.y"
+#line 2285 "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 7829 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7847 "MachineIndependent/glslang_tab.cpp"
break;
case 310: /* type_specifier_nonarray: F32MAT2X2 */
-#line 2290 "glslang/MachineIndependent/glslang.y"
+#line 2291 "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 7840 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7858 "MachineIndependent/glslang_tab.cpp"
break;
case 311: /* type_specifier_nonarray: F32MAT2X3 */
-#line 2296 "glslang/MachineIndependent/glslang.y"
+#line 2297 "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 7851 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7869 "MachineIndependent/glslang_tab.cpp"
break;
case 312: /* type_specifier_nonarray: F32MAT2X4 */
-#line 2302 "glslang/MachineIndependent/glslang.y"
+#line 2303 "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 7862 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7880 "MachineIndependent/glslang_tab.cpp"
break;
case 313: /* type_specifier_nonarray: F32MAT3X2 */
-#line 2308 "glslang/MachineIndependent/glslang.y"
+#line 2309 "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 7873 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7891 "MachineIndependent/glslang_tab.cpp"
break;
case 314: /* type_specifier_nonarray: F32MAT3X3 */
-#line 2314 "glslang/MachineIndependent/glslang.y"
+#line 2315 "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 7884 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7902 "MachineIndependent/glslang_tab.cpp"
break;
case 315: /* type_specifier_nonarray: F32MAT3X4 */
-#line 2320 "glslang/MachineIndependent/glslang.y"
+#line 2321 "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 7895 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7913 "MachineIndependent/glslang_tab.cpp"
break;
case 316: /* type_specifier_nonarray: F32MAT4X2 */
-#line 2326 "glslang/MachineIndependent/glslang.y"
+#line 2327 "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 7906 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7924 "MachineIndependent/glslang_tab.cpp"
break;
case 317: /* type_specifier_nonarray: F32MAT4X3 */
-#line 2332 "glslang/MachineIndependent/glslang.y"
+#line 2333 "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 7917 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7935 "MachineIndependent/glslang_tab.cpp"
break;
case 318: /* type_specifier_nonarray: F32MAT4X4 */
-#line 2338 "glslang/MachineIndependent/glslang.y"
+#line 2339 "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 7928 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7946 "MachineIndependent/glslang_tab.cpp"
break;
case 319: /* type_specifier_nonarray: F64MAT2 */
-#line 2344 "glslang/MachineIndependent/glslang.y"
+#line 2345 "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 7939 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7957 "MachineIndependent/glslang_tab.cpp"
break;
case 320: /* type_specifier_nonarray: F64MAT3 */
-#line 2350 "glslang/MachineIndependent/glslang.y"
+#line 2351 "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 7950 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7968 "MachineIndependent/glslang_tab.cpp"
break;
case 321: /* type_specifier_nonarray: F64MAT4 */
-#line 2356 "glslang/MachineIndependent/glslang.y"
+#line 2357 "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 7961 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7979 "MachineIndependent/glslang_tab.cpp"
break;
case 322: /* type_specifier_nonarray: F64MAT2X2 */
-#line 2362 "glslang/MachineIndependent/glslang.y"
+#line 2363 "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 7972 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 7990 "MachineIndependent/glslang_tab.cpp"
break;
case 323: /* type_specifier_nonarray: F64MAT2X3 */
-#line 2368 "glslang/MachineIndependent/glslang.y"
+#line 2369 "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 7983 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8001 "MachineIndependent/glslang_tab.cpp"
break;
case 324: /* type_specifier_nonarray: F64MAT2X4 */
-#line 2374 "glslang/MachineIndependent/glslang.y"
+#line 2375 "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 7994 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8012 "MachineIndependent/glslang_tab.cpp"
break;
case 325: /* type_specifier_nonarray: F64MAT3X2 */
-#line 2380 "glslang/MachineIndependent/glslang.y"
+#line 2381 "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 8005 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8023 "MachineIndependent/glslang_tab.cpp"
break;
case 326: /* type_specifier_nonarray: F64MAT3X3 */
-#line 2386 "glslang/MachineIndependent/glslang.y"
+#line 2387 "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 8016 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8034 "MachineIndependent/glslang_tab.cpp"
break;
case 327: /* type_specifier_nonarray: F64MAT3X4 */
-#line 2392 "glslang/MachineIndependent/glslang.y"
+#line 2393 "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 8027 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8045 "MachineIndependent/glslang_tab.cpp"
break;
case 328: /* type_specifier_nonarray: F64MAT4X2 */
-#line 2398 "glslang/MachineIndependent/glslang.y"
+#line 2399 "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 8038 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8056 "MachineIndependent/glslang_tab.cpp"
break;
case 329: /* type_specifier_nonarray: F64MAT4X3 */
-#line 2404 "glslang/MachineIndependent/glslang.y"
+#line 2405 "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 8049 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8067 "MachineIndependent/glslang_tab.cpp"
break;
case 330: /* type_specifier_nonarray: F64MAT4X4 */
-#line 2410 "glslang/MachineIndependent/glslang.y"
+#line 2411 "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 8060 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8078 "MachineIndependent/glslang_tab.cpp"
break;
case 331: /* type_specifier_nonarray: ACCSTRUCTNV */
-#line 2416 "glslang/MachineIndependent/glslang.y"
+#line 2417 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtAccStruct;
}
-#line 8069 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8087 "MachineIndependent/glslang_tab.cpp"
break;
case 332: /* type_specifier_nonarray: ACCSTRUCTEXT */
-#line 2420 "glslang/MachineIndependent/glslang.y"
+#line 2421 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtAccStruct;
}
-#line 8078 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8096 "MachineIndependent/glslang_tab.cpp"
break;
case 333: /* type_specifier_nonarray: RAYQUERYEXT */
-#line 2424 "glslang/MachineIndependent/glslang.y"
+#line 2425 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtRayQuery;
}
-#line 8087 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8105 "MachineIndependent/glslang_tab.cpp"
break;
case 334: /* type_specifier_nonarray: ATOMIC_UINT */
-#line 2428 "glslang/MachineIndependent/glslang.y"
+#line 2429 "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 8097 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8115 "MachineIndependent/glslang_tab.cpp"
break;
case 335: /* type_specifier_nonarray: SAMPLER1D */
-#line 2433 "glslang/MachineIndependent/glslang.y"
+#line 2434 "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 8107 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8125 "MachineIndependent/glslang_tab.cpp"
break;
case 336: /* type_specifier_nonarray: SAMPLER2D */
-#line 2439 "glslang/MachineIndependent/glslang.y"
+#line 2440 "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 8117 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8135 "MachineIndependent/glslang_tab.cpp"
break;
case 337: /* type_specifier_nonarray: SAMPLER3D */
-#line 2444 "glslang/MachineIndependent/glslang.y"
+#line 2445 "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 8127 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8145 "MachineIndependent/glslang_tab.cpp"
break;
case 338: /* type_specifier_nonarray: SAMPLERCUBE */
-#line 2449 "glslang/MachineIndependent/glslang.y"
+#line 2450 "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 8137 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8155 "MachineIndependent/glslang_tab.cpp"
break;
case 339: /* type_specifier_nonarray: SAMPLER2DSHADOW */
-#line 2454 "glslang/MachineIndependent/glslang.y"
+#line 2455 "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 8147 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8165 "MachineIndependent/glslang_tab.cpp"
break;
case 340: /* type_specifier_nonarray: SAMPLERCUBESHADOW */
-#line 2459 "glslang/MachineIndependent/glslang.y"
+#line 2460 "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 8157 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8175 "MachineIndependent/glslang_tab.cpp"
break;
case 341: /* type_specifier_nonarray: SAMPLER2DARRAY */
-#line 2464 "glslang/MachineIndependent/glslang.y"
+#line 2465 "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 8167 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8185 "MachineIndependent/glslang_tab.cpp"
break;
case 342: /* type_specifier_nonarray: SAMPLER2DARRAYSHADOW */
-#line 2469 "glslang/MachineIndependent/glslang.y"
+#line 2470 "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 8177 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8195 "MachineIndependent/glslang_tab.cpp"
break;
case 343: /* type_specifier_nonarray: SAMPLER1DSHADOW */
-#line 2475 "glslang/MachineIndependent/glslang.y"
+#line 2476 "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 8187 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8205 "MachineIndependent/glslang_tab.cpp"
break;
case 344: /* type_specifier_nonarray: SAMPLER1DARRAY */
-#line 2480 "glslang/MachineIndependent/glslang.y"
+#line 2481 "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 8197 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8215 "MachineIndependent/glslang_tab.cpp"
break;
case 345: /* type_specifier_nonarray: SAMPLER1DARRAYSHADOW */
-#line 2485 "glslang/MachineIndependent/glslang.y"
+#line 2486 "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 8207 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8225 "MachineIndependent/glslang_tab.cpp"
break;
case 346: /* type_specifier_nonarray: SAMPLERCUBEARRAY */
-#line 2490 "glslang/MachineIndependent/glslang.y"
+#line 2491 "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 8217 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8235 "MachineIndependent/glslang_tab.cpp"
break;
case 347: /* type_specifier_nonarray: SAMPLERCUBEARRAYSHADOW */
-#line 2495 "glslang/MachineIndependent/glslang.y"
+#line 2496 "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 8227 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8245 "MachineIndependent/glslang_tab.cpp"
break;
case 348: /* type_specifier_nonarray: F16SAMPLER1D */
-#line 2500 "glslang/MachineIndependent/glslang.y"
+#line 2501 "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 8238 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8256 "MachineIndependent/glslang_tab.cpp"
break;
case 349: /* type_specifier_nonarray: F16SAMPLER2D */
-#line 2506 "glslang/MachineIndependent/glslang.y"
+#line 2507 "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 8249 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8267 "MachineIndependent/glslang_tab.cpp"
break;
case 350: /* type_specifier_nonarray: F16SAMPLER3D */
-#line 2512 "glslang/MachineIndependent/glslang.y"
+#line 2513 "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 8260 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8278 "MachineIndependent/glslang_tab.cpp"
break;
case 351: /* type_specifier_nonarray: F16SAMPLERCUBE */
-#line 2518 "glslang/MachineIndependent/glslang.y"
+#line 2519 "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 8271 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8289 "MachineIndependent/glslang_tab.cpp"
break;
case 352: /* type_specifier_nonarray: F16SAMPLER1DSHADOW */
-#line 2524 "glslang/MachineIndependent/glslang.y"
+#line 2525 "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 8282 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8300 "MachineIndependent/glslang_tab.cpp"
break;
case 353: /* type_specifier_nonarray: F16SAMPLER2DSHADOW */
-#line 2530 "glslang/MachineIndependent/glslang.y"
+#line 2531 "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 8293 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8311 "MachineIndependent/glslang_tab.cpp"
break;
case 354: /* type_specifier_nonarray: F16SAMPLERCUBESHADOW */
-#line 2536 "glslang/MachineIndependent/glslang.y"
+#line 2537 "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 8304 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8322 "MachineIndependent/glslang_tab.cpp"
break;
case 355: /* type_specifier_nonarray: F16SAMPLER1DARRAY */
-#line 2542 "glslang/MachineIndependent/glslang.y"
+#line 2543 "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 8315 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8333 "MachineIndependent/glslang_tab.cpp"
break;
case 356: /* type_specifier_nonarray: F16SAMPLER2DARRAY */
-#line 2548 "glslang/MachineIndependent/glslang.y"
+#line 2549 "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 8326 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8344 "MachineIndependent/glslang_tab.cpp"
break;
case 357: /* type_specifier_nonarray: F16SAMPLER1DARRAYSHADOW */
-#line 2554 "glslang/MachineIndependent/glslang.y"
+#line 2555 "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 8337 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8355 "MachineIndependent/glslang_tab.cpp"
break;
case 358: /* type_specifier_nonarray: F16SAMPLER2DARRAYSHADOW */
-#line 2560 "glslang/MachineIndependent/glslang.y"
+#line 2561 "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 8348 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8366 "MachineIndependent/glslang_tab.cpp"
break;
case 359: /* type_specifier_nonarray: F16SAMPLERCUBEARRAY */
-#line 2566 "glslang/MachineIndependent/glslang.y"
+#line 2567 "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 8359 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8377 "MachineIndependent/glslang_tab.cpp"
break;
case 360: /* type_specifier_nonarray: F16SAMPLERCUBEARRAYSHADOW */
-#line 2572 "glslang/MachineIndependent/glslang.y"
+#line 2573 "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 8370 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8388 "MachineIndependent/glslang_tab.cpp"
break;
case 361: /* type_specifier_nonarray: ISAMPLER1D */
-#line 2578 "glslang/MachineIndependent/glslang.y"
+#line 2579 "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 8380 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8398 "MachineIndependent/glslang_tab.cpp"
break;
case 362: /* type_specifier_nonarray: ISAMPLER2D */
-#line 2584 "glslang/MachineIndependent/glslang.y"
+#line 2585 "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 8390 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8408 "MachineIndependent/glslang_tab.cpp"
break;
case 363: /* type_specifier_nonarray: ISAMPLER3D */
-#line 2589 "glslang/MachineIndependent/glslang.y"
+#line 2590 "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 8400 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8418 "MachineIndependent/glslang_tab.cpp"
break;
case 364: /* type_specifier_nonarray: ISAMPLERCUBE */
-#line 2594 "glslang/MachineIndependent/glslang.y"
+#line 2595 "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 8410 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8428 "MachineIndependent/glslang_tab.cpp"
break;
case 365: /* type_specifier_nonarray: ISAMPLER2DARRAY */
-#line 2599 "glslang/MachineIndependent/glslang.y"
+#line 2600 "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 8420 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8438 "MachineIndependent/glslang_tab.cpp"
break;
case 366: /* type_specifier_nonarray: USAMPLER2D */
-#line 2604 "glslang/MachineIndependent/glslang.y"
+#line 2605 "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 8430 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8448 "MachineIndependent/glslang_tab.cpp"
break;
case 367: /* type_specifier_nonarray: USAMPLER3D */
-#line 2609 "glslang/MachineIndependent/glslang.y"
+#line 2610 "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 8440 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8458 "MachineIndependent/glslang_tab.cpp"
break;
case 368: /* type_specifier_nonarray: USAMPLERCUBE */
-#line 2614 "glslang/MachineIndependent/glslang.y"
+#line 2615 "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 8450 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8468 "MachineIndependent/glslang_tab.cpp"
break;
case 369: /* type_specifier_nonarray: ISAMPLER1DARRAY */
-#line 2620 "glslang/MachineIndependent/glslang.y"
+#line 2621 "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 8460 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8478 "MachineIndependent/glslang_tab.cpp"
break;
case 370: /* type_specifier_nonarray: ISAMPLERCUBEARRAY */
-#line 2625 "glslang/MachineIndependent/glslang.y"
+#line 2626 "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 8470 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8488 "MachineIndependent/glslang_tab.cpp"
break;
case 371: /* type_specifier_nonarray: USAMPLER1D */
-#line 2630 "glslang/MachineIndependent/glslang.y"
+#line 2631 "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 8480 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8498 "MachineIndependent/glslang_tab.cpp"
break;
case 372: /* type_specifier_nonarray: USAMPLER1DARRAY */
-#line 2635 "glslang/MachineIndependent/glslang.y"
+#line 2636 "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 8490 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8508 "MachineIndependent/glslang_tab.cpp"
break;
case 373: /* type_specifier_nonarray: USAMPLERCUBEARRAY */
-#line 2640 "glslang/MachineIndependent/glslang.y"
+#line 2641 "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 8500 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8518 "MachineIndependent/glslang_tab.cpp"
break;
case 374: /* type_specifier_nonarray: TEXTURECUBEARRAY */
-#line 2645 "glslang/MachineIndependent/glslang.y"
+#line 2646 "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 8510 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8528 "MachineIndependent/glslang_tab.cpp"
break;
case 375: /* type_specifier_nonarray: ITEXTURECUBEARRAY */
-#line 2650 "glslang/MachineIndependent/glslang.y"
+#line 2651 "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 8520 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8538 "MachineIndependent/glslang_tab.cpp"
break;
case 376: /* type_specifier_nonarray: UTEXTURECUBEARRAY */
-#line 2655 "glslang/MachineIndependent/glslang.y"
+#line 2656 "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 8530 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8548 "MachineIndependent/glslang_tab.cpp"
break;
case 377: /* type_specifier_nonarray: USAMPLER2DARRAY */
-#line 2661 "glslang/MachineIndependent/glslang.y"
+#line 2662 "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 8540 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8558 "MachineIndependent/glslang_tab.cpp"
break;
case 378: /* type_specifier_nonarray: TEXTURE2D */
-#line 2666 "glslang/MachineIndependent/glslang.y"
+#line 2667 "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 8550 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8568 "MachineIndependent/glslang_tab.cpp"
break;
case 379: /* type_specifier_nonarray: TEXTURE3D */
-#line 2671 "glslang/MachineIndependent/glslang.y"
+#line 2672 "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 8560 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8578 "MachineIndependent/glslang_tab.cpp"
break;
case 380: /* type_specifier_nonarray: TEXTURE2DARRAY */
-#line 2676 "glslang/MachineIndependent/glslang.y"
+#line 2677 "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 8570 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8588 "MachineIndependent/glslang_tab.cpp"
break;
case 381: /* type_specifier_nonarray: TEXTURECUBE */
-#line 2681 "glslang/MachineIndependent/glslang.y"
+#line 2682 "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 8580 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8598 "MachineIndependent/glslang_tab.cpp"
break;
case 382: /* type_specifier_nonarray: ITEXTURE2D */
-#line 2686 "glslang/MachineIndependent/glslang.y"
+#line 2687 "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 8590 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8608 "MachineIndependent/glslang_tab.cpp"
break;
case 383: /* type_specifier_nonarray: ITEXTURE3D */
-#line 2691 "glslang/MachineIndependent/glslang.y"
+#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.setTexture(EbtInt, Esd3D);
}
-#line 8600 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8618 "MachineIndependent/glslang_tab.cpp"
break;
case 384: /* type_specifier_nonarray: ITEXTURECUBE */
-#line 2696 "glslang/MachineIndependent/glslang.y"
+#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.setTexture(EbtInt, EsdCube);
}
-#line 8610 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8628 "MachineIndependent/glslang_tab.cpp"
break;
case 385: /* type_specifier_nonarray: ITEXTURE2DARRAY */
-#line 2701 "glslang/MachineIndependent/glslang.y"
+#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.setTexture(EbtInt, Esd2D, true);
}
-#line 8620 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8638 "MachineIndependent/glslang_tab.cpp"
break;
case 386: /* type_specifier_nonarray: UTEXTURE2D */
-#line 2706 "glslang/MachineIndependent/glslang.y"
+#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.setTexture(EbtUint, Esd2D);
}
-#line 8630 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8648 "MachineIndependent/glslang_tab.cpp"
break;
case 387: /* type_specifier_nonarray: UTEXTURE3D */
-#line 2711 "glslang/MachineIndependent/glslang.y"
+#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.setTexture(EbtUint, Esd3D);
}
-#line 8640 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8658 "MachineIndependent/glslang_tab.cpp"
break;
case 388: /* type_specifier_nonarray: UTEXTURECUBE */
-#line 2716 "glslang/MachineIndependent/glslang.y"
+#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.setTexture(EbtUint, EsdCube);
}
-#line 8650 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8668 "MachineIndependent/glslang_tab.cpp"
break;
case 389: /* type_specifier_nonarray: UTEXTURE2DARRAY */
-#line 2721 "glslang/MachineIndependent/glslang.y"
+#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.setTexture(EbtUint, Esd2D, true);
}
-#line 8660 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8678 "MachineIndependent/glslang_tab.cpp"
break;
case 390: /* type_specifier_nonarray: SAMPLER */
-#line 2726 "glslang/MachineIndependent/glslang.y"
+#line 2727 "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 8670 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8688 "MachineIndependent/glslang_tab.cpp"
break;
case 391: /* type_specifier_nonarray: SAMPLERSHADOW */
-#line 2731 "glslang/MachineIndependent/glslang.y"
+#line 2732 "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 8680 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8698 "MachineIndependent/glslang_tab.cpp"
break;
case 392: /* type_specifier_nonarray: SAMPLER2DRECT */
-#line 2737 "glslang/MachineIndependent/glslang.y"
+#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(EbtFloat, EsdRect);
}
-#line 8690 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8708 "MachineIndependent/glslang_tab.cpp"
break;
case 393: /* type_specifier_nonarray: SAMPLER2DRECTSHADOW */
-#line 2742 "glslang/MachineIndependent/glslang.y"
+#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(EbtFloat, EsdRect, false, true);
}
-#line 8700 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8718 "MachineIndependent/glslang_tab.cpp"
break;
case 394: /* type_specifier_nonarray: F16SAMPLER2DRECT */
-#line 2747 "glslang/MachineIndependent/glslang.y"
+#line 2748 "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 8711 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8729 "MachineIndependent/glslang_tab.cpp"
break;
case 395: /* type_specifier_nonarray: F16SAMPLER2DRECTSHADOW */
-#line 2753 "glslang/MachineIndependent/glslang.y"
+#line 2754 "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 8722 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8740 "MachineIndependent/glslang_tab.cpp"
break;
case 396: /* type_specifier_nonarray: ISAMPLER2DRECT */
-#line 2759 "glslang/MachineIndependent/glslang.y"
+#line 2760 "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 8732 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8750 "MachineIndependent/glslang_tab.cpp"
break;
case 397: /* type_specifier_nonarray: USAMPLER2DRECT */
-#line 2764 "glslang/MachineIndependent/glslang.y"
+#line 2765 "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 8742 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8760 "MachineIndependent/glslang_tab.cpp"
break;
case 398: /* type_specifier_nonarray: SAMPLERBUFFER */
-#line 2769 "glslang/MachineIndependent/glslang.y"
+#line 2770 "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 8752 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8770 "MachineIndependent/glslang_tab.cpp"
break;
case 399: /* type_specifier_nonarray: F16SAMPLERBUFFER */
-#line 2774 "glslang/MachineIndependent/glslang.y"
+#line 2775 "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 8763 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8781 "MachineIndependent/glslang_tab.cpp"
break;
case 400: /* type_specifier_nonarray: ISAMPLERBUFFER */
-#line 2780 "glslang/MachineIndependent/glslang.y"
+#line 2781 "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 8773 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8791 "MachineIndependent/glslang_tab.cpp"
break;
case 401: /* type_specifier_nonarray: USAMPLERBUFFER */
-#line 2785 "glslang/MachineIndependent/glslang.y"
+#line 2786 "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 8783 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8801 "MachineIndependent/glslang_tab.cpp"
break;
case 402: /* type_specifier_nonarray: SAMPLER2DMS */
-#line 2790 "glslang/MachineIndependent/glslang.y"
+#line 2791 "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 8793 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8811 "MachineIndependent/glslang_tab.cpp"
break;
case 403: /* type_specifier_nonarray: F16SAMPLER2DMS */
-#line 2795 "glslang/MachineIndependent/glslang.y"
+#line 2796 "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 8804 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8822 "MachineIndependent/glslang_tab.cpp"
break;
case 404: /* type_specifier_nonarray: ISAMPLER2DMS */
-#line 2801 "glslang/MachineIndependent/glslang.y"
+#line 2802 "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 8814 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8832 "MachineIndependent/glslang_tab.cpp"
break;
case 405: /* type_specifier_nonarray: USAMPLER2DMS */
-#line 2806 "glslang/MachineIndependent/glslang.y"
+#line 2807 "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 8824 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8842 "MachineIndependent/glslang_tab.cpp"
break;
case 406: /* type_specifier_nonarray: SAMPLER2DMSARRAY */
-#line 2811 "glslang/MachineIndependent/glslang.y"
+#line 2812 "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 8834 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8852 "MachineIndependent/glslang_tab.cpp"
break;
case 407: /* type_specifier_nonarray: F16SAMPLER2DMSARRAY */
-#line 2816 "glslang/MachineIndependent/glslang.y"
+#line 2817 "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 8845 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8863 "MachineIndependent/glslang_tab.cpp"
break;
case 408: /* type_specifier_nonarray: ISAMPLER2DMSARRAY */
-#line 2822 "glslang/MachineIndependent/glslang.y"
+#line 2823 "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 8855 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8873 "MachineIndependent/glslang_tab.cpp"
break;
case 409: /* type_specifier_nonarray: USAMPLER2DMSARRAY */
-#line 2827 "glslang/MachineIndependent/glslang.y"
+#line 2828 "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 8865 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8883 "MachineIndependent/glslang_tab.cpp"
break;
case 410: /* type_specifier_nonarray: TEXTURE1D */
-#line 2832 "glslang/MachineIndependent/glslang.y"
+#line 2833 "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 8875 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8893 "MachineIndependent/glslang_tab.cpp"
break;
case 411: /* type_specifier_nonarray: F16TEXTURE1D */
-#line 2837 "glslang/MachineIndependent/glslang.y"
+#line 2838 "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 8886 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8904 "MachineIndependent/glslang_tab.cpp"
break;
case 412: /* type_specifier_nonarray: F16TEXTURE2D */
-#line 2843 "glslang/MachineIndependent/glslang.y"
+#line 2844 "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 8897 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8915 "MachineIndependent/glslang_tab.cpp"
break;
case 413: /* type_specifier_nonarray: F16TEXTURE3D */
-#line 2849 "glslang/MachineIndependent/glslang.y"
+#line 2850 "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 8908 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8926 "MachineIndependent/glslang_tab.cpp"
break;
case 414: /* type_specifier_nonarray: F16TEXTURECUBE */
-#line 2855 "glslang/MachineIndependent/glslang.y"
+#line 2856 "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 8919 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8937 "MachineIndependent/glslang_tab.cpp"
break;
case 415: /* type_specifier_nonarray: TEXTURE1DARRAY */
-#line 2861 "glslang/MachineIndependent/glslang.y"
+#line 2862 "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 8929 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8947 "MachineIndependent/glslang_tab.cpp"
break;
case 416: /* type_specifier_nonarray: F16TEXTURE1DARRAY */
-#line 2866 "glslang/MachineIndependent/glslang.y"
+#line 2867 "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 8940 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8958 "MachineIndependent/glslang_tab.cpp"
break;
case 417: /* type_specifier_nonarray: F16TEXTURE2DARRAY */
-#line 2872 "glslang/MachineIndependent/glslang.y"
+#line 2873 "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 8951 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8969 "MachineIndependent/glslang_tab.cpp"
break;
case 418: /* type_specifier_nonarray: F16TEXTURECUBEARRAY */
-#line 2878 "glslang/MachineIndependent/glslang.y"
+#line 2879 "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 8962 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8980 "MachineIndependent/glslang_tab.cpp"
break;
case 419: /* type_specifier_nonarray: ITEXTURE1D */
-#line 2884 "glslang/MachineIndependent/glslang.y"
+#line 2885 "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 8972 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 8990 "MachineIndependent/glslang_tab.cpp"
break;
case 420: /* type_specifier_nonarray: ITEXTURE1DARRAY */
-#line 2889 "glslang/MachineIndependent/glslang.y"
+#line 2890 "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 8982 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9000 "MachineIndependent/glslang_tab.cpp"
break;
case 421: /* type_specifier_nonarray: UTEXTURE1D */
-#line 2894 "glslang/MachineIndependent/glslang.y"
+#line 2895 "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 8992 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9010 "MachineIndependent/glslang_tab.cpp"
break;
case 422: /* type_specifier_nonarray: UTEXTURE1DARRAY */
-#line 2899 "glslang/MachineIndependent/glslang.y"
+#line 2900 "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 9002 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9020 "MachineIndependent/glslang_tab.cpp"
break;
case 423: /* type_specifier_nonarray: TEXTURE2DRECT */
-#line 2904 "glslang/MachineIndependent/glslang.y"
+#line 2905 "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 9012 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9030 "MachineIndependent/glslang_tab.cpp"
break;
case 424: /* type_specifier_nonarray: F16TEXTURE2DRECT */
-#line 2909 "glslang/MachineIndependent/glslang.y"
+#line 2910 "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 9023 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9041 "MachineIndependent/glslang_tab.cpp"
break;
case 425: /* type_specifier_nonarray: ITEXTURE2DRECT */
-#line 2915 "glslang/MachineIndependent/glslang.y"
+#line 2916 "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 9033 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9051 "MachineIndependent/glslang_tab.cpp"
break;
case 426: /* type_specifier_nonarray: UTEXTURE2DRECT */
-#line 2920 "glslang/MachineIndependent/glslang.y"
+#line 2921 "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 9043 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9061 "MachineIndependent/glslang_tab.cpp"
break;
case 427: /* type_specifier_nonarray: TEXTUREBUFFER */
-#line 2925 "glslang/MachineIndependent/glslang.y"
+#line 2926 "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 9053 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9071 "MachineIndependent/glslang_tab.cpp"
break;
case 428: /* type_specifier_nonarray: F16TEXTUREBUFFER */
-#line 2930 "glslang/MachineIndependent/glslang.y"
+#line 2931 "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 9064 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9082 "MachineIndependent/glslang_tab.cpp"
break;
case 429: /* type_specifier_nonarray: ITEXTUREBUFFER */
-#line 2936 "glslang/MachineIndependent/glslang.y"
+#line 2937 "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 9074 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9092 "MachineIndependent/glslang_tab.cpp"
break;
case 430: /* type_specifier_nonarray: UTEXTUREBUFFER */
-#line 2941 "glslang/MachineIndependent/glslang.y"
+#line 2942 "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 9084 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9102 "MachineIndependent/glslang_tab.cpp"
break;
case 431: /* type_specifier_nonarray: TEXTURE2DMS */
-#line 2946 "glslang/MachineIndependent/glslang.y"
+#line 2947 "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 9094 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9112 "MachineIndependent/glslang_tab.cpp"
break;
case 432: /* type_specifier_nonarray: F16TEXTURE2DMS */
-#line 2951 "glslang/MachineIndependent/glslang.y"
+#line 2952 "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 9105 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9123 "MachineIndependent/glslang_tab.cpp"
break;
case 433: /* type_specifier_nonarray: ITEXTURE2DMS */
-#line 2957 "glslang/MachineIndependent/glslang.y"
+#line 2958 "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 9115 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9133 "MachineIndependent/glslang_tab.cpp"
break;
case 434: /* type_specifier_nonarray: UTEXTURE2DMS */
-#line 2962 "glslang/MachineIndependent/glslang.y"
+#line 2963 "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 9125 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9143 "MachineIndependent/glslang_tab.cpp"
break;
case 435: /* type_specifier_nonarray: TEXTURE2DMSARRAY */
-#line 2967 "glslang/MachineIndependent/glslang.y"
+#line 2968 "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 9135 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9153 "MachineIndependent/glslang_tab.cpp"
break;
case 436: /* type_specifier_nonarray: F16TEXTURE2DMSARRAY */
-#line 2972 "glslang/MachineIndependent/glslang.y"
+#line 2973 "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 9146 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9164 "MachineIndependent/glslang_tab.cpp"
break;
case 437: /* type_specifier_nonarray: ITEXTURE2DMSARRAY */
-#line 2978 "glslang/MachineIndependent/glslang.y"
+#line 2979 "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 9156 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9174 "MachineIndependent/glslang_tab.cpp"
break;
case 438: /* type_specifier_nonarray: UTEXTURE2DMSARRAY */
-#line 2983 "glslang/MachineIndependent/glslang.y"
+#line 2984 "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 9166 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9184 "MachineIndependent/glslang_tab.cpp"
break;
case 439: /* type_specifier_nonarray: IMAGE1D */
-#line 2988 "glslang/MachineIndependent/glslang.y"
+#line 2989 "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 9176 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9194 "MachineIndependent/glslang_tab.cpp"
break;
case 440: /* type_specifier_nonarray: F16IMAGE1D */
-#line 2993 "glslang/MachineIndependent/glslang.y"
+#line 2994 "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 9187 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9205 "MachineIndependent/glslang_tab.cpp"
break;
case 441: /* type_specifier_nonarray: IIMAGE1D */
-#line 2999 "glslang/MachineIndependent/glslang.y"
+#line 3000 "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 9197 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9215 "MachineIndependent/glslang_tab.cpp"
break;
case 442: /* type_specifier_nonarray: UIMAGE1D */
-#line 3004 "glslang/MachineIndependent/glslang.y"
+#line 3005 "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 9207 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9225 "MachineIndependent/glslang_tab.cpp"
break;
case 443: /* type_specifier_nonarray: IMAGE2D */
-#line 3009 "glslang/MachineIndependent/glslang.y"
+#line 3010 "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 9217 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9235 "MachineIndependent/glslang_tab.cpp"
break;
case 444: /* type_specifier_nonarray: F16IMAGE2D */
-#line 3014 "glslang/MachineIndependent/glslang.y"
+#line 3015 "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 9228 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9246 "MachineIndependent/glslang_tab.cpp"
break;
case 445: /* type_specifier_nonarray: IIMAGE2D */
-#line 3020 "glslang/MachineIndependent/glslang.y"
+#line 3021 "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 9238 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9256 "MachineIndependent/glslang_tab.cpp"
break;
case 446: /* type_specifier_nonarray: UIMAGE2D */
-#line 3025 "glslang/MachineIndependent/glslang.y"
+#line 3026 "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 9248 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9266 "MachineIndependent/glslang_tab.cpp"
break;
case 447: /* type_specifier_nonarray: IMAGE3D */
-#line 3030 "glslang/MachineIndependent/glslang.y"
+#line 3031 "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 9258 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9276 "MachineIndependent/glslang_tab.cpp"
break;
case 448: /* type_specifier_nonarray: F16IMAGE3D */
-#line 3035 "glslang/MachineIndependent/glslang.y"
+#line 3036 "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 9269 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9287 "MachineIndependent/glslang_tab.cpp"
break;
case 449: /* type_specifier_nonarray: IIMAGE3D */
-#line 3041 "glslang/MachineIndependent/glslang.y"
+#line 3042 "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 9279 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9297 "MachineIndependent/glslang_tab.cpp"
break;
case 450: /* type_specifier_nonarray: UIMAGE3D */
-#line 3046 "glslang/MachineIndependent/glslang.y"
+#line 3047 "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 9289 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9307 "MachineIndependent/glslang_tab.cpp"
break;
case 451: /* type_specifier_nonarray: IMAGE2DRECT */
-#line 3051 "glslang/MachineIndependent/glslang.y"
+#line 3052 "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 9299 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9317 "MachineIndependent/glslang_tab.cpp"
break;
case 452: /* type_specifier_nonarray: F16IMAGE2DRECT */
-#line 3056 "glslang/MachineIndependent/glslang.y"
+#line 3057 "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 9310 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9328 "MachineIndependent/glslang_tab.cpp"
break;
case 453: /* type_specifier_nonarray: IIMAGE2DRECT */
-#line 3062 "glslang/MachineIndependent/glslang.y"
+#line 3063 "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 9320 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9338 "MachineIndependent/glslang_tab.cpp"
break;
case 454: /* type_specifier_nonarray: UIMAGE2DRECT */
-#line 3067 "glslang/MachineIndependent/glslang.y"
+#line 3068 "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 9330 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9348 "MachineIndependent/glslang_tab.cpp"
break;
case 455: /* type_specifier_nonarray: IMAGECUBE */
-#line 3072 "glslang/MachineIndependent/glslang.y"
+#line 3073 "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 9340 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9358 "MachineIndependent/glslang_tab.cpp"
break;
case 456: /* type_specifier_nonarray: F16IMAGECUBE */
-#line 3077 "glslang/MachineIndependent/glslang.y"
+#line 3078 "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 9351 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9369 "MachineIndependent/glslang_tab.cpp"
break;
case 457: /* type_specifier_nonarray: IIMAGECUBE */
-#line 3083 "glslang/MachineIndependent/glslang.y"
+#line 3084 "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 9361 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9379 "MachineIndependent/glslang_tab.cpp"
break;
case 458: /* type_specifier_nonarray: UIMAGECUBE */
-#line 3088 "glslang/MachineIndependent/glslang.y"
+#line 3089 "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 9371 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9389 "MachineIndependent/glslang_tab.cpp"
break;
case 459: /* type_specifier_nonarray: IMAGEBUFFER */
-#line 3093 "glslang/MachineIndependent/glslang.y"
+#line 3094 "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 9381 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9399 "MachineIndependent/glslang_tab.cpp"
break;
case 460: /* type_specifier_nonarray: F16IMAGEBUFFER */
-#line 3098 "glslang/MachineIndependent/glslang.y"
+#line 3099 "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 9392 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9410 "MachineIndependent/glslang_tab.cpp"
break;
case 461: /* type_specifier_nonarray: IIMAGEBUFFER */
-#line 3104 "glslang/MachineIndependent/glslang.y"
+#line 3105 "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 9402 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9420 "MachineIndependent/glslang_tab.cpp"
break;
case 462: /* type_specifier_nonarray: UIMAGEBUFFER */
-#line 3109 "glslang/MachineIndependent/glslang.y"
+#line 3110 "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 9412 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9430 "MachineIndependent/glslang_tab.cpp"
break;
case 463: /* type_specifier_nonarray: IMAGE1DARRAY */
-#line 3114 "glslang/MachineIndependent/glslang.y"
+#line 3115 "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 9422 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9440 "MachineIndependent/glslang_tab.cpp"
break;
case 464: /* type_specifier_nonarray: F16IMAGE1DARRAY */
-#line 3119 "glslang/MachineIndependent/glslang.y"
+#line 3120 "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 9433 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9451 "MachineIndependent/glslang_tab.cpp"
break;
case 465: /* type_specifier_nonarray: IIMAGE1DARRAY */
-#line 3125 "glslang/MachineIndependent/glslang.y"
+#line 3126 "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 9443 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9461 "MachineIndependent/glslang_tab.cpp"
break;
case 466: /* type_specifier_nonarray: UIMAGE1DARRAY */
-#line 3130 "glslang/MachineIndependent/glslang.y"
+#line 3131 "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 9453 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9471 "MachineIndependent/glslang_tab.cpp"
break;
case 467: /* type_specifier_nonarray: IMAGE2DARRAY */
-#line 3135 "glslang/MachineIndependent/glslang.y"
+#line 3136 "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 9463 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9481 "MachineIndependent/glslang_tab.cpp"
break;
case 468: /* type_specifier_nonarray: F16IMAGE2DARRAY */
-#line 3140 "glslang/MachineIndependent/glslang.y"
+#line 3141 "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 9474 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9492 "MachineIndependent/glslang_tab.cpp"
break;
case 469: /* type_specifier_nonarray: IIMAGE2DARRAY */
-#line 3146 "glslang/MachineIndependent/glslang.y"
+#line 3147 "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 9484 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9502 "MachineIndependent/glslang_tab.cpp"
break;
case 470: /* type_specifier_nonarray: UIMAGE2DARRAY */
-#line 3151 "glslang/MachineIndependent/glslang.y"
+#line 3152 "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 9494 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9512 "MachineIndependent/glslang_tab.cpp"
break;
case 471: /* type_specifier_nonarray: IMAGECUBEARRAY */
-#line 3156 "glslang/MachineIndependent/glslang.y"
+#line 3157 "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 9504 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9522 "MachineIndependent/glslang_tab.cpp"
break;
case 472: /* type_specifier_nonarray: F16IMAGECUBEARRAY */
-#line 3161 "glslang/MachineIndependent/glslang.y"
+#line 3162 "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 9515 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9533 "MachineIndependent/glslang_tab.cpp"
break;
case 473: /* type_specifier_nonarray: IIMAGECUBEARRAY */
-#line 3167 "glslang/MachineIndependent/glslang.y"
+#line 3168 "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 9525 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9543 "MachineIndependent/glslang_tab.cpp"
break;
case 474: /* type_specifier_nonarray: UIMAGECUBEARRAY */
-#line 3172 "glslang/MachineIndependent/glslang.y"
+#line 3173 "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 9535 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9553 "MachineIndependent/glslang_tab.cpp"
break;
case 475: /* type_specifier_nonarray: IMAGE2DMS */
-#line 3177 "glslang/MachineIndependent/glslang.y"
+#line 3178 "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 9545 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9563 "MachineIndependent/glslang_tab.cpp"
break;
case 476: /* type_specifier_nonarray: F16IMAGE2DMS */
-#line 3182 "glslang/MachineIndependent/glslang.y"
+#line 3183 "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 9556 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9574 "MachineIndependent/glslang_tab.cpp"
break;
case 477: /* type_specifier_nonarray: IIMAGE2DMS */
-#line 3188 "glslang/MachineIndependent/glslang.y"
+#line 3189 "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 9566 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9584 "MachineIndependent/glslang_tab.cpp"
break;
case 478: /* type_specifier_nonarray: UIMAGE2DMS */
-#line 3193 "glslang/MachineIndependent/glslang.y"
+#line 3194 "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 9576 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9594 "MachineIndependent/glslang_tab.cpp"
break;
case 479: /* type_specifier_nonarray: IMAGE2DMSARRAY */
-#line 3198 "glslang/MachineIndependent/glslang.y"
+#line 3199 "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 9586 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9604 "MachineIndependent/glslang_tab.cpp"
break;
case 480: /* type_specifier_nonarray: F16IMAGE2DMSARRAY */
-#line 3203 "glslang/MachineIndependent/glslang.y"
+#line 3204 "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 9597 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9615 "MachineIndependent/glslang_tab.cpp"
break;
case 481: /* type_specifier_nonarray: IIMAGE2DMSARRAY */
-#line 3209 "glslang/MachineIndependent/glslang.y"
+#line 3210 "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 9607 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9625 "MachineIndependent/glslang_tab.cpp"
break;
case 482: /* type_specifier_nonarray: UIMAGE2DMSARRAY */
-#line 3214 "glslang/MachineIndependent/glslang.y"
+#line 3215 "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 9617 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9635 "MachineIndependent/glslang_tab.cpp"
break;
case 483: /* type_specifier_nonarray: I64IMAGE1D */
-#line 3219 "glslang/MachineIndependent/glslang.y"
+#line 3220 "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 9627 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9645 "MachineIndependent/glslang_tab.cpp"
break;
case 484: /* type_specifier_nonarray: U64IMAGE1D */
-#line 3224 "glslang/MachineIndependent/glslang.y"
+#line 3225 "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 9637 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9655 "MachineIndependent/glslang_tab.cpp"
break;
case 485: /* type_specifier_nonarray: I64IMAGE2D */
-#line 3229 "glslang/MachineIndependent/glslang.y"
+#line 3230 "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 9647 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9665 "MachineIndependent/glslang_tab.cpp"
break;
case 486: /* type_specifier_nonarray: U64IMAGE2D */
-#line 3234 "glslang/MachineIndependent/glslang.y"
+#line 3235 "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 9657 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9675 "MachineIndependent/glslang_tab.cpp"
break;
case 487: /* type_specifier_nonarray: I64IMAGE3D */
-#line 3239 "glslang/MachineIndependent/glslang.y"
+#line 3240 "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 9667 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9685 "MachineIndependent/glslang_tab.cpp"
break;
case 488: /* type_specifier_nonarray: U64IMAGE3D */
-#line 3244 "glslang/MachineIndependent/glslang.y"
+#line 3245 "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 9677 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9695 "MachineIndependent/glslang_tab.cpp"
break;
case 489: /* type_specifier_nonarray: I64IMAGE2DRECT */
-#line 3249 "glslang/MachineIndependent/glslang.y"
+#line 3250 "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 9687 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9705 "MachineIndependent/glslang_tab.cpp"
break;
case 490: /* type_specifier_nonarray: U64IMAGE2DRECT */
-#line 3254 "glslang/MachineIndependent/glslang.y"
+#line 3255 "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 9697 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9715 "MachineIndependent/glslang_tab.cpp"
break;
case 491: /* type_specifier_nonarray: I64IMAGECUBE */
-#line 3259 "glslang/MachineIndependent/glslang.y"
+#line 3260 "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 9707 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9725 "MachineIndependent/glslang_tab.cpp"
break;
case 492: /* type_specifier_nonarray: U64IMAGECUBE */
-#line 3264 "glslang/MachineIndependent/glslang.y"
+#line 3265 "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 9717 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9735 "MachineIndependent/glslang_tab.cpp"
break;
case 493: /* type_specifier_nonarray: I64IMAGEBUFFER */
-#line 3269 "glslang/MachineIndependent/glslang.y"
+#line 3270 "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 9727 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9745 "MachineIndependent/glslang_tab.cpp"
break;
case 494: /* type_specifier_nonarray: U64IMAGEBUFFER */
-#line 3274 "glslang/MachineIndependent/glslang.y"
+#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(EbtUint64, EsdBuffer);
}
-#line 9737 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9755 "MachineIndependent/glslang_tab.cpp"
break;
case 495: /* type_specifier_nonarray: I64IMAGE1DARRAY */
-#line 3279 "glslang/MachineIndependent/glslang.y"
+#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(EbtInt64, Esd1D, true);
}
-#line 9747 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9765 "MachineIndependent/glslang_tab.cpp"
break;
case 496: /* type_specifier_nonarray: U64IMAGE1DARRAY */
-#line 3284 "glslang/MachineIndependent/glslang.y"
+#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(EbtUint64, Esd1D, true);
}
-#line 9757 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9775 "MachineIndependent/glslang_tab.cpp"
break;
case 497: /* type_specifier_nonarray: I64IMAGE2DARRAY */
-#line 3289 "glslang/MachineIndependent/glslang.y"
+#line 3290 "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 9767 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9785 "MachineIndependent/glslang_tab.cpp"
break;
case 498: /* type_specifier_nonarray: U64IMAGE2DARRAY */
-#line 3294 "glslang/MachineIndependent/glslang.y"
+#line 3295 "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 9777 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9795 "MachineIndependent/glslang_tab.cpp"
break;
case 499: /* type_specifier_nonarray: I64IMAGECUBEARRAY */
-#line 3299 "glslang/MachineIndependent/glslang.y"
+#line 3300 "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 9787 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9805 "MachineIndependent/glslang_tab.cpp"
break;
case 500: /* type_specifier_nonarray: U64IMAGECUBEARRAY */
-#line 3304 "glslang/MachineIndependent/glslang.y"
+#line 3305 "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 9797 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9815 "MachineIndependent/glslang_tab.cpp"
break;
case 501: /* type_specifier_nonarray: I64IMAGE2DMS */
-#line 3309 "glslang/MachineIndependent/glslang.y"
+#line 3310 "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 9807 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9825 "MachineIndependent/glslang_tab.cpp"
break;
case 502: /* type_specifier_nonarray: U64IMAGE2DMS */
-#line 3314 "glslang/MachineIndependent/glslang.y"
+#line 3315 "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 9817 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9835 "MachineIndependent/glslang_tab.cpp"
break;
case 503: /* type_specifier_nonarray: I64IMAGE2DMSARRAY */
-#line 3319 "glslang/MachineIndependent/glslang.y"
+#line 3320 "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 9827 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9845 "MachineIndependent/glslang_tab.cpp"
break;
case 504: /* type_specifier_nonarray: U64IMAGE2DMSARRAY */
-#line 3324 "glslang/MachineIndependent/glslang.y"
+#line 3325 "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 9837 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9855 "MachineIndependent/glslang_tab.cpp"
break;
case 505: /* type_specifier_nonarray: SAMPLEREXTERNALOES */
-#line 3329 "glslang/MachineIndependent/glslang.y"
+#line 3330 "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 9848 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9866 "MachineIndependent/glslang_tab.cpp"
break;
case 506: /* type_specifier_nonarray: SAMPLEREXTERNAL2DY2YEXT */
-#line 3335 "glslang/MachineIndependent/glslang.y"
+#line 3336 "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 9859 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9877 "MachineIndependent/glslang_tab.cpp"
break;
case 507: /* type_specifier_nonarray: SUBPASSINPUT */
-#line 3341 "glslang/MachineIndependent/glslang.y"
+#line 3342 "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 9870 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9888 "MachineIndependent/glslang_tab.cpp"
break;
case 508: /* type_specifier_nonarray: SUBPASSINPUTMS */
-#line 3347 "glslang/MachineIndependent/glslang.y"
+#line 3348 "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 9881 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9899 "MachineIndependent/glslang_tab.cpp"
break;
case 509: /* type_specifier_nonarray: F16SUBPASSINPUT */
-#line 3353 "glslang/MachineIndependent/glslang.y"
+#line 3354 "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");
@@ -9889,11 +9907,11 @@
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat16);
}
-#line 9893 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9911 "MachineIndependent/glslang_tab.cpp"
break;
case 510: /* type_specifier_nonarray: F16SUBPASSINPUTMS */
-#line 3360 "glslang/MachineIndependent/glslang.y"
+#line 3361 "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");
@@ -9901,98 +9919,98 @@
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat16, true);
}
-#line 9905 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9923 "MachineIndependent/glslang_tab.cpp"
break;
case 511: /* type_specifier_nonarray: ISUBPASSINPUT */
-#line 3367 "glslang/MachineIndependent/glslang.y"
+#line 3368 "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 9916 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9934 "MachineIndependent/glslang_tab.cpp"
break;
case 512: /* type_specifier_nonarray: ISUBPASSINPUTMS */
-#line 3373 "glslang/MachineIndependent/glslang.y"
+#line 3374 "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 9927 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9945 "MachineIndependent/glslang_tab.cpp"
break;
case 513: /* type_specifier_nonarray: USUBPASSINPUT */
-#line 3379 "glslang/MachineIndependent/glslang.y"
+#line 3380 "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 9938 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9956 "MachineIndependent/glslang_tab.cpp"
break;
case 514: /* type_specifier_nonarray: USUBPASSINPUTMS */
-#line 3385 "glslang/MachineIndependent/glslang.y"
+#line 3386 "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 9949 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9967 "MachineIndependent/glslang_tab.cpp"
break;
case 515: /* type_specifier_nonarray: FCOOPMATNV */
-#line 3391 "glslang/MachineIndependent/glslang.y"
+#line 3392 "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 9960 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9978 "MachineIndependent/glslang_tab.cpp"
break;
case 516: /* type_specifier_nonarray: ICOOPMATNV */
-#line 3397 "glslang/MachineIndependent/glslang.y"
+#line 3398 "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 9971 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 9989 "MachineIndependent/glslang_tab.cpp"
break;
case 517: /* type_specifier_nonarray: UCOOPMATNV */
-#line 3403 "glslang/MachineIndependent/glslang.y"
+#line 3404 "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 9982 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10000 "MachineIndependent/glslang_tab.cpp"
break;
case 518: /* type_specifier_nonarray: struct_specifier */
-#line 3410 "glslang/MachineIndependent/glslang.y"
+#line 3411 "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 9992 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10010 "MachineIndependent/glslang_tab.cpp"
break;
case 519: /* type_specifier_nonarray: TYPE_NAME */
-#line 3415 "glslang/MachineIndependent/glslang.y"
+#line 3416 "MachineIndependent/glslang.y"
{
//
// This is for user defined type names. The lexical phase looked up the
@@ -10006,47 +10024,47 @@
} else
parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
}
-#line 10010 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10028 "MachineIndependent/glslang_tab.cpp"
break;
case 520: /* precision_qualifier: HIGH_PRECISION */
-#line 3431 "glslang/MachineIndependent/glslang.y"
+#line 3432 "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 10020 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10038 "MachineIndependent/glslang_tab.cpp"
break;
case 521: /* precision_qualifier: MEDIUM_PRECISION */
-#line 3436 "glslang/MachineIndependent/glslang.y"
+#line 3437 "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 10030 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10048 "MachineIndependent/glslang_tab.cpp"
break;
case 522: /* precision_qualifier: LOW_PRECISION */
-#line 3441 "glslang/MachineIndependent/glslang.y"
+#line 3442 "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 10040 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10058 "MachineIndependent/glslang_tab.cpp"
break;
case 523: /* $@3: %empty */
-#line 3449 "glslang/MachineIndependent/glslang.y"
+#line 3450 "MachineIndependent/glslang.y"
{ parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
-#line 10046 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10064 "MachineIndependent/glslang_tab.cpp"
break;
case 524: /* struct_specifier: STRUCT IDENTIFIER LEFT_BRACE $@3 struct_declaration_list RIGHT_BRACE */
-#line 3449 "glslang/MachineIndependent/glslang.y"
+#line 3450 "MachineIndependent/glslang.y"
{
TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
@@ -10058,17 +10076,17 @@
(yyval.interm.type).userDef = structure;
--parseContext.structNestingLevel;
}
-#line 10062 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10080 "MachineIndependent/glslang_tab.cpp"
break;
case 525: /* $@4: %empty */
-#line 3460 "glslang/MachineIndependent/glslang.y"
+#line 3461 "MachineIndependent/glslang.y"
{ parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
-#line 10068 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10086 "MachineIndependent/glslang_tab.cpp"
break;
case 526: /* struct_specifier: STRUCT LEFT_BRACE $@4 struct_declaration_list RIGHT_BRACE */
-#line 3460 "glslang/MachineIndependent/glslang.y"
+#line 3461 "MachineIndependent/glslang.y"
{
TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
(yyval.interm.type).init((yyvsp[-4].lex).loc);
@@ -10076,19 +10094,19 @@
(yyval.interm.type).userDef = structure;
--parseContext.structNestingLevel;
}
-#line 10080 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10098 "MachineIndependent/glslang_tab.cpp"
break;
case 527: /* struct_declaration_list: struct_declaration */
-#line 3470 "glslang/MachineIndependent/glslang.y"
+#line 3471 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList) = (yyvsp[0].interm.typeList);
}
-#line 10088 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10106 "MachineIndependent/glslang_tab.cpp"
break;
case 528: /* struct_declaration_list: struct_declaration_list struct_declaration */
-#line 3473 "glslang/MachineIndependent/glslang.y"
+#line 3474 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
@@ -10099,11 +10117,11 @@
(yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
}
}
-#line 10103 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10121 "MachineIndependent/glslang_tab.cpp"
break;
case 529: /* struct_declaration: type_specifier struct_declarator_list SEMICOLON */
-#line 3486 "glslang/MachineIndependent/glslang.y"
+#line 3487 "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");
@@ -10126,11 +10144,11 @@
(*(yyval.interm.typeList))[i].type->shallowCopy(type);
}
}
-#line 10130 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10148 "MachineIndependent/glslang_tab.cpp"
break;
case 530: /* struct_declaration: type_qualifier type_specifier struct_declarator_list SEMICOLON */
-#line 3508 "glslang/MachineIndependent/glslang.y"
+#line 3509 "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");
@@ -10155,38 +10173,38 @@
(*(yyval.interm.typeList))[i].type->shallowCopy(type);
}
}
-#line 10159 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10177 "MachineIndependent/glslang_tab.cpp"
break;
case 531: /* struct_declarator_list: struct_declarator */
-#line 3535 "glslang/MachineIndependent/glslang.y"
+#line 3536 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList) = new TTypeList;
(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
}
-#line 10168 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10186 "MachineIndependent/glslang_tab.cpp"
break;
case 532: /* struct_declarator_list: struct_declarator_list COMMA struct_declarator */
-#line 3539 "glslang/MachineIndependent/glslang.y"
+#line 3540 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
}
-#line 10176 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10194 "MachineIndependent/glslang_tab.cpp"
break;
case 533: /* struct_declarator: IDENTIFIER */
-#line 3545 "glslang/MachineIndependent/glslang.y"
+#line 3546 "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 10186 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10204 "MachineIndependent/glslang_tab.cpp"
break;
case 534: /* struct_declarator: IDENTIFIER array_specifier */
-#line 3550 "glslang/MachineIndependent/glslang.y"
+#line 3551 "MachineIndependent/glslang.y"
{
parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);
@@ -10195,235 +10213,235 @@
(yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
(yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);
}
-#line 10199 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10217 "MachineIndependent/glslang_tab.cpp"
break;
case 535: /* initializer: assignment_expression */
-#line 3561 "glslang/MachineIndependent/glslang.y"
+#line 3562 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 10207 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10225 "MachineIndependent/glslang_tab.cpp"
break;
case 536: /* initializer: LEFT_BRACE initializer_list RIGHT_BRACE */
-#line 3565 "glslang/MachineIndependent/glslang.y"
+#line 3566 "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 10218 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10236 "MachineIndependent/glslang_tab.cpp"
break;
case 537: /* initializer: LEFT_BRACE initializer_list COMMA RIGHT_BRACE */
-#line 3571 "glslang/MachineIndependent/glslang.y"
+#line 3572 "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 10229 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10247 "MachineIndependent/glslang_tab.cpp"
break;
case 538: /* initializer_list: initializer */
-#line 3582 "glslang/MachineIndependent/glslang.y"
+#line 3583 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
}
-#line 10237 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10255 "MachineIndependent/glslang_tab.cpp"
break;
case 539: /* initializer_list: initializer_list COMMA initializer */
-#line 3585 "glslang/MachineIndependent/glslang.y"
+#line 3586 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
}
-#line 10245 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10263 "MachineIndependent/glslang_tab.cpp"
break;
case 540: /* declaration_statement: declaration */
-#line 3592 "glslang/MachineIndependent/glslang.y"
+#line 3593 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10251 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10269 "MachineIndependent/glslang_tab.cpp"
break;
case 541: /* statement: compound_statement */
-#line 3596 "glslang/MachineIndependent/glslang.y"
+#line 3597 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10257 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10275 "MachineIndependent/glslang_tab.cpp"
break;
case 542: /* statement: simple_statement */
-#line 3597 "glslang/MachineIndependent/glslang.y"
+#line 3598 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10263 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10281 "MachineIndependent/glslang_tab.cpp"
break;
case 543: /* simple_statement: declaration_statement */
-#line 3603 "glslang/MachineIndependent/glslang.y"
+#line 3604 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10269 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10287 "MachineIndependent/glslang_tab.cpp"
break;
case 544: /* simple_statement: expression_statement */
-#line 3604 "glslang/MachineIndependent/glslang.y"
+#line 3605 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10275 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10293 "MachineIndependent/glslang_tab.cpp"
break;
case 545: /* simple_statement: selection_statement */
-#line 3605 "glslang/MachineIndependent/glslang.y"
+#line 3606 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10281 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10299 "MachineIndependent/glslang_tab.cpp"
break;
case 546: /* simple_statement: switch_statement */
-#line 3606 "glslang/MachineIndependent/glslang.y"
+#line 3607 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10287 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10305 "MachineIndependent/glslang_tab.cpp"
break;
case 547: /* simple_statement: case_label */
-#line 3607 "glslang/MachineIndependent/glslang.y"
+#line 3608 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10293 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10311 "MachineIndependent/glslang_tab.cpp"
break;
case 548: /* simple_statement: iteration_statement */
-#line 3608 "glslang/MachineIndependent/glslang.y"
+#line 3609 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10299 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10317 "MachineIndependent/glslang_tab.cpp"
break;
case 549: /* simple_statement: jump_statement */
-#line 3609 "glslang/MachineIndependent/glslang.y"
+#line 3610 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10305 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10323 "MachineIndependent/glslang_tab.cpp"
break;
case 550: /* simple_statement: demote_statement */
-#line 3611 "glslang/MachineIndependent/glslang.y"
+#line 3612 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10311 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10329 "MachineIndependent/glslang_tab.cpp"
break;
case 551: /* demote_statement: DEMOTE SEMICOLON */
-#line 3617 "glslang/MachineIndependent/glslang.y"
+#line 3618 "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 10321 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10339 "MachineIndependent/glslang_tab.cpp"
break;
case 552: /* compound_statement: LEFT_BRACE RIGHT_BRACE */
-#line 3626 "glslang/MachineIndependent/glslang.y"
+#line 3627 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = 0; }
-#line 10327 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10345 "MachineIndependent/glslang_tab.cpp"
break;
case 553: /* $@5: %empty */
-#line 3627 "glslang/MachineIndependent/glslang.y"
+#line 3628 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.statementNestingLevel;
}
-#line 10336 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10354 "MachineIndependent/glslang_tab.cpp"
break;
case 554: /* $@6: %empty */
-#line 3631 "glslang/MachineIndependent/glslang.y"
+#line 3632 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.statementNestingLevel;
}
-#line 10345 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10363 "MachineIndependent/glslang_tab.cpp"
break;
case 555: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */
-#line 3635 "glslang/MachineIndependent/glslang.y"
+#line 3636 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
(yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
}
-#line 10355 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10373 "MachineIndependent/glslang_tab.cpp"
break;
case 556: /* statement_no_new_scope: compound_statement_no_new_scope */
-#line 3643 "glslang/MachineIndependent/glslang.y"
+#line 3644 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10361 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10379 "MachineIndependent/glslang_tab.cpp"
break;
case 557: /* statement_no_new_scope: simple_statement */
-#line 3644 "glslang/MachineIndependent/glslang.y"
+#line 3645 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 10367 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10385 "MachineIndependent/glslang_tab.cpp"
break;
case 558: /* $@7: %empty */
-#line 3648 "glslang/MachineIndependent/glslang.y"
+#line 3649 "MachineIndependent/glslang.y"
{
++parseContext.controlFlowNestingLevel;
}
-#line 10375 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10393 "MachineIndependent/glslang_tab.cpp"
break;
case 559: /* statement_scoped: $@7 compound_statement */
-#line 3651 "glslang/MachineIndependent/glslang.y"
+#line 3652 "MachineIndependent/glslang.y"
{
--parseContext.controlFlowNestingLevel;
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10384 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10402 "MachineIndependent/glslang_tab.cpp"
break;
case 560: /* $@8: %empty */
-#line 3655 "glslang/MachineIndependent/glslang.y"
+#line 3656 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 10394 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10412 "MachineIndependent/glslang_tab.cpp"
break;
case 561: /* statement_scoped: $@8 simple_statement */
-#line 3660 "glslang/MachineIndependent/glslang.y"
+#line 3661 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10405 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10423 "MachineIndependent/glslang_tab.cpp"
break;
case 562: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */
-#line 3669 "glslang/MachineIndependent/glslang.y"
+#line 3670 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
}
-#line 10413 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10431 "MachineIndependent/glslang_tab.cpp"
break;
case 563: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */
-#line 3672 "glslang/MachineIndependent/glslang.y"
+#line 3673 "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 10423 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10441 "MachineIndependent/glslang_tab.cpp"
break;
case 564: /* statement_list: statement */
-#line 3680 "glslang/MachineIndependent/glslang.y"
+#line 3681 "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 ||
@@ -10432,11 +10450,11 @@
(yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
}
}
-#line 10436 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10454 "MachineIndependent/glslang_tab.cpp"
break;
case 565: /* statement_list: statement_list statement */
-#line 3688 "glslang/MachineIndependent/glslang.y"
+#line 3689 "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)) {
@@ -10445,76 +10463,76 @@
} else
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 10449 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10467 "MachineIndependent/glslang_tab.cpp"
break;
case 566: /* expression_statement: SEMICOLON */
-#line 3699 "glslang/MachineIndependent/glslang.y"
+#line 3700 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = 0; }
-#line 10455 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10473 "MachineIndependent/glslang_tab.cpp"
break;
case 567: /* expression_statement: expression SEMICOLON */
-#line 3700 "glslang/MachineIndependent/glslang.y"
+#line 3701 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
-#line 10461 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10479 "MachineIndependent/glslang_tab.cpp"
break;
case 568: /* selection_statement: selection_statement_nonattributed */
-#line 3704 "glslang/MachineIndependent/glslang.y"
+#line 3705 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10469 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10487 "MachineIndependent/glslang_tab.cpp"
break;
case 569: /* selection_statement: attribute selection_statement_nonattributed */
-#line 3708 "glslang/MachineIndependent/glslang.y"
+#line 3709 "MachineIndependent/glslang.y"
{
parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10478 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10496 "MachineIndependent/glslang_tab.cpp"
break;
case 570: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */
-#line 3715 "glslang/MachineIndependent/glslang.y"
+#line 3716 "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 10487 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10505 "MachineIndependent/glslang_tab.cpp"
break;
case 571: /* selection_rest_statement: statement_scoped ELSE statement_scoped */
-#line 3722 "glslang/MachineIndependent/glslang.y"
+#line 3723 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
}
-#line 10496 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10514 "MachineIndependent/glslang_tab.cpp"
break;
case 572: /* selection_rest_statement: statement_scoped */
-#line 3726 "glslang/MachineIndependent/glslang.y"
+#line 3727 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
(yyval.interm.nodePair).node2 = 0;
}
-#line 10505 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10523 "MachineIndependent/glslang_tab.cpp"
break;
case 573: /* condition: expression */
-#line 3734 "glslang/MachineIndependent/glslang.y"
+#line 3735 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
}
-#line 10514 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10532 "MachineIndependent/glslang_tab.cpp"
break;
case 574: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */
-#line 3738 "glslang/MachineIndependent/glslang.y"
+#line 3739 "MachineIndependent/glslang.y"
{
parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
@@ -10525,28 +10543,28 @@
else
(yyval.interm.intermTypedNode) = 0;
}
-#line 10529 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10547 "MachineIndependent/glslang_tab.cpp"
break;
case 575: /* switch_statement: switch_statement_nonattributed */
-#line 3751 "glslang/MachineIndependent/glslang.y"
+#line 3752 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10537 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10555 "MachineIndependent/glslang_tab.cpp"
break;
case 576: /* switch_statement: attribute switch_statement_nonattributed */
-#line 3755 "glslang/MachineIndependent/glslang.y"
+#line 3756 "MachineIndependent/glslang.y"
{
parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10546 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10564 "MachineIndependent/glslang_tab.cpp"
break;
case 577: /* $@9: %empty */
-#line 3762 "glslang/MachineIndependent/glslang.y"
+#line 3763 "MachineIndependent/glslang.y"
{
// start new switch sequence on the switch stack
++parseContext.controlFlowNestingLevel;
@@ -10555,11 +10573,11 @@
parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
parseContext.symbolTable.push();
}
-#line 10559 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10577 "MachineIndependent/glslang_tab.cpp"
break;
case 578: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */
-#line 3770 "glslang/MachineIndependent/glslang.y"
+#line 3771 "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();
@@ -10569,27 +10587,27 @@
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 10573 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10591 "MachineIndependent/glslang_tab.cpp"
break;
case 579: /* switch_statement_list: %empty */
-#line 3782 "glslang/MachineIndependent/glslang.y"
+#line 3783 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
}
-#line 10581 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10599 "MachineIndependent/glslang_tab.cpp"
break;
case 580: /* switch_statement_list: statement_list */
-#line 3785 "glslang/MachineIndependent/glslang.y"
+#line 3786 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10589 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10607 "MachineIndependent/glslang_tab.cpp"
break;
case 581: /* case_label: CASE expression COLON */
-#line 3791 "glslang/MachineIndependent/glslang.y"
+#line 3792 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
@@ -10602,11 +10620,11 @@
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
}
}
-#line 10606 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10624 "MachineIndependent/glslang_tab.cpp"
break;
case 582: /* case_label: DEFAULT COLON */
-#line 3803 "glslang/MachineIndependent/glslang.y"
+#line 3804 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
@@ -10616,28 +10634,28 @@
else
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
}
-#line 10620 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10638 "MachineIndependent/glslang_tab.cpp"
break;
case 583: /* iteration_statement: iteration_statement_nonattributed */
-#line 3815 "glslang/MachineIndependent/glslang.y"
+#line 3816 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10628 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10646 "MachineIndependent/glslang_tab.cpp"
break;
case 584: /* iteration_statement: attribute iteration_statement_nonattributed */
-#line 3819 "glslang/MachineIndependent/glslang.y"
+#line 3820 "MachineIndependent/glslang.y"
{
parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10637 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10655 "MachineIndependent/glslang_tab.cpp"
break;
case 585: /* $@10: %empty */
-#line 3826 "glslang/MachineIndependent/glslang.y"
+#line 3827 "MachineIndependent/glslang.y"
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
@@ -10646,11 +10664,11 @@
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 10650 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10668 "MachineIndependent/glslang_tab.cpp"
break;
case 586: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */
-#line 3834 "glslang/MachineIndependent/glslang.y"
+#line 3835 "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);
@@ -10658,21 +10676,21 @@
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 10662 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10680 "MachineIndependent/glslang_tab.cpp"
break;
case 587: /* $@11: %empty */
-#line 3841 "glslang/MachineIndependent/glslang.y"
+#line 3842 "MachineIndependent/glslang.y"
{
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 10672 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10690 "MachineIndependent/glslang_tab.cpp"
break;
case 588: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */
-#line 3846 "glslang/MachineIndependent/glslang.y"
+#line 3847 "MachineIndependent/glslang.y"
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
@@ -10684,22 +10702,22 @@
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 10688 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10706 "MachineIndependent/glslang_tab.cpp"
break;
case 589: /* $@12: %empty */
-#line 3857 "glslang/MachineIndependent/glslang.y"
+#line 3858 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 10699 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10717 "MachineIndependent/glslang_tab.cpp"
break;
case 590: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */
-#line 3863 "glslang/MachineIndependent/glslang.y"
+#line 3864 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
@@ -10712,81 +10730,81 @@
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 10716 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10734 "MachineIndependent/glslang_tab.cpp"
break;
case 591: /* for_init_statement: expression_statement */
-#line 3878 "glslang/MachineIndependent/glslang.y"
+#line 3879 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10724 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10742 "MachineIndependent/glslang_tab.cpp"
break;
case 592: /* for_init_statement: declaration_statement */
-#line 3881 "glslang/MachineIndependent/glslang.y"
+#line 3882 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10732 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10750 "MachineIndependent/glslang_tab.cpp"
break;
case 593: /* conditionopt: condition */
-#line 3887 "glslang/MachineIndependent/glslang.y"
+#line 3888 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 10740 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10758 "MachineIndependent/glslang_tab.cpp"
break;
case 594: /* conditionopt: %empty */
-#line 3890 "glslang/MachineIndependent/glslang.y"
+#line 3891 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = 0;
}
-#line 10748 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10766 "MachineIndependent/glslang_tab.cpp"
break;
case 595: /* for_rest_statement: conditionopt SEMICOLON */
-#line 3896 "glslang/MachineIndependent/glslang.y"
+#line 3897 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
-#line 10757 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10775 "MachineIndependent/glslang_tab.cpp"
break;
case 596: /* for_rest_statement: conditionopt SEMICOLON expression */
-#line 3900 "glslang/MachineIndependent/glslang.y"
+#line 3901 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
}
-#line 10766 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10784 "MachineIndependent/glslang_tab.cpp"
break;
case 597: /* jump_statement: CONTINUE SEMICOLON */
-#line 3907 "glslang/MachineIndependent/glslang.y"
+#line 3908 "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 10776 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10794 "MachineIndependent/glslang_tab.cpp"
break;
case 598: /* jump_statement: BREAK SEMICOLON */
-#line 3912 "glslang/MachineIndependent/glslang.y"
+#line 3913 "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 10786 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10804 "MachineIndependent/glslang_tab.cpp"
break;
case 599: /* jump_statement: RETURN SEMICOLON */
-#line 3917 "glslang/MachineIndependent/glslang.y"
+#line 3918 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
@@ -10794,83 +10812,101 @@
if (parseContext.inMain)
parseContext.postEntryPointReturn = true;
}
-#line 10798 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10816 "MachineIndependent/glslang_tab.cpp"
break;
case 600: /* jump_statement: RETURN expression SEMICOLON */
-#line 3924 "glslang/MachineIndependent/glslang.y"
+#line 3925 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
}
-#line 10806 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10824 "MachineIndependent/glslang_tab.cpp"
break;
case 601: /* jump_statement: DISCARD SEMICOLON */
-#line 3927 "glslang/MachineIndependent/glslang.y"
+#line 3928 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
}
-#line 10815 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10833 "MachineIndependent/glslang_tab.cpp"
break;
case 602: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */
-#line 3931 "glslang/MachineIndependent/glslang.y"
+#line 3932 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc);
}
-#line 10824 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10842 "MachineIndependent/glslang_tab.cpp"
break;
- case 603: /* translation_unit: external_declaration */
-#line 3940 "glslang/MachineIndependent/glslang.y"
+ case 603: /* jump_statement: TERMINATE_RAY SEMICOLON */
+#line 3937 "MachineIndependent/glslang.y"
+ {
+ parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT");
+ (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc);
+ }
+#line 10851 "MachineIndependent/glslang_tab.cpp"
+ break;
+
+ case 604: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */
+#line 3941 "MachineIndependent/glslang.y"
+ {
+ parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT");
+ (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc);
+ }
+#line 10860 "MachineIndependent/glslang_tab.cpp"
+ break;
+
+ case 605: /* translation_unit: external_declaration */
+#line 3951 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
-#line 10833 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10869 "MachineIndependent/glslang_tab.cpp"
break;
- case 604: /* translation_unit: translation_unit external_declaration */
-#line 3944 "glslang/MachineIndependent/glslang.y"
+ case 606: /* translation_unit: translation_unit external_declaration */
+#line 3955 "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 10844 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10880 "MachineIndependent/glslang_tab.cpp"
break;
- case 605: /* external_declaration: function_definition */
-#line 3953 "glslang/MachineIndependent/glslang.y"
+ case 607: /* external_declaration: function_definition */
+#line 3964 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10852 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10888 "MachineIndependent/glslang_tab.cpp"
break;
- case 606: /* external_declaration: declaration */
-#line 3956 "glslang/MachineIndependent/glslang.y"
+ case 608: /* external_declaration: declaration */
+#line 3967 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 10860 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10896 "MachineIndependent/glslang_tab.cpp"
break;
- case 607: /* external_declaration: SEMICOLON */
-#line 3960 "glslang/MachineIndependent/glslang.y"
+ case 609: /* external_declaration: SEMICOLON */
+#line 3971 "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 10870 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10906 "MachineIndependent/glslang_tab.cpp"
break;
- case 608: /* $@13: %empty */
-#line 3969 "glslang/MachineIndependent/glslang.y"
+ case 610: /* $@13: %empty */
+#line 3980 "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);
@@ -10883,11 +10919,11 @@
++parseContext.statementNestingLevel;
}
}
-#line 10887 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10923 "MachineIndependent/glslang_tab.cpp"
break;
- case 609: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */
-#line 3981 "glslang/MachineIndependent/glslang.y"
+ case 611: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */
+#line 3992 "MachineIndependent/glslang.y"
{
// May be best done as post process phase on intermediate code
if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
@@ -10914,52 +10950,52 @@
--parseContext.statementNestingLevel;
}
}
-#line 10918 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10954 "MachineIndependent/glslang_tab.cpp"
break;
- case 610: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */
-#line 4011 "glslang/MachineIndependent/glslang.y"
+ case 612: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */
+#line 4022 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute");
}
-#line 10927 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10963 "MachineIndependent/glslang_tab.cpp"
break;
- case 611: /* attribute_list: single_attribute */
-#line 4017 "glslang/MachineIndependent/glslang.y"
+ case 613: /* attribute_list: single_attribute */
+#line 4028 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = (yyvsp[0].interm.attributes);
}
-#line 10935 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10971 "MachineIndependent/glslang_tab.cpp"
break;
- case 612: /* attribute_list: attribute_list COMMA single_attribute */
-#line 4020 "glslang/MachineIndependent/glslang.y"
+ case 614: /* attribute_list: attribute_list COMMA single_attribute */
+#line 4031 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
}
-#line 10943 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10979 "MachineIndependent/glslang_tab.cpp"
break;
- case 613: /* single_attribute: IDENTIFIER */
-#line 4025 "glslang/MachineIndependent/glslang.y"
+ case 615: /* single_attribute: IDENTIFIER */
+#line 4036 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
}
-#line 10951 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10987 "MachineIndependent/glslang_tab.cpp"
break;
- case 614: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */
-#line 4028 "glslang/MachineIndependent/glslang.y"
+ case 616: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */
+#line 4039 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
}
-#line 10959 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10995 "MachineIndependent/glslang_tab.cpp"
break;
-#line 10963 "glslang/MachineIndependent/glslang_tab.cpp"
+#line 10999 "MachineIndependent/glslang_tab.cpp"
default: break;
}
@@ -11184,5 +11220,5 @@
return yyresult;
}
-#line 4033 "glslang/MachineIndependent/glslang.y"
+#line 4044 "MachineIndependent/glslang.y"
diff --git a/glslang/MachineIndependent/glslang_tab.cpp.h b/glslang/MachineIndependent/glslang_tab.cpp.h
index 66983a0..d6bc00d 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp.h
+++ b/glslang/MachineIndependent/glslang_tab.cpp.h
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.7.2. */
+/* A Bison parser, made by GNU Bison 3.7.4. */
/* Bison interface for Yacc-like parsers in C
@@ -35,8 +35,8 @@
especially those whose name start with YY_ or yy_. They are
private implementation details that can be changed or removed. */
-#ifndef YY_YY_GLSLANG_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED
-# define YY_YY_GLSLANG_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED
+#ifndef YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED
+# define YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
@@ -447,53 +447,55 @@
CASE = 648, /* CASE */
DEFAULT = 649, /* DEFAULT */
TERMINATE_INVOCATION = 650, /* TERMINATE_INVOCATION */
- UNIFORM = 651, /* UNIFORM */
- SHARED = 652, /* SHARED */
- BUFFER = 653, /* BUFFER */
- FLAT = 654, /* FLAT */
- SMOOTH = 655, /* SMOOTH */
- LAYOUT = 656, /* LAYOUT */
- DOUBLECONSTANT = 657, /* DOUBLECONSTANT */
- INT16CONSTANT = 658, /* INT16CONSTANT */
- UINT16CONSTANT = 659, /* UINT16CONSTANT */
- FLOAT16CONSTANT = 660, /* FLOAT16CONSTANT */
- INT32CONSTANT = 661, /* INT32CONSTANT */
- UINT32CONSTANT = 662, /* UINT32CONSTANT */
- INT64CONSTANT = 663, /* INT64CONSTANT */
- UINT64CONSTANT = 664, /* UINT64CONSTANT */
- SUBROUTINE = 665, /* SUBROUTINE */
- DEMOTE = 666, /* DEMOTE */
- PAYLOADNV = 667, /* PAYLOADNV */
- PAYLOADINNV = 668, /* PAYLOADINNV */
- HITATTRNV = 669, /* HITATTRNV */
- CALLDATANV = 670, /* CALLDATANV */
- CALLDATAINNV = 671, /* CALLDATAINNV */
- PAYLOADEXT = 672, /* PAYLOADEXT */
- PAYLOADINEXT = 673, /* PAYLOADINEXT */
- HITATTREXT = 674, /* HITATTREXT */
- CALLDATAEXT = 675, /* CALLDATAEXT */
- CALLDATAINEXT = 676, /* CALLDATAINEXT */
- PATCH = 677, /* PATCH */
- SAMPLE = 678, /* SAMPLE */
- NONUNIFORM = 679, /* NONUNIFORM */
- COHERENT = 680, /* COHERENT */
- VOLATILE = 681, /* VOLATILE */
- RESTRICT = 682, /* RESTRICT */
- READONLY = 683, /* READONLY */
- WRITEONLY = 684, /* WRITEONLY */
- DEVICECOHERENT = 685, /* DEVICECOHERENT */
- QUEUEFAMILYCOHERENT = 686, /* QUEUEFAMILYCOHERENT */
- WORKGROUPCOHERENT = 687, /* WORKGROUPCOHERENT */
- SUBGROUPCOHERENT = 688, /* SUBGROUPCOHERENT */
- NONPRIVATE = 689, /* NONPRIVATE */
- SHADERCALLCOHERENT = 690, /* SHADERCALLCOHERENT */
- NOPERSPECTIVE = 691, /* NOPERSPECTIVE */
- EXPLICITINTERPAMD = 692, /* EXPLICITINTERPAMD */
- PERVERTEXNV = 693, /* PERVERTEXNV */
- PERPRIMITIVENV = 694, /* PERPRIMITIVENV */
- PERVIEWNV = 695, /* PERVIEWNV */
- PERTASKNV = 696, /* PERTASKNV */
- PRECISE = 697 /* PRECISE */
+ TERMINATE_RAY = 651, /* TERMINATE_RAY */
+ IGNORE_INTERSECTION = 652, /* IGNORE_INTERSECTION */
+ UNIFORM = 653, /* UNIFORM */
+ SHARED = 654, /* SHARED */
+ BUFFER = 655, /* BUFFER */
+ FLAT = 656, /* FLAT */
+ SMOOTH = 657, /* SMOOTH */
+ LAYOUT = 658, /* LAYOUT */
+ DOUBLECONSTANT = 659, /* DOUBLECONSTANT */
+ INT16CONSTANT = 660, /* INT16CONSTANT */
+ UINT16CONSTANT = 661, /* UINT16CONSTANT */
+ FLOAT16CONSTANT = 662, /* FLOAT16CONSTANT */
+ INT32CONSTANT = 663, /* INT32CONSTANT */
+ UINT32CONSTANT = 664, /* UINT32CONSTANT */
+ INT64CONSTANT = 665, /* INT64CONSTANT */
+ UINT64CONSTANT = 666, /* UINT64CONSTANT */
+ SUBROUTINE = 667, /* SUBROUTINE */
+ DEMOTE = 668, /* DEMOTE */
+ PAYLOADNV = 669, /* PAYLOADNV */
+ PAYLOADINNV = 670, /* PAYLOADINNV */
+ HITATTRNV = 671, /* HITATTRNV */
+ CALLDATANV = 672, /* CALLDATANV */
+ CALLDATAINNV = 673, /* CALLDATAINNV */
+ PAYLOADEXT = 674, /* PAYLOADEXT */
+ PAYLOADINEXT = 675, /* PAYLOADINEXT */
+ HITATTREXT = 676, /* HITATTREXT */
+ CALLDATAEXT = 677, /* CALLDATAEXT */
+ CALLDATAINEXT = 678, /* CALLDATAINEXT */
+ PATCH = 679, /* PATCH */
+ SAMPLE = 680, /* SAMPLE */
+ NONUNIFORM = 681, /* NONUNIFORM */
+ COHERENT = 682, /* COHERENT */
+ VOLATILE = 683, /* VOLATILE */
+ RESTRICT = 684, /* RESTRICT */
+ READONLY = 685, /* READONLY */
+ WRITEONLY = 686, /* WRITEONLY */
+ DEVICECOHERENT = 687, /* DEVICECOHERENT */
+ QUEUEFAMILYCOHERENT = 688, /* QUEUEFAMILYCOHERENT */
+ WORKGROUPCOHERENT = 689, /* WORKGROUPCOHERENT */
+ SUBGROUPCOHERENT = 690, /* SUBGROUPCOHERENT */
+ NONPRIVATE = 691, /* NONPRIVATE */
+ SHADERCALLCOHERENT = 692, /* SHADERCALLCOHERENT */
+ NOPERSPECTIVE = 693, /* NOPERSPECTIVE */
+ EXPLICITINTERPAMD = 694, /* EXPLICITINTERPAMD */
+ PERVERTEXNV = 695, /* PERVERTEXNV */
+ PERPRIMITIVENV = 696, /* PERPRIMITIVENV */
+ PERVIEWNV = 697, /* PERVIEWNV */
+ PERTASKNV = 698, /* PERTASKNV */
+ PRECISE = 699 /* PRECISE */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -502,7 +504,7 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
-#line 97 "glslang/MachineIndependent/glslang.y"
+#line 97 "MachineIndependent/glslang.y"
struct {
glslang::TSourceLoc loc;
@@ -538,7 +540,7 @@
glslang::TArraySizes* typeParameters;
} interm;
-#line 542 "glslang/MachineIndependent/glslang_tab.cpp.h"
+#line 544 "MachineIndependent/glslang_tab.cpp.h"
};
typedef union YYSTYPE YYSTYPE;
@@ -550,4 +552,4 @@
int yyparse (glslang::TParseContext* pParseContext);
-#endif /* !YY_YY_GLSLANG_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED */
+#endif /* !YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED */
diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp
index ac862e6..5ce3e47 100644
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -438,6 +438,9 @@
case EOpConvUint64ToPtr: out.debug << "Convert uint64_t to pointer"; break;
case EOpConvPtrToUint64: out.debug << "Convert pointer to uint64_t"; break;
+ case EOpConvUint64ToAccStruct: out.debug << "Convert uint64_t to acceleration structure"; break;
+ case EOpConvUvec2ToAccStruct: out.debug << "Convert uvec2 to acceleration strucuture "; break;
+
case EOpRadians: out.debug << "radians"; break;
case EOpDegrees: out.debug << "degrees"; break;
case EOpSin: out.debug << "sine"; break;
@@ -829,6 +832,7 @@
case EOpConstructTextureSampler: out.debug << "Construct combined texture-sampler"; break;
case EOpConstructReference: out.debug << "Construct reference"; break;
case EOpConstructCooperativeMatrix: out.debug << "Construct cooperative matrix"; break;
+ case EOpConstructAccStruct: out.debug << "Construct acceleration structure"; break;
case EOpLessThan: out.debug << "Compare Less Than"; break;
case EOpGreaterThan: out.debug << "Compare Greater Than"; break;
@@ -1079,11 +1083,15 @@
case EOpSubpassLoad: out.debug << "subpassLoad"; break;
case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break;
- case EOpTrace: out.debug << "traceNV"; break;
+ case EOpTraceNV: out.debug << "traceNV"; break;
+ case EOpTraceKHR: out.debug << "traceRayKHR"; break;
case EOpReportIntersection: out.debug << "reportIntersectionNV"; break;
- case EOpIgnoreIntersection: out.debug << "ignoreIntersectionNV"; break;
- case EOpTerminateRay: out.debug << "terminateRayNV"; break;
- case EOpExecuteCallable: out.debug << "executeCallableNV"; break;
+ case EOpIgnoreIntersectionNV: out.debug << "ignoreIntersectionNV"; break;
+ case EOpIgnoreIntersectionKHR: out.debug << "ignoreIntersectionKHR"; break;
+ case EOpTerminateRayNV: out.debug << "terminateRayNV"; break;
+ case EOpTerminateRayKHR: out.debug << "terminateRayKHR"; break;
+ case EOpExecuteCallableNV: out.debug << "executeCallableNV"; break;
+ case EOpExecuteCallableKHR: out.debug << "executeCallableKHR"; break;
case EOpWritePackedPrimitiveIndices4x8NV: out.debug << "writePackedPrimitiveIndices4x8NV"; break;
case EOpRayQueryInitialize: out.debug << "rayQueryInitializeEXT"; break;
@@ -1409,15 +1417,17 @@
OutputTreeText(out, node, depth);
switch (node->getFlowOp()) {
- case EOpKill: out.debug << "Branch: Kill"; break;
- case EOpTerminateInvocation: out.debug << "Branch: TerminateInvocation"; break;
- case EOpBreak: out.debug << "Branch: Break"; break;
- case EOpContinue: out.debug << "Branch: Continue"; break;
- case EOpReturn: out.debug << "Branch: Return"; break;
- case EOpCase: out.debug << "case: "; break;
- case EOpDemote: out.debug << "Demote"; break;
- case EOpDefault: out.debug << "default: "; break;
- default: out.debug << "Branch: Unknown Branch"; break;
+ case EOpKill: out.debug << "Branch: Kill"; break;
+ case EOpTerminateInvocation: out.debug << "Branch: TerminateInvocation"; break;
+ case EOpIgnoreIntersectionKHR: out.debug << "Branch: IgnoreIntersectionKHR"; break;
+ case EOpTerminateRayKHR: out.debug << "Branch: TerminateRayKHR"; break;
+ case EOpBreak: out.debug << "Branch: Break"; break;
+ case EOpContinue: out.debug << "Branch: Continue"; break;
+ case EOpReturn: out.debug << "Branch: Return"; break;
+ case EOpCase: out.debug << "case: "; break;
+ case EOpDemote: out.debug << "Demote"; break;
+ case EOpDefault: out.debug << "default: "; break;
+ default: out.debug << "Branch: Unknown Branch"; break;
}
if (node->getExpression()) {
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index 63fb20a..4e84adb 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -1057,8 +1057,8 @@
return found;
}
-// Accumulate locations used for inputs, outputs, and uniforms, and check for collisions
-// as the accumulation is done.
+// Accumulate locations used for inputs, outputs, and uniforms, payload and callable data
+// and check for collisions as the accumulation is done.
//
// Returns < 0 if no collision, >= 0 if collision and the value returned is a colliding value.
//
@@ -1070,6 +1070,7 @@
typeCollision = false;
int set;
+ int setRT;
if (qualifier.isPipeInput())
set = 0;
else if (qualifier.isPipeOutput())
@@ -1078,11 +1079,17 @@
set = 2;
else if (qualifier.storage == EvqBuffer)
set = 3;
+ else if (qualifier.isAnyPayload())
+ setRT = 0;
+ else if (qualifier.isAnyCallable())
+ setRT = 1;
else
return -1;
int size;
- if (qualifier.isUniformOrBuffer() || qualifier.isTaskMemory()) {
+ if (qualifier.isAnyPayload() || qualifier.isAnyCallable()) {
+ size = 1;
+ } else if (qualifier.isUniformOrBuffer() || qualifier.isTaskMemory()) {
if (type.isSizedArray())
size = type.getCumulativeArraySize();
else
@@ -1110,10 +1117,17 @@
// (A vertex shader input will show using only one location, even for a dvec3/4.)
//
// So, for the case of dvec3, we need two independent ioRanges.
-
+ //
+ // For raytracing IO (payloads and callabledata) each declaration occupies a single
+ // slot irrespective of type.
int collision = -1; // no collision
#ifndef GLSLANG_WEB
- if (size == 2 && type.getBasicType() == EbtDouble && type.getVectorSize() == 3 &&
+ if (qualifier.isAnyPayload() || qualifier.isAnyCallable()) {
+ TRange range(qualifier.layoutLocation, qualifier.layoutLocation);
+ collision = checkLocationRT(setRT, qualifier.layoutLocation);
+ if (collision < 0)
+ usedIoRT[setRT].push_back(range);
+ } else if (size == 2 && type.getBasicType() == EbtDouble && type.getVectorSize() == 3 &&
(qualifier.isPipeInput() || qualifier.isPipeOutput())) {
// Dealing with dvec3 in/out split across two locations.
// Need two io-ranges.
@@ -1189,6 +1203,16 @@
return -1; // no collision
}
+int TIntermediate::checkLocationRT(int set, int location) {
+ TRange range(location, location);
+ for (size_t r = 0; r < usedIoRT[set].size(); ++r) {
+ if (range.overlap(usedIoRT[set][r])) {
+ return range.start;
+ }
+ }
+ return -1; // no collision
+}
+
// Accumulate bindings and offsets, and check for collisions
// as the accumulation is done.
//
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index f874701..f8d8e80 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -416,6 +416,9 @@
EShLanguage getStage() const { return language; }
void addRequestedExtension(const char* extension) { requestedExtensions.insert(extension); }
const std::set<std::string>& getRequestedExtensions() const { return requestedExtensions; }
+ bool isRayTracingStage() const {
+ return language >= EShLangRayGen && language <= EShLangCallableNV;
+ }
void setTreeRoot(TIntermNode* r) { treeRoot = r; }
TIntermNode* getTreeRoot() const { return treeRoot; }
@@ -531,6 +534,7 @@
// Linkage related
void addSymbolLinkageNodes(TIntermAggregate*& linkage, EShLanguage, TSymbolTable&);
void addSymbolLinkageNode(TIntermAggregate*& linkage, const TSymbol&);
+ TIntermAggregate* findLinkerObjects() const;
void setUseStorageBuffer() { useStorageBuffer = true; }
bool usingStorageBuffer() const { return useStorageBuffer; }
@@ -866,6 +870,7 @@
int addUsedLocation(const TQualifier&, const TType&, bool& typeCollision);
int checkLocationRange(int set, const TIoRange& range, const TType&, bool& typeCollision);
+ int checkLocationRT(int set, int location);
int addUsedOffsets(int binding, int offset, int numOffsets);
bool addUsedConstantId(int id);
static int computeTypeLocationSize(const TType&, EShLanguage);
@@ -941,7 +946,6 @@
void checkCallGraphCycles(TInfoSink&);
void checkCallGraphBodies(TInfoSink&, bool keepUncalled);
void inOutLocationCheck(TInfoSink&);
- TIntermAggregate* findLinkerObjects() const;
bool userOutputUsed() const;
bool isSpecializationOperation(const TIntermOperator&) const;
bool isNonuniformPropagating(TOperator) const;
@@ -1050,6 +1054,8 @@
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
// set of names of statically read/written I/O that might need extra checking
std::set<TString> ioAccessed;
// source code of shader, useful as part of debug information
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index 0f6e9f8..90f0538 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -240,6 +240,7 @@
"rayQuery-allOps.comp",
"rayQuery-allOps.frag",
"rayQuery-initialization.Error.comp",
+ "rayQuery-global.rgen",
"spv.set.vert",
"spv.double.comp",
"spv.100ops.frag",
@@ -557,6 +558,7 @@
"spv.ext.AnyHitShader.rahit",
"spv.ext.AnyHitShader_Errors.rahit",
"spv.ext.ClosestHitShader.rchit",
+ "spv.ext.ClosestHitShader_Subgroup.rchit",
"spv.ext.ClosestHitShader_Errors.rchit",
"spv.ext.IntersectShader.rint",
"spv.ext.IntersectShader_Errors.rint",
@@ -567,8 +569,13 @@
"spv.ext.RayCallable_Errors.rcall",
"spv.ext.RayConstants.rgen",
"spv.ext.RayGenShader.rgen",
+ "spv.ext.RayGenShader_Errors.rgen",
"spv.ext.RayGenShader11.rgen",
"spv.ext.RayGenShaderArray.rgen",
+ "spv.ext.RayGenSBTlayout.rgen",
+ "spv.ext.RayGenSBTlayout140.rgen",
+ "spv.ext.RayGenSBTlayout430.rgen",
+ "spv.ext.RayGenSBTlayoutscalar.rgen",
"spv.ext.World3x4.rahit",
})),
FileNameAsCustomTestSuffix
diff --git a/known_good.json b/known_good.json
index 5c498dc..ae9c279 100644
--- a/known_good.json
+++ b/known_good.json
@@ -5,14 +5,14 @@
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Tools",
"subdir" : "External/spirv-tools",
- "commit" : "56d0f50357a192602216bfc4873e714905323e35"
+ "commit" : "cd590fa3341284cd6d1ee82366155786cfd44c96"
},
{
"name" : "spirv-tools/external/spirv-headers",
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Headers",
"subdir" : "External/spirv-tools/external/spirv-headers",
- "commit" : "05836bdba63e7debce9fa9feaed42f20cd43af9d"
+ "commit" : "104ecc356c1bea4476320faca64440cd1df655a3"
}
]
}