diff --git a/SPIRV/GLSL.ext.NV.h b/SPIRV/GLSL.ext.NV.h index 6abc469b63a288e1d4b31b94343c563cb28cb428..102d645c0b04a75bc480d58a96e28e3ade8e8396 100644 --- a/SPIRV/GLSL.ext.NV.h +++ b/SPIRV/GLSL.ext.NV.h @@ -66,8 +66,8 @@ const char* const E_SPV_NV_shader_image_footprint = "SPV_NV_shader_image_footpri //SPV_NV_mesh_shader const char* const E_SPV_NV_mesh_shader = "SPV_NV_mesh_shader"; -//SPV_NVX_raytracing -const char* const E_SPV_NVX_raytracing = "SPV_NVX_raytracing"; +//SPV_NV_raytracing +const char* const E_SPV_NV_ray_tracing = "SPV_NV_ray_tracing"; //SPV_NV_shading_rate const char* const E_SPV_NV_shading_rate = "SPV_NV_shading_rate"; diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 21a8c0ca88a5ec56918525a941603ac78ea900b3..3d732d46fd5b36e513e220a978010958a0b3d748 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -276,12 +276,12 @@ spv::ExecutionModel TranslateExecutionModel(EShLanguage stage) case EShLangFragment: return spv::ExecutionModelFragment; case EShLangCompute: return spv::ExecutionModelGLCompute; #ifdef NV_EXTENSIONS - case EShLangRayGenNV: return spv::ExecutionModelRayGenerationNVX; - case EShLangIntersectNV: return spv::ExecutionModelIntersectionNVX; - case EShLangAnyHitNV: return spv::ExecutionModelAnyHitNVX; - case EShLangClosestHitNV: return spv::ExecutionModelClosestHitNVX; - case EShLangMissNV: return spv::ExecutionModelMissNVX; - case EShLangCallableNV: return spv::ExecutionModelCallableNVX; + case EShLangRayGenNV: return spv::ExecutionModelRayGenerationNV; + case EShLangIntersectNV: return spv::ExecutionModelIntersectionNV; + case EShLangAnyHitNV: return spv::ExecutionModelAnyHitNV; + case EShLangClosestHitNV: return spv::ExecutionModelClosestHitNV; + case EShLangMissNV: return spv::ExecutionModelMissNV; + case EShLangCallableNV: return spv::ExecutionModelCallableNV; case EShLangTaskNV: return spv::ExecutionModelTaskNV; case EShLangMeshNV: return spv::ExecutionModelMeshNV; #endif @@ -338,6 +338,8 @@ spv::Decoration TranslateBlockDecoration(const glslang::TType& type, bool useSto case glslang::EvqPayloadNV: return spv::DecorationBlock; case glslang::EvqPayloadInNV: return spv::DecorationBlock; case glslang::EvqHitAttrNV: return spv::DecorationBlock; + case glslang::EvqCallableDataNV: return spv::DecorationBlock; + case glslang::EvqCallableDataInNV: return spv::DecorationBlock; #endif default: assert(0); @@ -411,6 +413,8 @@ spv::Decoration TranslateLayoutDecoration(const glslang::TType& type, glslang::T case glslang::EvqPayloadNV: case glslang::EvqPayloadInNV: case glslang::EvqHitAttrNV: + case glslang::EvqCallableDataNV: + case glslang::EvqCallableDataInNV: return spv::DecorationMax; #endif default: @@ -875,31 +879,33 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI // raytracing case glslang::EbvLaunchIdNV: - return spv::BuiltInLaunchIdNVX; + return spv::BuiltInLaunchIdNV; case glslang::EbvLaunchSizeNV: - return spv::BuiltInLaunchSizeNVX; + return spv::BuiltInLaunchSizeNV; case glslang::EbvWorldRayOriginNV: - return spv::BuiltInWorldRayOriginNVX; + return spv::BuiltInWorldRayOriginNV; case glslang::EbvWorldRayDirectionNV: - return spv::BuiltInWorldRayDirectionNVX; + return spv::BuiltInWorldRayDirectionNV; case glslang::EbvObjectRayOriginNV: - return spv::BuiltInObjectRayOriginNVX; + return spv::BuiltInObjectRayOriginNV; case glslang::EbvObjectRayDirectionNV: - return spv::BuiltInObjectRayDirectionNVX; + return spv::BuiltInObjectRayDirectionNV; case glslang::EbvRayTminNV: - return spv::BuiltInRayTminNVX; + return spv::BuiltInRayTminNV; case glslang::EbvRayTmaxNV: - return spv::BuiltInRayTmaxNVX; + return spv::BuiltInRayTmaxNV; case glslang::EbvInstanceCustomIndexNV: - return spv::BuiltInInstanceCustomIndexNVX; + return spv::BuiltInInstanceCustomIndexNV; case glslang::EbvHitTNV: - return spv::BuiltInHitTNVX; + return spv::BuiltInHitTNV; case glslang::EbvHitKindNV: - return spv::BuiltInHitKindNVX; + return spv::BuiltInHitKindNV; case glslang::EbvObjectToWorldNV: - return spv::BuiltInObjectToWorldNVX; + return spv::BuiltInObjectToWorldNV; case glslang::EbvWorldToObjectNV: - return spv::BuiltInWorldToObjectNVX; + return spv::BuiltInWorldToObjectNV; + case glslang::EbvIncomingRayFlagsNV: + return spv::BuiltInIncomingRayFlagsNV; case glslang::EbvBaryCoordNV: builder.addExtension(spv::E_SPV_NV_fragment_shader_barycentric); builder.addCapability(spv::CapabilityFragmentBarycentricNV); @@ -1082,7 +1088,7 @@ spv::StorageClass TGlslangToSpvTraverser::TranslateStorageClass(const glslang::T return spv::StorageClassPushConstant; #ifdef NV_EXTENSIONS if (type.getQualifier().layoutShaderRecordNV) - return spv::StorageClassShaderRecordBufferNVX; + return spv::StorageClassShaderRecordBufferNV; #endif if (type.getBasicType() == glslang::EbtBlock) return spv::StorageClassUniform; @@ -1095,9 +1101,11 @@ spv::StorageClass TGlslangToSpvTraverser::TranslateStorageClass(const glslang::T case glslang::EvqConstReadOnly: return spv::StorageClassFunction; case glslang::EvqTemporary: return spv::StorageClassFunction; #ifdef NV_EXTENSIONS - case glslang::EvqPayloadNV: return spv::StorageClassRayPayloadNVX; - case glslang::EvqPayloadInNV: return spv::StorageClassIncomingRayPayloadNVX; - case glslang::EvqHitAttrNV: return spv::StorageClassHitAttributeNVX; + case glslang::EvqPayloadNV: return spv::StorageClassRayPayloadNV; + case glslang::EvqPayloadInNV: return spv::StorageClassIncomingRayPayloadNV; + case glslang::EvqHitAttrNV: return spv::StorageClassHitAttributeNV; + case glslang::EvqCallableDataNV: return spv::StorageClassCallableDataNV; + case glslang::EvqCallableDataInNV: return spv::StorageClassIncomingCallableDataNV; #endif default: assert(0); @@ -1430,8 +1438,8 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion, const gl case EShLangClosestHitNV: case EShLangMissNV: case EShLangCallableNV: - builder.addCapability(spv::CapabilityRaytracingNVX); - builder.addExtension("SPV_NVX_raytracing"); + builder.addCapability(spv::CapabilityRayTracingNV); + builder.addExtension("SPV_NV_ray_tracing"); break; case EShLangTaskNV: case EShLangMeshNV: @@ -2267,6 +2275,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt case glslang::EOpIgnoreIntersectionNV: case glslang::EOpTerminateRayNV: case glslang::EOpTraceNV: + case glslang::EOpExecuteCallableNV: case glslang::EOpWritePackedPrimitiveIndices4x8NV: noReturnValue = true; break; @@ -6871,12 +6880,18 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv:: case glslang::EOpReportIntersectionNV: { typeId = builder.makeBoolType(); - opCode = spv::OpReportIntersectionNVX; + opCode = spv::OpReportIntersectionNV; } break; case glslang::EOpTraceNV: { - builder.createNoResultOp(spv::OpTraceNVX, operands); + builder.createNoResultOp(spv::OpTraceNV, operands); + return 0; + } + break; + case glslang::EOpExecuteCallableNV: + { + builder.createNoResultOp(spv::OpExecuteCallableNV, operands); return 0; } break; @@ -7060,10 +7075,10 @@ spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op, spv: #endif #ifdef NV_EXTENSIONS case glslang::EOpIgnoreIntersectionNV: - builder.createNoResultOp(spv::OpIgnoreIntersectionNVX); + builder.createNoResultOp(spv::OpIgnoreIntersectionNV); return 0; case glslang::EOpTerminateRayNV: - builder.createNoResultOp(spv::OpTerminateRayNVX); + builder.createNoResultOp(spv::OpTerminateRayNV); return 0; #endif default: diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index 7d779346aa11e0c5353457a5821f6fdabb04d264..8755d9eacf07beeeed072fe77e7af6bb660a3969 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -507,12 +507,12 @@ Id Builder::makeSampledImageType(Id imageType) Id Builder::makeAccelerationStructureNVType() { Instruction *type; - if (groupedTypes[OpTypeAccelerationStructureNVX].size() == 0) { - type = new Instruction(getUniqueId(), NoType, OpTypeAccelerationStructureNVX); + if (groupedTypes[OpTypeAccelerationStructureNV].size() == 0) { + type = new Instruction(getUniqueId(), NoType, OpTypeAccelerationStructureNV); constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type)); module.mapInstruction(type); } else { - type = groupedTypes[OpTypeAccelerationStructureNVX].back(); + type = groupedTypes[OpTypeAccelerationStructureNV].back(); } return type->getResultId(); diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp index dbbe97dde58b21b73ce03dee3dbc3c11ef63c1d8..4f7c1989bf6f0ce5f259009050d7b445e0ccdd6e 100644 --- a/SPIRV/doc.cpp +++ b/SPIRV/doc.cpp @@ -106,12 +106,12 @@ const char* ExecutionModelString(int model) default: return "Bad"; #ifdef NV_EXTENSIONS - case ExecutionModelRayGenerationNVX: return "RayGenerationNVX"; - case ExecutionModelIntersectionNVX: return "IntersectionNVX"; - case ExecutionModelAnyHitNVX: return "AnyHitNVX"; - case ExecutionModelClosestHitNVX: return "ClosestHitNVX"; - case ExecutionModelMissNVX: return "MissNVX"; - case ExecutionModelCallableNVX: return "CallableNVX"; + case ExecutionModelRayGenerationNV: return "RayGenerationNV"; + case ExecutionModelIntersectionNV: return "IntersectionNV"; + case ExecutionModelAnyHitNV: return "AnyHitNV"; + case ExecutionModelClosestHitNV: return "ClosestHitNV"; + case ExecutionModelMissNV: return "MissNV"; + case ExecutionModelCallableNV: return "CallableNV"; #endif } @@ -212,10 +212,12 @@ const char* StorageClassString(int StorageClass) case 12: return "StorageBuffer"; #ifdef NV_EXTENSIONS - case StorageClassRayPayloadNVX: return "RayPayloadNVX"; - case StorageClassHitAttributeNVX: return "HitAttributeNVX"; - case StorageClassIncomingRayPayloadNVX: return "IncomingRayPayloadNVX"; - case StorageClassShaderRecordBufferNVX: return "ShaderRecordBufferNVX"; + case StorageClassRayPayloadNV: return "RayPayloadNV"; + case StorageClassHitAttributeNV: return "HitAttributeNV"; + case StorageClassIncomingRayPayloadNV: return "IncomingRayPayloadNV"; + case StorageClassShaderRecordBufferNV: return "ShaderRecordBufferNV"; + case StorageClassCallableDataNV: return "CallableDataNV"; + case StorageClassIncomingCallableDataNV: return "IncomingCallableDataNV"; #endif default: return "Bad"; @@ -367,19 +369,20 @@ const char* BuiltInString(int builtIn) #endif #ifdef NV_EXTENSIONS - case BuiltInLaunchIdNVX: return "LaunchIdNVX"; - case BuiltInLaunchSizeNVX: return "LaunchSizeNVX"; - case BuiltInWorldRayOriginNVX: return "WorldRayOriginNVX"; - case BuiltInWorldRayDirectionNVX: return "WorldRayDirectionNVX"; - case BuiltInObjectRayOriginNVX: return "ObjectRayOriginNVX"; - case BuiltInObjectRayDirectionNVX: return "ObjectRayDirectionNVX"; - case BuiltInRayTminNVX: return "RayTminNVX"; - case BuiltInRayTmaxNVX: return "RayTmaxNVX"; - case BuiltInInstanceCustomIndexNVX: return "InstanceCustomIndexNVX"; - case BuiltInObjectToWorldNVX: return "ObjectToWorldNVX"; - case BuiltInWorldToObjectNVX: return "WorldToObjectNVX"; - case BuiltInHitTNVX: return "HitTNVX"; - case BuiltInHitKindNVX: return "HitKindNVX"; + case BuiltInLaunchIdNV: return "LaunchIdNV"; + case BuiltInLaunchSizeNV: return "LaunchSizeNV"; + case BuiltInWorldRayOriginNV: return "WorldRayOriginNV"; + case BuiltInWorldRayDirectionNV: return "WorldRayDirectionNV"; + case BuiltInObjectRayOriginNV: return "ObjectRayOriginNV"; + case BuiltInObjectRayDirectionNV: return "ObjectRayDirectionNV"; + case BuiltInRayTminNV: return "RayTminNV"; + case BuiltInRayTmaxNV: return "RayTmaxNV"; + case BuiltInInstanceCustomIndexNV: return "InstanceCustomIndexNV"; + case BuiltInObjectToWorldNV: return "ObjectToWorldNV"; + case BuiltInWorldToObjectNV: return "WorldToObjectNV"; + case BuiltInHitTNV: return "HitTNV"; + case BuiltInHitKindNV: return "HitKindNV"; + case BuiltInIncomingRayFlagsNV: return "IncomingRayFlagsNV"; case BuiltInViewportMaskNV: return "ViewportMaskNV"; case BuiltInSecondaryPositionNV: return "SecondaryPositionNV"; case BuiltInSecondaryViewportMaskNV: return "SecondaryViewportMaskNV"; @@ -889,7 +892,7 @@ const char* CapabilityString(int info) case CapabilityShaderStereoViewNV: return "ShaderStereoViewNV"; case CapabilityPerViewAttributesNV: return "PerViewAttributesNV"; case CapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV"; - case CapabilityRaytracingNVX: return "RaytracingNVX"; + case CapabilityRayTracingNV: return "RayTracingNV"; case CapabilityComputeDerivativeGroupQuadsNV: return "ComputeDerivativeGroupQuadsNV"; case CapabilityComputeDerivativeGroupLinearNV: return "ComputeDerivativeGroupLinearNV"; case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV"; @@ -1308,11 +1311,12 @@ const char* OpcodeString(int op) #ifdef NV_EXTENSIONS case OpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV"; - case OpReportIntersectionNVX: return "OpReportIntersectionNVX"; - case OpIgnoreIntersectionNVX: return "OpIgnoreIntersectionNVX"; - case OpTerminateRayNVX: return "OpTerminateRayNVX"; - case OpTraceNVX: return "OpTraceNVX"; - case OpTypeAccelerationStructureNVX: return "OpTypeAccelerationStructureNVX"; + case OpReportIntersectionNV: return "OpReportIntersectionNV"; + case OpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV"; + case OpTerminateRayNV: return "OpTerminateRayNV"; + case OpTraceNV: return "OpTraceNV"; + case OpTypeAccelerationStructureNV: return "OpTypeAccelerationStructureNV"; + case OpExecuteCallableNV: return "OpExecuteCallableNV"; case OpImageSampleFootprintNV: return "OpImageSampleFootprintNV"; case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV"; #endif @@ -2662,28 +2666,32 @@ void Parameterize() #ifdef NV_EXTENSIONS InstructionDesc[OpGroupNonUniformPartitionNV].operands.push(OperandId, "X"); - InstructionDesc[OpTypeAccelerationStructureNVX].setResultAndType(true, false); + InstructionDesc[OpTypeAccelerationStructureNV].setResultAndType(true, false); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'NV Acceleration Structure'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Ray Flags'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Cull Mask'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'SBT Record Offset'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'SBT Record Stride'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Miss Index'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Ray Origin'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'TMin'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Ray Direction'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'TMax'"); - InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Payload'"); - InstructionDesc[OpTraceNVX].setResultAndType(false, false); + InstructionDesc[OpTraceNV].operands.push(OperandId, "'NV 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[OpReportIntersectionNVX].operands.push(OperandId, "'Hit Parameter'"); - InstructionDesc[OpReportIntersectionNVX].operands.push(OperandId, "'Hit Kind'"); + InstructionDesc[OpReportIntersectionNV].operands.push(OperandId, "'Hit Parameter'"); + InstructionDesc[OpReportIntersectionNV].operands.push(OperandId, "'Hit Kind'"); - InstructionDesc[OpIgnoreIntersectionNVX].setResultAndType(false, false); + InstructionDesc[OpIgnoreIntersectionNV].setResultAndType(false, false); - InstructionDesc[OpTerminateRayNVX].setResultAndType(false, false); + InstructionDesc[OpTerminateRayNV].setResultAndType(false, false); + InstructionDesc[OpExecuteCallableNV].operands.push(OperandId, "SBT Record Index"); + InstructionDesc[OpExecuteCallableNV].operands.push(OperandId, "CallableData ID"); + InstructionDesc[OpExecuteCallableNV].setResultAndType(false, false); + InstructionDesc[OpImageSampleFootprintNV].operands.push(OperandId, "'Sampled Image'"); InstructionDesc[OpImageSampleFootprintNV].operands.push(OperandId, "'Coordinate'"); InstructionDesc[OpImageSampleFootprintNV].operands.push(OperandId, "'Granularity'"); diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp index 14605b82ad45b7443a099524027a9b51584d97ea..25b5ce9e9917ad5e21175953453f64e997b8fcda 100644 --- a/SPIRV/spirv.hpp +++ b/SPIRV/spirv.hpp @@ -75,12 +75,12 @@ enum ExecutionModel { ExecutionModelKernel = 6, ExecutionModelTaskNV = 5267, ExecutionModelMeshNV = 5268, - ExecutionModelRayGenerationNVX = 5313, - ExecutionModelIntersectionNVX = 5314, - ExecutionModelAnyHitNVX = 5315, - ExecutionModelClosestHitNVX = 5316, - ExecutionModelMissNVX = 5317, - ExecutionModelCallableNVX = 5318, + ExecutionModelRayGenerationNV = 5313, + ExecutionModelIntersectionNV = 5314, + ExecutionModelAnyHitNV = 5315, + ExecutionModelClosestHitNV = 5316, + ExecutionModelMissNV = 5317, + ExecutionModelCallableNV = 5318, ExecutionModelMax = 0x7fffffff, }; @@ -162,10 +162,12 @@ enum StorageClass { StorageClassAtomicCounter = 10, StorageClassImage = 11, StorageClassStorageBuffer = 12, - StorageClassRayPayloadNVX = 5338, - StorageClassHitAttributeNVX = 5339, - StorageClassIncomingRayPayloadNVX = 5342, - StorageClassShaderRecordBufferNVX = 5343, + StorageClassCallableDataNV = 5328, + StorageClassIncomingCallableDataNV = 5329, + StorageClassRayPayloadNV = 5338, + StorageClassHitAttributeNV = 5339, + StorageClassIncomingRayPayloadNV = 5342, + StorageClassShaderRecordBufferNV = 5343, StorageClassMax = 0x7fffffff, }; @@ -512,19 +514,20 @@ enum BuiltIn { BuiltInBaryCoordNoPerspNV = 5287, BuiltInFragmentSizeNV = 5292, BuiltInInvocationsPerPixelNV = 5293, - BuiltInLaunchIdNVX = 5319, - BuiltInLaunchSizeNVX = 5320, - BuiltInWorldRayOriginNVX = 5321, - BuiltInWorldRayDirectionNVX = 5322, - BuiltInObjectRayOriginNVX = 5323, - BuiltInObjectRayDirectionNVX = 5324, - BuiltInRayTminNVX = 5325, - BuiltInRayTmaxNVX = 5326, - BuiltInInstanceCustomIndexNVX = 5327, - BuiltInObjectToWorldNVX = 5330, - BuiltInWorldToObjectNVX = 5331, - BuiltInHitTNVX = 5332, - BuiltInHitKindNVX = 5333, + BuiltInLaunchIdNV = 5319, + BuiltInLaunchSizeNV = 5320, + BuiltInWorldRayOriginNV = 5321, + BuiltInWorldRayDirectionNV = 5322, + BuiltInObjectRayOriginNV = 5323, + BuiltInObjectRayDirectionNV = 5324, + BuiltInRayTminNV = 5325, + BuiltInRayTmaxNV = 5326, + BuiltInInstanceCustomIndexNV = 5327, + BuiltInObjectToWorldNV = 5330, + BuiltInWorldToObjectNV = 5331, + BuiltInHitTNV = 5332, + BuiltInHitKindNV = 5333, + BuiltInIncomingRayFlagsNV = 5351, BuiltInMax = 0x7fffffff, }; @@ -781,7 +784,7 @@ enum Capability { CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310, CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311, CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312, - CapabilityRaytracingNVX = 5340, + CapabilityRayTracingNV = 5340, CapabilityVulkanMemoryModelKHR = 5345, CapabilityVulkanMemoryModelDeviceScopeKHR = 5346, CapabilityComputeDerivativeGroupLinearNV = 5350, @@ -1151,11 +1154,12 @@ enum Op { OpImageSampleFootprintNV = 5283, OpGroupNonUniformPartitionNV = 5296, OpWritePackedPrimitiveIndices4x8NV = 5299, - OpReportIntersectionNVX = 5334, - OpIgnoreIntersectionNVX = 5335, - OpTerminateRayNVX = 5336, - OpTraceNVX = 5337, - OpTypeAccelerationStructureNVX = 5341, + OpReportIntersectionNV = 5334, + OpIgnoreIntersectionNV = 5335, + OpTerminateRayNV = 5336, + OpTraceNV = 5337, + OpTypeAccelerationStructureNV = 5341, + OpExecuteCallableNV = 5344, OpSubgroupShuffleINTEL = 5571, OpSubgroupShuffleDownINTEL = 5572, OpSubgroupShuffleUpINTEL = 5573, diff --git a/Test/baseResults/spv.AnyHitShader.rahit.out b/Test/baseResults/spv.AnyHitShader.rahit.out index 1dd88b303a84735cddc895a9e0c56e2137117b74..92b31d0849614fd826d2d1937849ee84bb9faa2a 100644 --- a/Test/baseResults/spv.AnyHitShader.rahit.out +++ b/Test/baseResults/spv.AnyHitShader.rahit.out @@ -3,99 +3,99 @@ spv.AnyHitShader.rahit // Generated by (magic number): 80007 // Id's are bound by 81 - Capability RaytracingNVX - Extension "SPV_NVX_raytracing" + Capability RayTracingNV + Extension "SPV_NV_ray_tracing" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint AnyHitNVX 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 + EntryPoint AnyHitNV 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 Source GLSL 460 - SourceExtension "GL_NVX_raytracing" + SourceExtension "GL_NV_ray_tracing" Name 4 "main" Name 9 "v0" - Name 11 "gl_LaunchIDNVX" + Name 11 "gl_LaunchIDNV" Name 13 "v1" - Name 14 "gl_LaunchSizeNVX" + Name 14 "gl_LaunchSizeNV" Name 18 "v2" Name 20 "gl_PrimitiveID" Name 22 "v3" Name 23 "gl_InstanceID" Name 25 "v4" - Name 26 "gl_InstanceCustomIndexNVX" + Name 26 "gl_InstanceCustomIndexNV" Name 31 "v5" - Name 33 "gl_WorldRayOriginNVX" + Name 33 "gl_WorldRayOriginNV" Name 35 "v6" - Name 36 "gl_WorldRayDirectionNVX" + Name 36 "gl_WorldRayDirectionNV" Name 38 "v7" - Name 39 "gl_ObjectRayOriginNVX" + Name 39 "gl_ObjectRayOriginNV" Name 41 "v8" - Name 42 "gl_ObjectRayDirectionNVX" + Name 42 "gl_ObjectRayDirectionNV" Name 45 "v9" - Name 47 "gl_RayTminNVX" + Name 47 "gl_RayTminNV" Name 49 "v10" - Name 50 "gl_RayTmaxNVX" + Name 50 "gl_RayTmaxNV" Name 52 "v11" - Name 53 "gl_HitTNVX" + Name 53 "gl_HitTNV" Name 56 "v12" - Name 58 "gl_HitKindNVX" + Name 58 "gl_HitKindNV" Name 62 "v13" - Name 64 "gl_ObjectToWorldNVX" + Name 64 "gl_ObjectToWorldNV" Name 66 "v14" - Name 67 "gl_WorldToObjectNVX" + Name 67 "gl_WorldToObjectNV" Name 71 "incomingPayload" - Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX - Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX + Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV + Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 23(gl_InstanceID) BuiltIn InstanceId - Decorate 26(gl_InstanceCustomIndexNVX) BuiltIn InstanceCustomIndexNVX - Decorate 33(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX - Decorate 36(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX - Decorate 39(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX - Decorate 42(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX - Decorate 47(gl_RayTminNVX) BuiltIn RayTminNVX - Decorate 50(gl_RayTmaxNVX) BuiltIn RayTmaxNVX - Decorate 53(gl_HitTNVX) BuiltIn HitTNVX - Decorate 58(gl_HitKindNVX) BuiltIn HitKindNVX - Decorate 64(gl_ObjectToWorldNVX) BuiltIn ObjectToWorldNVX - Decorate 67(gl_WorldToObjectNVX) BuiltIn WorldToObjectNVX + Decorate 26(gl_InstanceCustomIndexNV) BuiltIn InstanceCustomIndexNV + Decorate 33(gl_WorldRayOriginNV) BuiltIn WorldRayOriginNV + Decorate 36(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionNV + Decorate 39(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginNV + Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionNV + Decorate 47(gl_RayTminNV) BuiltIn RayTminNV + Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxNV + Decorate 53(gl_HitTNV) BuiltIn HitTNV + Decorate 58(gl_HitKindNV) BuiltIn HitKindNV + Decorate 64(gl_ObjectToWorldNV) BuiltIn ObjectToWorldNV + Decorate 67(gl_WorldToObjectNV) BuiltIn WorldToObjectNV Decorate 71(incomingPayload) Location 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 - 7: TypeVector 6(int) 2 - 8: TypePointer Function 7(ivec2) - 10: TypePointer Input 7(ivec2) -11(gl_LaunchIDNVX): 10(ptr) Variable Input -14(gl_LaunchSizeNVX): 10(ptr) Variable Input + 7: TypeVector 6(int) 3 + 8: TypePointer Function 7(ivec3) + 10: TypePointer Input 7(ivec3) +11(gl_LaunchIDNV): 10(ptr) Variable Input +14(gl_LaunchSizeNV): 10(ptr) Variable Input 16: TypeInt 32 1 17: TypePointer Function 16(int) 19: TypePointer Input 16(int) 20(gl_PrimitiveID): 19(ptr) Variable Input 23(gl_InstanceID): 19(ptr) Variable Input -26(gl_InstanceCustomIndexNVX): 19(ptr) Variable Input +26(gl_InstanceCustomIndexNV): 19(ptr) Variable Input 28: TypeFloat 32 29: TypeVector 28(float) 3 30: TypePointer Function 29(fvec3) 32: TypePointer Input 29(fvec3) -33(gl_WorldRayOriginNVX): 32(ptr) Variable Input -36(gl_WorldRayDirectionNVX): 32(ptr) Variable Input -39(gl_ObjectRayOriginNVX): 32(ptr) Variable Input -42(gl_ObjectRayDirectionNVX): 32(ptr) Variable Input +33(gl_WorldRayOriginNV): 32(ptr) Variable Input +36(gl_WorldRayDirectionNV): 32(ptr) Variable Input +39(gl_ObjectRayOriginNV): 32(ptr) Variable Input +42(gl_ObjectRayDirectionNV): 32(ptr) Variable Input 44: TypePointer Function 28(float) 46: TypePointer Input 28(float) -47(gl_RayTminNVX): 46(ptr) Variable Input -50(gl_RayTmaxNVX): 46(ptr) Variable Input - 53(gl_HitTNVX): 46(ptr) Variable Input +47(gl_RayTminNV): 46(ptr) Variable Input +50(gl_RayTmaxNV): 46(ptr) Variable Input + 53(gl_HitTNV): 46(ptr) Variable Input 55: TypePointer Function 6(int) 57: TypePointer Input 6(int) -58(gl_HitKindNVX): 57(ptr) Variable Input +58(gl_HitKindNV): 57(ptr) Variable Input 60: TypeMatrix 29(fvec3) 4 61: TypePointer Function 60 63: TypePointer Input 60 -64(gl_ObjectToWorldNVX): 63(ptr) Variable Input -67(gl_WorldToObjectNVX): 63(ptr) Variable Input +64(gl_ObjectToWorldNV): 63(ptr) Variable Input +67(gl_WorldToObjectNV): 63(ptr) Variable Input 69: TypeVector 28(float) 4 - 70: TypePointer IncomingRayPayloadNVX 69(fvec4) -71(incomingPayload): 70(ptr) Variable IncomingRayPayloadNVX + 70: TypePointer IncomingRayPayloadNV 69(fvec4) +71(incomingPayload): 70(ptr) Variable IncomingRayPayloadNV 72: 28(float) Constant 1056964608 73: 69(fvec4) ConstantComposite 72 72 72 72 75: 16(int) Constant 1 @@ -117,35 +117,35 @@ spv.AnyHitShader.rahit 56(v12): 55(ptr) Variable Function 62(v13): 61(ptr) Variable Function 66(v14): 61(ptr) Variable Function - 12: 7(ivec2) Load 11(gl_LaunchIDNVX) + 12: 7(ivec3) Load 11(gl_LaunchIDNV) Store 9(v0) 12 - 15: 7(ivec2) Load 14(gl_LaunchSizeNVX) + 15: 7(ivec3) Load 14(gl_LaunchSizeNV) Store 13(v1) 15 21: 16(int) Load 20(gl_PrimitiveID) Store 18(v2) 21 24: 16(int) Load 23(gl_InstanceID) Store 22(v3) 24 - 27: 16(int) Load 26(gl_InstanceCustomIndexNVX) + 27: 16(int) Load 26(gl_InstanceCustomIndexNV) Store 25(v4) 27 - 34: 29(fvec3) Load 33(gl_WorldRayOriginNVX) + 34: 29(fvec3) Load 33(gl_WorldRayOriginNV) Store 31(v5) 34 - 37: 29(fvec3) Load 36(gl_WorldRayDirectionNVX) + 37: 29(fvec3) Load 36(gl_WorldRayDirectionNV) Store 35(v6) 37 - 40: 29(fvec3) Load 39(gl_ObjectRayOriginNVX) + 40: 29(fvec3) Load 39(gl_ObjectRayOriginNV) Store 38(v7) 40 - 43: 29(fvec3) Load 42(gl_ObjectRayDirectionNVX) + 43: 29(fvec3) Load 42(gl_ObjectRayDirectionNV) Store 41(v8) 43 - 48: 28(float) Load 47(gl_RayTminNVX) + 48: 28(float) Load 47(gl_RayTminNV) Store 45(v9) 48 - 51: 28(float) Load 50(gl_RayTmaxNVX) + 51: 28(float) Load 50(gl_RayTmaxNV) Store 49(v10) 51 - 54: 28(float) Load 53(gl_HitTNVX) + 54: 28(float) Load 53(gl_HitTNV) Store 52(v11) 54 - 59: 6(int) Load 58(gl_HitKindNVX) + 59: 6(int) Load 58(gl_HitKindNV) Store 56(v12) 59 - 65: 60 Load 64(gl_ObjectToWorldNVX) + 65: 60 Load 64(gl_ObjectToWorldNV) Store 62(v13) 65 - 68: 60 Load 67(gl_WorldToObjectNVX) + 68: 60 Load 67(gl_WorldToObjectNV) Store 66(v14) 68 Store 71(incomingPayload) 73 74: 16(int) Load 18(v2) @@ -153,10 +153,10 @@ spv.AnyHitShader.rahit SelectionMerge 79 None BranchConditional 77 78 80 78: Label - IgnoreIntersectionNVX + IgnoreIntersectionNV Branch 79 80: Label - TerminateRayNVX + TerminateRayNV Branch 79 79: Label Return diff --git a/Test/baseResults/spv.AnyHitShader_Errors.rahit.out b/Test/baseResults/spv.AnyHitShader_Errors.rahit.out index 5a863be4fce05313acdd2c4edd770f27d7c8f60b..e9bab08257a76e27efa457570fdbf3da8d7d9239 100644 --- a/Test/baseResults/spv.AnyHitShader_Errors.rahit.out +++ b/Test/baseResults/spv.AnyHitShader_Errors.rahit.out @@ -1,7 +1,7 @@ spv.AnyHitShader_Errors.rahit -ERROR: 0:8: 'assign' : l-value required "payload" (cannot modify hitAttributeNVX in this stage) -ERROR: 0:9: 'reportIntersectionNVX' : no matching overloaded function found -ERROR: 0:10: 'traceNVX' : no matching overloaded function found +ERROR: 0:8: 'assign' : l-value required "payload" (cannot modify hitAttributeNV in this stage) +ERROR: 0:9: 'reportIntersectionNV' : no matching overloaded function found +ERROR: 0:10: 'traceNV' : no matching overloaded function found ERROR: 3 compilation errors. No code generated. diff --git a/Test/baseResults/spv.ClosestHitShader.rchit.out b/Test/baseResults/spv.ClosestHitShader.rchit.out index 5a1d7fcb998e1ed5225936b267896ef15a92014f..b461462ee494a6ef235a6ed1b0ee7e7947698d40 100644 --- a/Test/baseResults/spv.ClosestHitShader.rchit.out +++ b/Test/baseResults/spv.ClosestHitShader.rchit.out @@ -3,62 +3,62 @@ spv.ClosestHitShader.rchit // Generated by (magic number): 80007 // Id's are bound by 88 - Capability RaytracingNVX - Extension "SPV_NVX_raytracing" + Capability RayTracingNV + Extension "SPV_NV_ray_tracing" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint ClosestHitNVX 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 + EntryPoint ClosestHitNV 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 Source GLSL 460 - SourceExtension "GL_NVX_raytracing" + SourceExtension "GL_NV_ray_tracing" Name 4 "main" Name 9 "v0" - Name 11 "gl_LaunchIDNVX" + Name 11 "gl_LaunchIDNV" Name 13 "v1" - Name 14 "gl_LaunchSizeNVX" + Name 14 "gl_LaunchSizeNV" Name 18 "v2" Name 20 "gl_PrimitiveID" Name 22 "v3" Name 23 "gl_InstanceID" Name 25 "v4" - Name 26 "gl_InstanceCustomIndexNVX" + Name 26 "gl_InstanceCustomIndexNV" Name 31 "v5" - Name 33 "gl_WorldRayOriginNVX" + Name 33 "gl_WorldRayOriginNV" Name 35 "v6" - Name 36 "gl_WorldRayDirectionNVX" + Name 36 "gl_WorldRayDirectionNV" Name 38 "v7" - Name 39 "gl_ObjectRayOriginNVX" + Name 39 "gl_ObjectRayOriginNV" Name 41 "v8" - Name 42 "gl_ObjectRayDirectionNVX" + Name 42 "gl_ObjectRayDirectionNV" Name 45 "v9" - Name 47 "gl_RayTminNVX" + Name 47 "gl_RayTminNV" Name 49 "v10" - Name 50 "gl_RayTmaxNVX" + Name 50 "gl_RayTmaxNV" Name 52 "v11" - Name 53 "gl_HitTNVX" + Name 53 "gl_HitTNV" Name 56 "v12" - Name 58 "gl_HitKindNVX" + Name 58 "gl_HitKindNV" Name 62 "v13" - Name 64 "gl_ObjectToWorldNVX" + Name 64 "gl_ObjectToWorldNV" Name 66 "v14" - Name 67 "gl_WorldToObjectNVX" + Name 67 "gl_WorldToObjectNV" Name 71 "accNV" Name 85 "localPayload" Name 87 "incomingPayload" - Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX - Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX + Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV + Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 23(gl_InstanceID) BuiltIn InstanceId - Decorate 26(gl_InstanceCustomIndexNVX) BuiltIn InstanceCustomIndexNVX - Decorate 33(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX - Decorate 36(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX - Decorate 39(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX - Decorate 42(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX - Decorate 47(gl_RayTminNVX) BuiltIn RayTminNVX - Decorate 50(gl_RayTmaxNVX) BuiltIn RayTmaxNVX - Decorate 53(gl_HitTNVX) BuiltIn HitTNVX - Decorate 58(gl_HitKindNVX) BuiltIn HitKindNVX - Decorate 64(gl_ObjectToWorldNVX) BuiltIn ObjectToWorldNVX - Decorate 67(gl_WorldToObjectNVX) BuiltIn WorldToObjectNVX + Decorate 26(gl_InstanceCustomIndexNV) BuiltIn InstanceCustomIndexNV + Decorate 33(gl_WorldRayOriginNV) BuiltIn WorldRayOriginNV + Decorate 36(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionNV + Decorate 39(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginNV + Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionNV + Decorate 47(gl_RayTminNV) BuiltIn RayTminNV + Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxNV + Decorate 53(gl_HitTNV) BuiltIn HitTNV + Decorate 58(gl_HitKindNV) BuiltIn HitKindNV + Decorate 64(gl_ObjectToWorldNV) BuiltIn ObjectToWorldNV + Decorate 67(gl_WorldToObjectNV) BuiltIn WorldToObjectNV Decorate 71(accNV) DescriptorSet 0 Decorate 71(accNV) Binding 0 Decorate 85(localPayload) Location 0 @@ -66,39 +66,39 @@ spv.ClosestHitShader.rchit 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 - 7: TypeVector 6(int) 2 - 8: TypePointer Function 7(ivec2) - 10: TypePointer Input 7(ivec2) -11(gl_LaunchIDNVX): 10(ptr) Variable Input -14(gl_LaunchSizeNVX): 10(ptr) Variable Input + 7: TypeVector 6(int) 3 + 8: TypePointer Function 7(ivec3) + 10: TypePointer Input 7(ivec3) +11(gl_LaunchIDNV): 10(ptr) Variable Input +14(gl_LaunchSizeNV): 10(ptr) Variable Input 16: TypeInt 32 1 17: TypePointer Function 16(int) 19: TypePointer Input 16(int) 20(gl_PrimitiveID): 19(ptr) Variable Input 23(gl_InstanceID): 19(ptr) Variable Input -26(gl_InstanceCustomIndexNVX): 19(ptr) Variable Input +26(gl_InstanceCustomIndexNV): 19(ptr) Variable Input 28: TypeFloat 32 29: TypeVector 28(float) 3 30: TypePointer Function 29(fvec3) 32: TypePointer Input 29(fvec3) -33(gl_WorldRayOriginNVX): 32(ptr) Variable Input -36(gl_WorldRayDirectionNVX): 32(ptr) Variable Input -39(gl_ObjectRayOriginNVX): 32(ptr) Variable Input -42(gl_ObjectRayDirectionNVX): 32(ptr) Variable Input +33(gl_WorldRayOriginNV): 32(ptr) Variable Input +36(gl_WorldRayDirectionNV): 32(ptr) Variable Input +39(gl_ObjectRayOriginNV): 32(ptr) Variable Input +42(gl_ObjectRayDirectionNV): 32(ptr) Variable Input 44: TypePointer Function 28(float) 46: TypePointer Input 28(float) -47(gl_RayTminNVX): 46(ptr) Variable Input -50(gl_RayTmaxNVX): 46(ptr) Variable Input - 53(gl_HitTNVX): 46(ptr) Variable Input +47(gl_RayTminNV): 46(ptr) Variable Input +50(gl_RayTmaxNV): 46(ptr) Variable Input + 53(gl_HitTNV): 46(ptr) Variable Input 55: TypePointer Function 6(int) 57: TypePointer Input 6(int) -58(gl_HitKindNVX): 57(ptr) Variable Input +58(gl_HitKindNV): 57(ptr) Variable Input 60: TypeMatrix 29(fvec3) 4 61: TypePointer Function 60 63: TypePointer Input 60 -64(gl_ObjectToWorldNVX): 63(ptr) Variable Input -67(gl_WorldToObjectNVX): 63(ptr) Variable Input - 69: TypeAccelerationStructureNVX +64(gl_ObjectToWorldNV): 63(ptr) Variable Input +67(gl_WorldToObjectNV): 63(ptr) Variable Input + 69: TypeAccelerationStructureNV 70: TypePointer UniformConstant 69 71(accNV): 70(ptr) Variable UniformConstant 73: 6(int) Constant 0 @@ -112,10 +112,10 @@ spv.ClosestHitShader.rchit 81: 28(float) Constant 1061158912 82: 16(int) Constant 1 83: TypeVector 28(float) 4 - 84: TypePointer RayPayloadNVX 83(fvec4) -85(localPayload): 84(ptr) Variable RayPayloadNVX - 86: TypePointer IncomingRayPayloadNVX 83(fvec4) -87(incomingPayload): 86(ptr) Variable IncomingRayPayloadNVX + 84: TypePointer RayPayloadNV 83(fvec4) +85(localPayload): 84(ptr) Variable RayPayloadNV + 86: TypePointer IncomingRayPayloadNV 83(fvec4) +87(incomingPayload): 86(ptr) Variable IncomingRayPayloadNV 4(main): 2 Function None 3 5: Label 9(v0): 8(ptr) Variable Function @@ -133,37 +133,37 @@ spv.ClosestHitShader.rchit 56(v12): 55(ptr) Variable Function 62(v13): 61(ptr) Variable Function 66(v14): 61(ptr) Variable Function - 12: 7(ivec2) Load 11(gl_LaunchIDNVX) + 12: 7(ivec3) Load 11(gl_LaunchIDNV) Store 9(v0) 12 - 15: 7(ivec2) Load 14(gl_LaunchSizeNVX) + 15: 7(ivec3) Load 14(gl_LaunchSizeNV) Store 13(v1) 15 21: 16(int) Load 20(gl_PrimitiveID) Store 18(v2) 21 24: 16(int) Load 23(gl_InstanceID) Store 22(v3) 24 - 27: 16(int) Load 26(gl_InstanceCustomIndexNVX) + 27: 16(int) Load 26(gl_InstanceCustomIndexNV) Store 25(v4) 27 - 34: 29(fvec3) Load 33(gl_WorldRayOriginNVX) + 34: 29(fvec3) Load 33(gl_WorldRayOriginNV) Store 31(v5) 34 - 37: 29(fvec3) Load 36(gl_WorldRayDirectionNVX) + 37: 29(fvec3) Load 36(gl_WorldRayDirectionNV) Store 35(v6) 37 - 40: 29(fvec3) Load 39(gl_ObjectRayOriginNVX) + 40: 29(fvec3) Load 39(gl_ObjectRayOriginNV) Store 38(v7) 40 - 43: 29(fvec3) Load 42(gl_ObjectRayDirectionNVX) + 43: 29(fvec3) Load 42(gl_ObjectRayDirectionNV) Store 41(v8) 43 - 48: 28(float) Load 47(gl_RayTminNVX) + 48: 28(float) Load 47(gl_RayTminNV) Store 45(v9) 48 - 51: 28(float) Load 50(gl_RayTmaxNVX) + 51: 28(float) Load 50(gl_RayTmaxNV) Store 49(v10) 51 - 54: 28(float) Load 53(gl_HitTNVX) + 54: 28(float) Load 53(gl_HitTNV) Store 52(v11) 54 - 59: 6(int) Load 58(gl_HitKindNVX) + 59: 6(int) Load 58(gl_HitKindNV) Store 56(v12) 59 - 65: 60 Load 64(gl_ObjectToWorldNVX) + 65: 60 Load 64(gl_ObjectToWorldNV) Store 62(v13) 65 - 68: 60 Load 67(gl_WorldToObjectNVX) + 68: 60 Load 67(gl_WorldToObjectNV) Store 66(v14) 68 72: 69 Load 71(accNV) - TraceNVX 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.ClosestHitShader_Errors.rchit.out b/Test/baseResults/spv.ClosestHitShader_Errors.rchit.out index 36352ae20b05245e2addb526e4bec949232da525..e6f841086d13704e62b3ac33e52dd476fd6b54fc 100644 --- a/Test/baseResults/spv.ClosestHitShader_Errors.rchit.out +++ b/Test/baseResults/spv.ClosestHitShader_Errors.rchit.out @@ -1,8 +1,8 @@ spv.ClosestHitShader_Errors.rchit -ERROR: 0:8: 'assign' : l-value required "payload" (cannot modify hitAttributeNVX in this stage) -ERROR: 0:9: 'reportIntersectionNVX' : no matching overloaded function found -ERROR: 0:10: 'terminateRayNVX' : no matching overloaded function found -ERROR: 0:11: 'ignoreIntersectionNVX' : no matching overloaded function found +ERROR: 0:8: 'assign' : l-value required "payload" (cannot modify hitAttributeNV in this stage) +ERROR: 0:9: 'reportIntersectionNV' : no matching overloaded function found +ERROR: 0:10: 'terminateRayNV' : no matching overloaded function found +ERROR: 0:11: 'ignoreIntersectionNV' : no matching overloaded function found ERROR: 4 compilation errors. No code generated. diff --git a/Test/baseResults/spv.IntersectShader.rint.out b/Test/baseResults/spv.IntersectShader.rint.out index bc84c6ec99c0725c235a342dd7e20e065c01916c..cbb70cd68d5838f0eca9bb4226ac3c3a0aa312e5 100644 --- a/Test/baseResults/spv.IntersectShader.rint.out +++ b/Test/baseResults/spv.IntersectShader.rint.out @@ -3,88 +3,88 @@ spv.IntersectShader.rint // Generated by (magic number): 80007 // Id's are bound by 71 - Capability RaytracingNVX - Extension "SPV_NVX_raytracing" + Capability RayTracingNV + Extension "SPV_NV_ray_tracing" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint IntersectionNVX 4 "main" 11 14 20 23 26 33 36 39 42 47 50 56 59 + EntryPoint IntersectionNV 4 "main" 11 14 20 23 26 33 36 39 42 47 50 56 59 Source GLSL 460 - SourceExtension "GL_NVX_raytracing" + SourceExtension "GL_NV_ray_tracing" Name 4 "main" Name 9 "v0" - Name 11 "gl_LaunchIDNVX" + Name 11 "gl_LaunchIDNV" Name 13 "v1" - Name 14 "gl_LaunchSizeNVX" + Name 14 "gl_LaunchSizeNV" Name 18 "v2" Name 20 "gl_PrimitiveID" Name 22 "v3" Name 23 "gl_InstanceID" Name 25 "v4" - Name 26 "gl_InstanceCustomIndexNVX" + Name 26 "gl_InstanceCustomIndexNV" Name 31 "v5" - Name 33 "gl_WorldRayOriginNVX" + Name 33 "gl_WorldRayOriginNV" Name 35 "v6" - Name 36 "gl_WorldRayDirectionNVX" + Name 36 "gl_WorldRayDirectionNV" Name 38 "v7" - Name 39 "gl_ObjectRayOriginNVX" + Name 39 "gl_ObjectRayOriginNV" Name 41 "v8" - Name 42 "gl_ObjectRayDirectionNVX" + Name 42 "gl_ObjectRayDirectionNV" Name 45 "v9" - Name 47 "gl_RayTminNVX" + Name 47 "gl_RayTminNV" Name 49 "v10" - Name 50 "gl_RayTmaxNVX" + Name 50 "gl_RayTmaxNV" Name 54 "v11" - Name 56 "gl_ObjectToWorldNVX" + Name 56 "gl_ObjectToWorldNV" Name 58 "v12" - Name 59 "gl_WorldToObjectNVX" + Name 59 "gl_WorldToObjectNV" Name 63 "iAttr" - Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX - Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX + Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV + Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 23(gl_InstanceID) BuiltIn InstanceId - Decorate 26(gl_InstanceCustomIndexNVX) BuiltIn InstanceCustomIndexNVX - Decorate 33(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX - Decorate 36(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX - Decorate 39(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX - Decorate 42(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX - Decorate 47(gl_RayTminNVX) BuiltIn RayTminNVX - Decorate 50(gl_RayTmaxNVX) BuiltIn RayTmaxNVX - Decorate 56(gl_ObjectToWorldNVX) BuiltIn ObjectToWorldNVX - Decorate 59(gl_WorldToObjectNVX) BuiltIn WorldToObjectNVX + Decorate 26(gl_InstanceCustomIndexNV) BuiltIn InstanceCustomIndexNV + Decorate 33(gl_WorldRayOriginNV) BuiltIn WorldRayOriginNV + Decorate 36(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionNV + Decorate 39(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginNV + Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionNV + Decorate 47(gl_RayTminNV) BuiltIn RayTminNV + Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxNV + Decorate 56(gl_ObjectToWorldNV) BuiltIn ObjectToWorldNV + Decorate 59(gl_WorldToObjectNV) BuiltIn WorldToObjectNV 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 - 7: TypeVector 6(int) 2 - 8: TypePointer Function 7(ivec2) - 10: TypePointer Input 7(ivec2) -11(gl_LaunchIDNVX): 10(ptr) Variable Input -14(gl_LaunchSizeNVX): 10(ptr) Variable Input + 7: TypeVector 6(int) 3 + 8: TypePointer Function 7(ivec3) + 10: TypePointer Input 7(ivec3) +11(gl_LaunchIDNV): 10(ptr) Variable Input +14(gl_LaunchSizeNV): 10(ptr) Variable Input 16: TypeInt 32 1 17: TypePointer Function 16(int) 19: TypePointer Input 16(int) 20(gl_PrimitiveID): 19(ptr) Variable Input 23(gl_InstanceID): 19(ptr) Variable Input -26(gl_InstanceCustomIndexNVX): 19(ptr) Variable Input +26(gl_InstanceCustomIndexNV): 19(ptr) Variable Input 28: TypeFloat 32 29: TypeVector 28(float) 3 30: TypePointer Function 29(fvec3) 32: TypePointer Input 29(fvec3) -33(gl_WorldRayOriginNVX): 32(ptr) Variable Input -36(gl_WorldRayDirectionNVX): 32(ptr) Variable Input -39(gl_ObjectRayOriginNVX): 32(ptr) Variable Input -42(gl_ObjectRayDirectionNVX): 32(ptr) Variable Input +33(gl_WorldRayOriginNV): 32(ptr) Variable Input +36(gl_WorldRayDirectionNV): 32(ptr) Variable Input +39(gl_ObjectRayOriginNV): 32(ptr) Variable Input +42(gl_ObjectRayDirectionNV): 32(ptr) Variable Input 44: TypePointer Function 28(float) 46: TypePointer Input 28(float) -47(gl_RayTminNVX): 46(ptr) Variable Input -50(gl_RayTmaxNVX): 46(ptr) Variable Input +47(gl_RayTminNV): 46(ptr) Variable Input +50(gl_RayTmaxNV): 46(ptr) Variable Input 52: TypeMatrix 29(fvec3) 4 53: TypePointer Function 52 55: TypePointer Input 52 -56(gl_ObjectToWorldNVX): 55(ptr) Variable Input -59(gl_WorldToObjectNVX): 55(ptr) Variable Input +56(gl_ObjectToWorldNV): 55(ptr) Variable Input +59(gl_WorldToObjectNV): 55(ptr) Variable Input 61: TypeVector 28(float) 4 - 62: TypePointer HitAttributeNVX 61(fvec4) - 63(iAttr): 62(ptr) Variable HitAttributeNVX + 62: TypePointer HitAttributeNV 61(fvec4) + 63(iAttr): 62(ptr) Variable HitAttributeNV 64: 28(float) Constant 1056964608 65: 28(float) Constant 0 66: 28(float) Constant 1065353216 @@ -106,33 +106,33 @@ spv.IntersectShader.rint 49(v10): 44(ptr) Variable Function 54(v11): 53(ptr) Variable Function 58(v12): 53(ptr) Variable Function - 12: 7(ivec2) Load 11(gl_LaunchIDNVX) + 12: 7(ivec3) Load 11(gl_LaunchIDNV) Store 9(v0) 12 - 15: 7(ivec2) Load 14(gl_LaunchSizeNVX) + 15: 7(ivec3) Load 14(gl_LaunchSizeNV) Store 13(v1) 15 21: 16(int) Load 20(gl_PrimitiveID) Store 18(v2) 21 24: 16(int) Load 23(gl_InstanceID) Store 22(v3) 24 - 27: 16(int) Load 26(gl_InstanceCustomIndexNVX) + 27: 16(int) Load 26(gl_InstanceCustomIndexNV) Store 25(v4) 27 - 34: 29(fvec3) Load 33(gl_WorldRayOriginNVX) + 34: 29(fvec3) Load 33(gl_WorldRayOriginNV) Store 31(v5) 34 - 37: 29(fvec3) Load 36(gl_WorldRayDirectionNVX) + 37: 29(fvec3) Load 36(gl_WorldRayDirectionNV) Store 35(v6) 37 - 40: 29(fvec3) Load 39(gl_ObjectRayOriginNVX) + 40: 29(fvec3) Load 39(gl_ObjectRayOriginNV) Store 38(v7) 40 - 43: 29(fvec3) Load 42(gl_ObjectRayDirectionNVX) + 43: 29(fvec3) Load 42(gl_ObjectRayDirectionNV) Store 41(v8) 43 - 48: 28(float) Load 47(gl_RayTminNVX) + 48: 28(float) Load 47(gl_RayTminNV) Store 45(v9) 48 - 51: 28(float) Load 50(gl_RayTmaxNVX) + 51: 28(float) Load 50(gl_RayTmaxNV) Store 49(v10) 51 - 57: 52 Load 56(gl_ObjectToWorldNVX) + 57: 52 Load 56(gl_ObjectToWorldNV) Store 54(v11) 57 - 60: 52 Load 59(gl_WorldToObjectNVX) + 60: 52 Load 59(gl_WorldToObjectNV) Store 58(v12) 60 Store 63(iAttr) 67 - 70: 69(bool) ReportIntersectionNVX 64 68 + 70: 69(bool) ReportIntersectionNV 64 68 Return FunctionEnd diff --git a/Test/baseResults/spv.IntersectShader_Errors.rint.out b/Test/baseResults/spv.IntersectShader_Errors.rint.out index 804ddb4fd308b28c0a5f668f56093a934ec8b473..f267026565bec20473e85d9da764a4c379c5414d 100644 --- a/Test/baseResults/spv.IntersectShader_Errors.rint.out +++ b/Test/baseResults/spv.IntersectShader_Errors.rint.out @@ -1,9 +1,9 @@ spv.IntersectShader_Errors.rint -ERROR: 0:3: 'rayPayloadInNVX' : not supported in this stage: intersection -ERROR: 0:4: 'rayPayloadNVX' : not supported in this stage: intersection -ERROR: 0:8: 'gl_HitTNVX' : undeclared identifier -ERROR: 0:9: 'gl_HitKindNVX' : undeclared identifier -ERROR: 0:10: 'traceNVX' : no matching overloaded function found +ERROR: 0:3: 'rayPayloadInNV' : not supported in this stage: intersection +ERROR: 0:4: 'rayPayloadNV' : not supported in this stage: intersection +ERROR: 0:8: 'gl_HitTNV' : undeclared identifier +ERROR: 0:9: 'gl_HitKindNV' : undeclared identifier +ERROR: 0:10: 'traceNV' : no matching overloaded function found ERROR: 5 compilation errors. No code generated. diff --git a/Test/baseResults/spv.MissShader.rmiss.out b/Test/baseResults/spv.MissShader.rmiss.out index 53840846ad53763c45379116ab37d8524f667545..0ad3341a4180da5acf91403e21dabd51fda3c6e2 100644 --- a/Test/baseResults/spv.MissShader.rmiss.out +++ b/Test/baseResults/spv.MissShader.rmiss.out @@ -3,41 +3,41 @@ spv.MissShader.rmiss // Generated by (magic number): 80007 // Id's are bound by 60 - Capability RaytracingNVX - Extension "SPV_NVX_raytracing" + Capability RayTracingNV + Extension "SPV_NV_ray_tracing" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint MissNVX 4 "main" 11 14 21 24 27 30 35 38 + EntryPoint MissNV 4 "main" 11 14 21 24 27 30 35 38 Source GLSL 460 - SourceExtension "GL_NVX_raytracing" + SourceExtension "GL_NV_ray_tracing" Name 4 "main" Name 9 "v0" - Name 11 "gl_LaunchIDNVX" + Name 11 "gl_LaunchIDNV" Name 13 "v1" - Name 14 "gl_LaunchSizeNVX" + Name 14 "gl_LaunchSizeNV" Name 19 "v2" - Name 21 "gl_WorldRayOriginNVX" + Name 21 "gl_WorldRayOriginNV" Name 23 "v3" - Name 24 "gl_WorldRayDirectionNVX" + Name 24 "gl_WorldRayDirectionNV" Name 26 "v4" - Name 27 "gl_ObjectRayOriginNVX" + Name 27 "gl_ObjectRayOriginNV" Name 29 "v5" - Name 30 "gl_ObjectRayDirectionNVX" + Name 30 "gl_ObjectRayDirectionNV" Name 33 "v6" - Name 35 "gl_RayTminNVX" + Name 35 "gl_RayTminNV" Name 37 "v7" - Name 38 "gl_RayTmaxNVX" + Name 38 "gl_RayTmaxNV" Name 42 "accNV" Name 57 "localPayload" Name 59 "incomingPayload" - Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX - Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX - Decorate 21(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX - Decorate 24(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX - Decorate 27(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX - Decorate 30(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX - Decorate 35(gl_RayTminNVX) BuiltIn RayTminNVX - Decorate 38(gl_RayTmaxNVX) BuiltIn RayTmaxNVX + Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV + Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV + Decorate 21(gl_WorldRayOriginNV) BuiltIn WorldRayOriginNV + Decorate 24(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionNV + Decorate 27(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginNV + Decorate 30(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionNV + Decorate 35(gl_RayTminNV) BuiltIn RayTminNV + Decorate 38(gl_RayTmaxNV) BuiltIn RayTmaxNV Decorate 42(accNV) DescriptorSet 0 Decorate 42(accNV) Binding 0 Decorate 57(localPayload) Location 0 @@ -45,24 +45,24 @@ spv.MissShader.rmiss 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 - 7: TypeVector 6(int) 2 - 8: TypePointer Function 7(ivec2) - 10: TypePointer Input 7(ivec2) -11(gl_LaunchIDNVX): 10(ptr) Variable Input -14(gl_LaunchSizeNVX): 10(ptr) Variable Input + 7: TypeVector 6(int) 3 + 8: TypePointer Function 7(ivec3) + 10: TypePointer Input 7(ivec3) +11(gl_LaunchIDNV): 10(ptr) Variable Input +14(gl_LaunchSizeNV): 10(ptr) Variable Input 16: TypeFloat 32 17: TypeVector 16(float) 3 18: TypePointer Function 17(fvec3) 20: TypePointer Input 17(fvec3) -21(gl_WorldRayOriginNVX): 20(ptr) Variable Input -24(gl_WorldRayDirectionNVX): 20(ptr) Variable Input -27(gl_ObjectRayOriginNVX): 20(ptr) Variable Input -30(gl_ObjectRayDirectionNVX): 20(ptr) Variable Input +21(gl_WorldRayOriginNV): 20(ptr) Variable Input +24(gl_WorldRayDirectionNV): 20(ptr) Variable Input +27(gl_ObjectRayOriginNV): 20(ptr) Variable Input +30(gl_ObjectRayDirectionNV): 20(ptr) Variable Input 32: TypePointer Function 16(float) 34: TypePointer Input 16(float) -35(gl_RayTminNVX): 34(ptr) Variable Input -38(gl_RayTmaxNVX): 34(ptr) Variable Input - 40: TypeAccelerationStructureNVX +35(gl_RayTminNV): 34(ptr) Variable Input +38(gl_RayTmaxNV): 34(ptr) Variable Input + 40: TypeAccelerationStructureNV 41: TypePointer UniformConstant 40 42(accNV): 41(ptr) Variable UniformConstant 44: 6(int) Constant 0 @@ -77,10 +77,10 @@ spv.MissShader.rmiss 53: TypeInt 32 1 54: 53(int) Constant 1 55: TypeVector 16(float) 4 - 56: TypePointer RayPayloadNVX 55(fvec4) -57(localPayload): 56(ptr) Variable RayPayloadNVX - 58: TypePointer IncomingRayPayloadNVX 55(fvec4) -59(incomingPayload): 58(ptr) Variable IncomingRayPayloadNVX + 56: TypePointer RayPayloadNV 55(fvec4) +57(localPayload): 56(ptr) Variable RayPayloadNV + 58: TypePointer IncomingRayPayloadNV 55(fvec4) +59(incomingPayload): 58(ptr) Variable IncomingRayPayloadNV 4(main): 2 Function None 3 5: Label 9(v0): 8(ptr) Variable Function @@ -91,23 +91,23 @@ spv.MissShader.rmiss 29(v5): 18(ptr) Variable Function 33(v6): 32(ptr) Variable Function 37(v7): 32(ptr) Variable Function - 12: 7(ivec2) Load 11(gl_LaunchIDNVX) + 12: 7(ivec3) Load 11(gl_LaunchIDNV) Store 9(v0) 12 - 15: 7(ivec2) Load 14(gl_LaunchSizeNVX) + 15: 7(ivec3) Load 14(gl_LaunchSizeNV) Store 13(v1) 15 - 22: 17(fvec3) Load 21(gl_WorldRayOriginNVX) + 22: 17(fvec3) Load 21(gl_WorldRayOriginNV) Store 19(v2) 22 - 25: 17(fvec3) Load 24(gl_WorldRayDirectionNVX) + 25: 17(fvec3) Load 24(gl_WorldRayDirectionNV) Store 23(v3) 25 - 28: 17(fvec3) Load 27(gl_ObjectRayOriginNVX) + 28: 17(fvec3) Load 27(gl_ObjectRayOriginNV) Store 26(v4) 28 - 31: 17(fvec3) Load 30(gl_ObjectRayDirectionNVX) + 31: 17(fvec3) Load 30(gl_ObjectRayDirectionNV) Store 29(v5) 31 - 36: 16(float) Load 35(gl_RayTminNVX) + 36: 16(float) Load 35(gl_RayTminNV) Store 33(v6) 36 - 39: 16(float) Load 38(gl_RayTmaxNVX) + 39: 16(float) Load 38(gl_RayTmaxNV) Store 37(v7) 39 43: 40 Load 42(accNV) - TraceNVX 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.MissShader_Errors.rmiss.out b/Test/baseResults/spv.MissShader_Errors.rmiss.out index bfc2f6c26b4e4233c3d00b127685dd832fbce644..52b412b48662d98ac3c800289b76c14c2e29c3a3 100644 --- a/Test/baseResults/spv.MissShader_Errors.rmiss.out +++ b/Test/baseResults/spv.MissShader_Errors.rmiss.out @@ -1,20 +1,20 @@ spv.MissShader_Errors.rmiss -ERROR: 0:3: 'hitAttributeNVX' : not supported in this stage: miss +ERROR: 0:3: 'hitAttributeNV' : not supported in this stage: miss ERROR: 0:6: 'gl_PrimitiveID' : undeclared identifier ERROR: 0:6: '=' : cannot convert from ' temp float' to ' temp highp int' ERROR: 0:7: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?) ERROR: 0:7: '=' : cannot convert from ' temp float' to ' temp highp int' -ERROR: 0:8: 'gl_InstanceCustomIndexNVX' : undeclared identifier +ERROR: 0:8: 'gl_InstanceCustomIndexNV' : undeclared identifier ERROR: 0:8: '=' : cannot convert from ' temp float' to ' temp highp int' -ERROR: 0:9: 'gl_ObjectToWorldNVX' : undeclared identifier +ERROR: 0:9: 'gl_ObjectToWorldNV' : undeclared identifier ERROR: 0:9: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float' -ERROR: 0:10: 'gl_WorldToObjectNVX' : undeclared identifier +ERROR: 0:10: 'gl_WorldToObjectNV' : undeclared identifier ERROR: 0:10: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float' -ERROR: 0:11: 'gl_HitTNVX' : undeclared identifier -ERROR: 0:12: 'gl_HitKindNVX' : undeclared identifier -ERROR: 0:13: 'reportIntersectionNVX' : no matching overloaded function found -ERROR: 0:14: 'ignoreIntersectionNVX' : no matching overloaded function found -ERROR: 0:15: 'terminateRayNVX' : no matching overloaded function found +ERROR: 0:11: 'gl_HitTNV' : undeclared identifier +ERROR: 0:12: 'gl_HitKindNV' : undeclared identifier +ERROR: 0:13: 'reportIntersectionNV' : no matching overloaded function found +ERROR: 0:14: 'ignoreIntersectionNV' : no matching overloaded function found +ERROR: 0:15: 'terminateRayNV' : no matching overloaded function found ERROR: 16 compilation errors. No code generated. diff --git a/Test/baseResults/spv.RayCallable.rcall.out b/Test/baseResults/spv.RayCallable.rcall.out new file mode 100644 index 0000000000000000000000000000000000000000..198d6860d08beec61347a8e9504665c79346d312 --- /dev/null +++ b/Test/baseResults/spv.RayCallable.rcall.out @@ -0,0 +1,73 @@ +spv.RayCallable.rcall +// Module Version 10000 +// Generated by (magic number): 80007 +// Id's are bound by 38 + + Capability RayTracingNV + Extension "SPV_NV_ray_tracing" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint CallableNV 4 "main" 11 14 19 + Source GLSL 460 + SourceExtension "GL_NV_ray_tracing" + Name 4 "main" + Name 9 "id" + Name 11 "gl_LaunchIDNV" + Name 13 "size" + Name 14 "gl_LaunchSizeNV" + Name 17 "curFlags" + Name 19 "gl_IncomingRayFlagsNV" + Name 24 "dataBlock" + MemberName 24(dataBlock) 0 "data1" + Name 26 "" + Name 37 "data0" + Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV + Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV + Decorate 19(gl_IncomingRayFlagsNV) BuiltIn IncomingRayFlagsNV + Decorate 24(dataBlock) Block + Decorate 26 Location 1 + Decorate 37(data0) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypeVector 6(int) 3 + 8: TypePointer Function 7(ivec3) + 10: TypePointer Input 7(ivec3) +11(gl_LaunchIDNV): 10(ptr) Variable Input +14(gl_LaunchSizeNV): 10(ptr) Variable Input + 16: TypePointer Function 6(int) + 18: TypePointer Input 6(int) +19(gl_IncomingRayFlagsNV): 18(ptr) Variable Input + 22: 6(int) Constant 1 + 24(dataBlock): TypeStruct 6(int) + 25: TypePointer IncomingCallableDataNV 24(dataBlock) + 26: 25(ptr) Variable IncomingCallableDataNV + 27: TypeInt 32 1 + 28: 27(int) Constant 0 + 29: 6(int) Constant 256 + 30: TypePointer IncomingCallableDataNV 6(int) + 32: 6(int) Constant 2 + 33: 27(int) Constant 1 + 34: TypeFloat 32 + 35: TypeVector 34(float) 4 + 36: TypePointer CallableDataNV 35(fvec4) + 37(data0): 36(ptr) Variable CallableDataNV + 4(main): 2 Function None 3 + 5: Label + 9(id): 8(ptr) Variable Function + 13(size): 8(ptr) Variable Function + 17(curFlags): 16(ptr) Variable Function + 12: 7(ivec3) Load 11(gl_LaunchIDNV) + Store 9(id) 12 + 15: 7(ivec3) Load 14(gl_LaunchSizeNV) + Store 13(size) 15 + 20: 6(int) Load 19(gl_IncomingRayFlagsNV) + Store 17(curFlags) 20 + 21: 6(int) Load 17(curFlags) + 23: 6(int) BitwiseAnd 21 22 + Store 17(curFlags) 23 + 31: 30(ptr) AccessChain 26 28 + Store 31 29 + ExecuteCallableNV 32 33 + Return + FunctionEnd diff --git a/Test/baseResults/spv.RayCallable_Errors.rcall.out b/Test/baseResults/spv.RayCallable_Errors.rcall.out new file mode 100644 index 0000000000000000000000000000000000000000..a807a5774ff00016bab1479749e5c8f78bb3cc37 --- /dev/null +++ b/Test/baseResults/spv.RayCallable_Errors.rcall.out @@ -0,0 +1,33 @@ +spv.RayCallable_Errors.rcall +ERROR: 0:3: 'hitAttributeNV' : not supported in this stage: callable +ERROR: 0:4: 'rayPayloadNV' : not supported in this stage: callable +ERROR: 0:5: 'rayPayloadInNV' : 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:10: '=' : cannot convert from ' temp float' to ' temp highp int' +ERROR: 0:11: 'gl_InstanceCustomIndexNV' : undeclared identifier +ERROR: 0:11: '=' : cannot convert from ' temp float' to ' temp highp int' +ERROR: 0:12: 'gl_WorldRayOriginNV' : undeclared identifier +ERROR: 0:12: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float' +ERROR: 0:13: 'gl_WorldRayDirectionNV' : undeclared identifier +ERROR: 0:13: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float' +ERROR: 0:14: 'gl_ObjectRayOriginNV' : undeclared identifier +ERROR: 0:14: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float' +ERROR: 0:15: 'gl_ObjectRayDirectionNV' : undeclared identifier +ERROR: 0:15: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float' +ERROR: 0:16: 'gl_RayTminNV' : undeclared identifier +ERROR: 0:17: 'gl_RayTmaxNV' : undeclared identifier +ERROR: 0:18: 'gl_ObjectToWorldNV' : undeclared identifier +ERROR: 0:18: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float' +ERROR: 0:19: 'gl_WorldToObjectNV' : undeclared identifier +ERROR: 0:19: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float' +ERROR: 0:20: 'gl_HitTNV' : undeclared identifier +ERROR: 0:21: 'gl_HitKindNV' : undeclared identifier +ERROR: 0:22: 'reportIntersectionNV' : no matching overloaded function found +ERROR: 0:23: 'ignoreIntersectionNV' : no matching overloaded function found +ERROR: 0:24: 'terminateRayNV' : no matching overloaded function found +ERROR: 28 compilation errors. No code generated. + + +SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/spv.RayConstants.rgen.out b/Test/baseResults/spv.RayConstants.rgen.out index ecbee8a101ba5ff84b503399a0ba8a12666c1b74..d939acfbc6112801b103ccf801a7acb4732889e4 100644 --- a/Test/baseResults/spv.RayConstants.rgen.out +++ b/Test/baseResults/spv.RayConstants.rgen.out @@ -3,13 +3,13 @@ spv.RayConstants.rgen // Generated by (magic number): 80007 // Id's are bound by 27 - Capability RaytracingNVX - Extension "SPV_NVX_raytracing" + Capability RayTracingNV + Extension "SPV_NV_ray_tracing" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint RayGenerationNVX 4 "main" + EntryPoint RayGenerationNV 4 "main" Source GLSL 460 - SourceExtension "GL_NVX_raytracing" + SourceExtension "GL_NV_ray_tracing" Name 4 "main" Name 8 "accNV" Name 26 "payload" @@ -18,7 +18,7 @@ spv.RayConstants.rgen Decorate 26(payload) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeAccelerationStructureNVX + 6: TypeAccelerationStructureNV 7: TypePointer UniformConstant 6 8(accNV): 7(ptr) Variable UniformConstant 10: TypeInt 32 0 @@ -36,11 +36,11 @@ spv.RayConstants.rgen 22: TypeInt 32 1 23: 22(int) Constant 1 24: TypeVector 14(float) 4 - 25: TypePointer RayPayloadNVX 24(fvec4) - 26(payload): 25(ptr) Variable RayPayloadNVX + 25: TypePointer RayPayloadNV 24(fvec4) + 26(payload): 25(ptr) Variable RayPayloadNV 4(main): 2 Function None 3 5: Label 9: 6 Load 8(accNV) - TraceNVX 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 ad1ba7ccc4e251509c02d22cbe84541e5c529e0e..db6ecfc9521998110869c1f3407c7ea18bff9cf3 100644 --- a/Test/baseResults/spv.RayGenShader.rgen.out +++ b/Test/baseResults/spv.RayGenShader.rgen.out @@ -3,19 +3,19 @@ spv.RayGenShader.rgen // Generated by (magic number): 80007 // Id's are bound by 60 - Capability RaytracingNVX - Extension "SPV_NVX_raytracing" + Capability RayTracingNV + Extension "SPV_NV_ray_tracing" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint RayGenerationNVX 4 "main" 11 21 + EntryPoint RayGenerationNV 4 "main" 11 21 Source GLSL 460 - SourceExtension "GL_NVX_raytracing" + SourceExtension "GL_NV_ray_tracing" Name 4 "main" Name 8 "lx" - Name 11 "gl_LaunchIDNVX" + Name 11 "gl_LaunchIDNV" Name 16 "ly" Name 20 "sx" - Name 21 "gl_LaunchSizeNVX" + Name 21 "gl_LaunchSizeNV" Name 24 "sy" Name 29 "accNV" Name 48 "block" @@ -23,8 +23,8 @@ spv.RayGenShader.rgen MemberName 48(block) 1 "pad" Name 50 "" Name 56 "payload" - Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX - Decorate 21(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX + Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV + Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeNV Decorate 29(accNV) DescriptorSet 0 Decorate 29(accNV) Binding 0 Decorate 46 ArrayStride 4 @@ -36,14 +36,14 @@ spv.RayGenShader.rgen 3: TypeFunction 2 6: TypeInt 32 0 7: TypePointer Function 6(int) - 9: TypeVector 6(int) 2 - 10: TypePointer Input 9(ivec2) -11(gl_LaunchIDNVX): 10(ptr) Variable Input + 9: TypeVector 6(int) 3 + 10: TypePointer Input 9(ivec3) +11(gl_LaunchIDNV): 10(ptr) Variable Input 12: 6(int) Constant 0 13: TypePointer Input 6(int) 17: 6(int) Constant 1 -21(gl_LaunchSizeNVX): 10(ptr) Variable Input - 27: TypeAccelerationStructureNVX +21(gl_LaunchSizeNV): 10(ptr) Variable Input + 27: TypeAccelerationStructureNV 28: TypePointer UniformConstant 27 29(accNV): 28(ptr) Variable UniformConstant 35: TypeFloat 32 @@ -60,30 +60,30 @@ spv.RayGenShader.rgen 46: TypeArray 35(float) 45 47: TypeVector 35(float) 4 48(block): TypeStruct 46 47(fvec4) - 49: TypePointer ShaderRecordBufferNVX 48(block) - 50: 49(ptr) Variable ShaderRecordBufferNVX + 49: TypePointer ShaderRecordBufferNV 48(block) + 50: 49(ptr) Variable ShaderRecordBufferNV 51: 43(int) Constant 0 52: 43(int) Constant 3 - 53: TypePointer ShaderRecordBufferNVX 35(float) - 55: TypePointer RayPayloadNVX 47(fvec4) - 56(payload): 55(ptr) Variable RayPayloadNVX - 58: TypePointer ShaderRecordBufferNVX 47(fvec4) + 53: TypePointer ShaderRecordBufferNV 35(float) + 55: TypePointer RayPayloadNV 47(fvec4) + 56(payload): 55(ptr) Variable RayPayloadNV + 58: TypePointer ShaderRecordBufferNV 47(fvec4) 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_LaunchIDNVX) 12 + 14: 13(ptr) AccessChain 11(gl_LaunchIDNV) 12 15: 6(int) Load 14 Store 8(lx) 15 - 18: 13(ptr) AccessChain 11(gl_LaunchIDNVX) 17 + 18: 13(ptr) AccessChain 11(gl_LaunchIDNV) 17 19: 6(int) Load 18 Store 16(ly) 19 - 22: 13(ptr) AccessChain 21(gl_LaunchSizeNVX) 12 + 22: 13(ptr) AccessChain 21(gl_LaunchSizeNV) 12 23: 6(int) Load 22 Store 20(sx) 23 - 25: 13(ptr) AccessChain 21(gl_LaunchSizeNVX) 17 + 25: 13(ptr) AccessChain 21(gl_LaunchSizeNV) 17 26: 6(int) Load 25 Store 24(sy) 26 30: 27 Load 29(accNV) @@ -91,7 +91,7 @@ spv.RayGenShader.rgen 32: 6(int) Load 16(ly) 33: 6(int) Load 20(sx) 34: 6(int) Load 24(sy) - TraceNVX 30 31 32 33 34 12 38 39 41 42 44 + TraceNV 30 31 32 33 34 12 38 39 41 42 44 54: 53(ptr) AccessChain 50 51 52 Store 54 40 57: 47(fvec4) Load 56(payload) diff --git a/Test/baseResults/spv.RayGenShader_Errors.rgen.out b/Test/baseResults/spv.RayGenShader_Errors.rgen.out index 7d9e2c2834a1f861f1fb08f89f305fbaf3ad87ae..27d51c2227470eb22f2fb176de3b0431efab6e30 100644 --- a/Test/baseResults/spv.RayGenShader_Errors.rgen.out +++ b/Test/baseResults/spv.RayGenShader_Errors.rgen.out @@ -1,39 +1,39 @@ spv.RayGenShader_Errors.rgen -ERROR: 0:3: 'hitAttributeNVX' : not supported in this stage: ray-generation -ERROR: 0:4: 'rayPayloadInNVX' : not supported in this stage: ray-generation -ERROR: 0:5: 'shaderRecordNVX' : can only be used with a buffer -ERROR: 0:9: 'binding' : cannot be used with shaderRecordNVX -ERROR: 0:12: 'set' : cannot be used with shaderRecordNVX -ERROR: 0:23: 'accelerationStructureNVX' : accelerationStructureNVX can only be used in uniform variables or function parameters: a -ERROR: 0:23: '=' : cannot convert from ' const int' to ' temp accelerationStructureNVX' +ERROR: 0:3: 'hitAttributeNV' : not supported in this stage: ray-generation +ERROR: 0:4: 'rayPayloadInNV' : not supported in this stage: ray-generation +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: '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: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?) ERROR: 0:25: '=' : cannot convert from ' temp float' to ' temp highp int' -ERROR: 0:26: 'gl_InstanceCustomIndexNVX' : undeclared identifier +ERROR: 0:26: 'gl_InstanceCustomIndexNV' : undeclared identifier ERROR: 0:26: '=' : cannot convert from ' temp float' to ' temp highp int' -ERROR: 0:27: 'gl_WorldRayOriginNVX' : undeclared identifier +ERROR: 0:27: 'gl_WorldRayOriginNV' : undeclared identifier ERROR: 0:27: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float' -ERROR: 0:28: 'gl_WorldRayDirectionNVX' : undeclared identifier +ERROR: 0:28: 'gl_WorldRayDirectionNV' : undeclared identifier ERROR: 0:28: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float' -ERROR: 0:29: 'gl_ObjectRayOriginNVX' : undeclared identifier +ERROR: 0:29: 'gl_ObjectRayOriginNV' : undeclared identifier ERROR: 0:29: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float' -ERROR: 0:30: 'gl_ObjectRayDirectionNVX' : undeclared identifier +ERROR: 0:30: 'gl_ObjectRayDirectionNV' : undeclared identifier ERROR: 0:30: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float' -ERROR: 0:31: 'gl_RayTminNVX' : undeclared identifier -ERROR: 0:32: 'gl_RayTmaxNVX' : undeclared identifier -ERROR: 0:33: 'gl_ObjectToWorldNVX' : undeclared identifier +ERROR: 0:31: 'gl_RayTminNV' : undeclared identifier +ERROR: 0:32: 'gl_RayTmaxNV' : undeclared identifier +ERROR: 0:33: 'gl_ObjectToWorldNV' : undeclared identifier ERROR: 0:33: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float' -ERROR: 0:34: 'gl_WorldToObjectNVX' : undeclared identifier +ERROR: 0:34: 'gl_WorldToObjectNV' : undeclared identifier ERROR: 0:34: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float' -ERROR: 0:35: 'gl_HitTNVX' : undeclared identifier -ERROR: 0:36: 'gl_HitKindNVX' : undeclared identifier -ERROR: 0:37: 'reportIntersectionNVX' : no matching overloaded function found -ERROR: 0:38: 'ignoreIntersectionNVX' : no matching overloaded function found -ERROR: 0:39: 'terminateRayNVX' : no matching overloaded function found +ERROR: 0:35: 'gl_HitTNV' : undeclared identifier +ERROR: 0:36: 'gl_HitKindNV' : undeclared identifier +ERROR: 0:37: 'reportIntersectionNV' : no matching overloaded function found +ERROR: 0:38: 'ignoreIntersectionNV' : no matching overloaded function found +ERROR: 0:39: 'terminateRayNV' : no matching overloaded function found ERROR: 32 compilation errors. No code generated. -ERROR: Linking ray-generation stage: Only one shaderRecordNVX buffer block is allowed per stage +ERROR: Linking ray-generation stage: Only one shaderRecordNV buffer block is allowed per stage SPIR-V is not generated for failed compile or link diff --git a/Test/spv.AnyHitShader.rahit b/Test/spv.AnyHitShader.rahit index 88e5601a673f339f08f11d5721dc7294e7d5d3e6..c03cc2f785227e7afc2d7691b071bb33b83532fe 100644 --- a/Test/spv.AnyHitShader.rahit +++ b/Test/spv.AnyHitShader.rahit @@ -1,26 +1,26 @@ #version 460 -#extension GL_NVX_raytracing : enable -layout(location = 1) rayPayloadInNVX vec4 incomingPayload; +#extension GL_NV_ray_tracing : enable +layout(location = 1) rayPayloadInNV vec4 incomingPayload; void main() { - uvec2 v0 = gl_LaunchIDNVX; - uvec2 v1 = gl_LaunchSizeNVX; + uvec3 v0 = gl_LaunchIDNV; + uvec3 v1 = gl_LaunchSizeNV; int v2 = gl_PrimitiveID; int v3 = gl_InstanceID; - int v4 = gl_InstanceCustomIndexNVX; - vec3 v5 = gl_WorldRayOriginNVX; - vec3 v6 = gl_WorldRayDirectionNVX; - vec3 v7 = gl_ObjectRayOriginNVX; - vec3 v8 = gl_ObjectRayDirectionNVX; - float v9 = gl_RayTminNVX; - float v10 = gl_RayTmaxNVX; - float v11 = gl_HitTNVX; - uint v12 = gl_HitKindNVX; - mat4x3 v13 = gl_ObjectToWorldNVX; - mat4x3 v14 = gl_WorldToObjectNVX; + int v4 = gl_InstanceCustomIndexNV; + vec3 v5 = gl_WorldRayOriginNV; + vec3 v6 = gl_WorldRayDirectionNV; + vec3 v7 = gl_ObjectRayOriginNV; + vec3 v8 = gl_ObjectRayDirectionNV; + float v9 = gl_RayTminNV; + float v10 = gl_RayTmaxNV; + float v11 = gl_HitTNV; + uint v12 = gl_HitKindNV; + mat4x3 v13 = gl_ObjectToWorldNV; + mat4x3 v14 = gl_WorldToObjectNV; incomingPayload = vec4(0.5f); if (v2 == 1) - ignoreIntersectionNVX(); + ignoreIntersectionNV(); else - terminateRayNVX(); + terminateRayNV(); } diff --git a/Test/spv.AnyHitShader_Errors.rahit b/Test/spv.AnyHitShader_Errors.rahit index a0f72e6811c878d03f321f49291ca2327e6de1ec..952461eec9a011db0093a32f06daf2fe8dbc18c3 100644 --- a/Test/spv.AnyHitShader_Errors.rahit +++ b/Test/spv.AnyHitShader_Errors.rahit @@ -1,11 +1,11 @@ #version 460 -#extension GL_NVX_raytracing : enable -hitAttributeNVX vec4 payload; -layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV; +#extension GL_NV_ray_tracing : enable +hitAttributeNV vec4 payload; +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV; void main() { - payload.x = 1.0f; // ERROR, cannot write to hitattributeNVX in stage - reportIntersectionNVX(1.0, 1U); // ERROR, unsupported builtin in stage - traceNVX(accNV, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported builtin in stage + payload.x = 1.0f; // ERROR, cannot write to hitattributeNV in stage + reportIntersectionNV(1.0, 1U); // ERROR, unsupported builtin in stage + traceNV(accNV, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported builtin in stage } diff --git a/Test/spv.ClosestHitShader.rchit b/Test/spv.ClosestHitShader.rchit index 498d0d897c0ff9a6f52990b3e4bde140e5ed6a32..7a09b80493970967f072916c003805a278bc1037 100644 --- a/Test/spv.ClosestHitShader.rchit +++ b/Test/spv.ClosestHitShader.rchit @@ -1,24 +1,24 @@ #version 460 -#extension GL_NVX_raytracing : enable -layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV; -layout(location = 0) rayPayloadNVX vec4 localPayload; -layout(location = 1) rayPayloadInNVX vec4 incomingPayload; +#extension GL_NV_ray_tracing : enable +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV; +layout(location = 0) rayPayloadNV vec4 localPayload; +layout(location = 1) rayPayloadInNV vec4 incomingPayload; void main() { - uvec2 v0 = gl_LaunchIDNVX; - uvec2 v1 = gl_LaunchSizeNVX; + uvec3 v0 = gl_LaunchIDNV; + uvec3 v1 = gl_LaunchSizeNV; int v2 = gl_PrimitiveID; int v3 = gl_InstanceID; - int v4 = gl_InstanceCustomIndexNVX; - vec3 v5 = gl_WorldRayOriginNVX; - vec3 v6 = gl_WorldRayDirectionNVX; - vec3 v7 = gl_ObjectRayOriginNVX; - vec3 v8 = gl_ObjectRayDirectionNVX; - float v9 = gl_RayTminNVX; - float v10 = gl_RayTmaxNVX; - float v11 = gl_HitTNVX; - uint v12 = gl_HitKindNVX; - mat4x3 v13 = gl_ObjectToWorldNVX; - mat4x3 v14 = gl_WorldToObjectNVX; - traceNVX(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1); + int v4 = gl_InstanceCustomIndexNV; + vec3 v5 = gl_WorldRayOriginNV; + vec3 v6 = gl_WorldRayDirectionNV; + vec3 v7 = gl_ObjectRayOriginNV; + vec3 v8 = gl_ObjectRayDirectionNV; + float v9 = gl_RayTminNV; + float v10 = gl_RayTmaxNV; + float v11 = gl_HitTNV; + uint v12 = gl_HitKindNV; + mat4x3 v13 = gl_ObjectToWorldNV; + mat4x3 v14 = gl_WorldToObjectNV; + traceNV(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1); } diff --git a/Test/spv.ClosestHitShader_Errors.rchit b/Test/spv.ClosestHitShader_Errors.rchit index 6c1f6e4e7aad38ee78e248d750ab4217ea66ade5..b7b421ec14e4d71affb2606b1f5533701b464ccb 100644 --- a/Test/spv.ClosestHitShader_Errors.rchit +++ b/Test/spv.ClosestHitShader_Errors.rchit @@ -1,12 +1,12 @@ #version 460 -#extension GL_NVX_raytracing : enable -hitAttributeNVX vec4 payload; -layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV; +#extension GL_NV_ray_tracing : enable +hitAttributeNV vec4 payload; +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV; void main() { - payload.x = 1.0f; // ERROR, cannot write to hitattributeNVX in stage - reportIntersectionNVX(1.0, 1U); // ERROR, unsupported builtin in stage - terminateRayNVX(); - ignoreIntersectionNVX(); + payload.x = 1.0f; // ERROR, cannot write to hitattributeNV in stage + reportIntersectionNV(1.0, 1U); // ERROR, unsupported builtin in stage + terminateRayNV(); + ignoreIntersectionNV(); } diff --git a/Test/spv.IntersectShader.rint b/Test/spv.IntersectShader.rint index 226ff06c46254aa20a5d8dbbe0dc4ecc3bb9485f..85ec3199234379beed91658901d01e8b5180ba1b 100644 --- a/Test/spv.IntersectShader.rint +++ b/Test/spv.IntersectShader.rint @@ -1,21 +1,21 @@ #version 460 -#extension GL_NVX_raytracing : enable -hitAttributeNVX vec4 iAttr; +#extension GL_NV_ray_tracing : enable +hitAttributeNV vec4 iAttr; void main() { - uvec2 v0 = gl_LaunchIDNVX; - uvec2 v1 = gl_LaunchSizeNVX; + uvec3 v0 = gl_LaunchIDNV; + uvec3 v1 = gl_LaunchSizeNV; int v2 = gl_PrimitiveID; int v3 = gl_InstanceID; - int v4 = gl_InstanceCustomIndexNVX; - vec3 v5 = gl_WorldRayOriginNVX; - vec3 v6 = gl_WorldRayDirectionNVX; - vec3 v7 = gl_ObjectRayOriginNVX; - vec3 v8 = gl_ObjectRayDirectionNVX; - float v9 = gl_RayTminNVX; - float v10 = gl_RayTmaxNVX; - mat4x3 v11 = gl_ObjectToWorldNVX; - mat4x3 v12 = gl_WorldToObjectNVX; + int v4 = gl_InstanceCustomIndexNV; + vec3 v5 = gl_WorldRayOriginNV; + vec3 v6 = gl_WorldRayDirectionNV; + vec3 v7 = gl_ObjectRayOriginNV; + vec3 v8 = gl_ObjectRayDirectionNV; + float v9 = gl_RayTminNV; + float v10 = gl_RayTmaxNV; + mat4x3 v11 = gl_ObjectToWorldNV; + mat4x3 v12 = gl_WorldToObjectNV; iAttr = vec4(0.5f,0.5f,0.0f,1.0f); - reportIntersectionNVX(0.5, 1U); + reportIntersectionNV(0.5, 1U); } diff --git a/Test/spv.IntersectShader_Errors.rint b/Test/spv.IntersectShader_Errors.rint index 90278d84befc63b3a00605011fc5ddae67159eac..fbc6846547975906d9c618f288c07a8015b3418e 100644 --- a/Test/spv.IntersectShader_Errors.rint +++ b/Test/spv.IntersectShader_Errors.rint @@ -1,11 +1,11 @@ #version 460 -#extension GL_NVX_raytracing : enable -rayPayloadInNVX vec4 payloadIn; // ERROR, rayPayloadIn unsupported in this stage -rayPayloadNVX vec4 payload; // ERROR, rayPayload unsuppoted in this stage -uniform accelerationStructureNVX accNV; +#extension GL_NV_ray_tracing : enable +rayPayloadInNV vec4 payloadIn; // ERROR, rayPayloadIn unsupported in this stage +rayPayloadNV vec4 payload; // ERROR, rayPayload unsuppoted in this stage +uniform accelerationStructureNV accNV; void main() { - float e12 = gl_HitTNVX; // ERROR, unsupported builtin in stage - float e13 = gl_HitKindNVX; // ERROR, unsupported builtin in stage - traceNVX(accNV, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported + float e12 = gl_HitTNV; // ERROR, unsupported builtin in stage + float e13 = gl_HitKindNV; // ERROR, unsupported builtin in stage + traceNV(accNV, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported } diff --git a/Test/spv.MissShader.rmiss b/Test/spv.MissShader.rmiss index 6daaa012f90b98e6df3a42528f22c2670c79ebda..06113debc68b80c6b0e62ef0bed812c385ac829b 100644 --- a/Test/spv.MissShader.rmiss +++ b/Test/spv.MissShader.rmiss @@ -1,17 +1,17 @@ #version 460 -#extension GL_NVX_raytracing : enable -layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV; -layout(location = 0) rayPayloadNVX vec4 localPayload; -layout(location = 1) rayPayloadInNVX vec4 incomingPayload; +#extension GL_NV_ray_tracing : enable +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV; +layout(location = 0) rayPayloadNV vec4 localPayload; +layout(location = 1) rayPayloadInNV vec4 incomingPayload; void main() { - uvec2 v0 = gl_LaunchIDNVX; - uvec2 v1 = gl_LaunchSizeNVX; - vec3 v2 = gl_WorldRayOriginNVX; - vec3 v3 = gl_WorldRayDirectionNVX; - vec3 v4 = gl_ObjectRayOriginNVX; - vec3 v5 = gl_ObjectRayDirectionNVX; - float v6 = gl_RayTminNVX; - float v7 = gl_RayTmaxNVX; - traceNVX(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1); + uvec3 v0 = gl_LaunchIDNV; + uvec3 v1 = gl_LaunchSizeNV; + vec3 v2 = gl_WorldRayOriginNV; + vec3 v3 = gl_WorldRayDirectionNV; + vec3 v4 = gl_ObjectRayOriginNV; + vec3 v5 = gl_ObjectRayDirectionNV; + float v6 = gl_RayTminNV; + float v7 = gl_RayTmaxNV; + traceNV(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1); } diff --git a/Test/spv.MissShader_Errors.rmiss b/Test/spv.MissShader_Errors.rmiss index a45cb8d71cc3a47b6c9bdd0f3b395a35f5b0073c..a7f7c59c3e9be9a8964ebe494621ce6c66aa9753 100644 --- a/Test/spv.MissShader_Errors.rmiss +++ b/Test/spv.MissShader_Errors.rmiss @@ -1,16 +1,16 @@ #version 460 -#extension GL_NVX_raytracing : enable -hitAttributeNVX vec4 payload; // ERROR, hitattributeNVX unsupported in this stage +#extension GL_NV_ray_tracing : enable +hitAttributeNV vec4 payload; // ERROR, hitattributeNV unsupported in this stage void main() { - int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage - int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage - int e3 = gl_InstanceCustomIndexNVX; // ERROR, unsupported builtin in stage - mat4x3 e10 = gl_ObjectToWorldNVX; // ERROR, unsupported builtin in stage - mat4x3 e11 = gl_WorldToObjectNVX; // ERROR, unsupported builtin in stage - float e12 = gl_HitTNVX; // ERROR, unsupported builtin in stage - float e13 = gl_HitKindNVX; // ERROR, unsupported builtin in stage - reportIntersectionNVX(1.0, 1U); // ERROR, unsupported builtin in stage - ignoreIntersectionNVX(); // ERROR, unsupported builtin in stage - terminateRayNVX(); // ERROR, unsupported builtin in stage + int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage + int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage + int e3 = gl_InstanceCustomIndexNV; // ERROR, unsupported builtin in stage + mat4x3 e10 = gl_ObjectToWorldNV; // ERROR, unsupported builtin in stage + mat4x3 e11 = gl_WorldToObjectNV; // ERROR, unsupported builtin in stage + float e12 = gl_HitTNV; // ERROR, unsupported builtin in stage + float e13 = gl_HitKindNV; // ERROR, unsupported builtin in stage + reportIntersectionNV(1.0, 1U); // ERROR, unsupported builtin in stage + ignoreIntersectionNV(); // ERROR, unsupported builtin in stage + terminateRayNV(); // ERROR, unsupported builtin in stage } diff --git a/Test/spv.RayCallable.rcall b/Test/spv.RayCallable.rcall new file mode 100644 index 0000000000000000000000000000000000000000..12f2884552f7e1faefa3b37eebc34677ea619c81 --- /dev/null +++ b/Test/spv.RayCallable.rcall @@ -0,0 +1,15 @@ +#version 460 +#extension GL_NV_ray_tracing : enable +layout(location = 0) callableDataNV vec4 data0; +layout(location = 1) callableDataInNV dataBlock { + uint data1; +}; +void main() +{ + uvec3 id = gl_LaunchIDNV; + uvec3 size = gl_LaunchSizeNV; + uint curFlags = gl_IncomingRayFlagsNV; + curFlags = curFlags & gl_RayFlagsOpaqueNV; + data1 = 256U; + executeCallableNV(2,1); +} diff --git a/Test/spv.RayCallable_Errors.rcall b/Test/spv.RayCallable_Errors.rcall new file mode 100644 index 0000000000000000000000000000000000000000..7339682520228e1f955a0b60eed73db04d189c55 --- /dev/null +++ b/Test/spv.RayCallable_Errors.rcall @@ -0,0 +1,25 @@ +#version 460 +#extension GL_NV_ray_tracing : enable +hitAttributeNV vec4 hitattr; // ERROR, hitattributeNV unsupported in this stage +rayPayloadNV vec4 payload; // ERROR, rayPayloadNV unsupported in this stage +rayPayloadInNV vec4 payloadIn; // ERROR, rayPayloadInNV unsupported in this stage + +void main() +{ + int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage + int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage + int e3 = gl_InstanceCustomIndexNV; // ERROR, unsupported builtin in stage + vec3 e4 = gl_WorldRayOriginNV; // ERROR, unsupported builtin in stage + vec3 e5 = gl_WorldRayDirectionNV; // ERROR, unsupported builtin in stage + vec3 e6 = gl_ObjectRayOriginNV; // ERROR, unsupported builtin in stage + vec3 e7 = gl_ObjectRayDirectionNV; // ERROR, unsupported builtin in stage + float e8 = gl_RayTminNV; // ERROR, unsupported builtin in stage + float e9 = gl_RayTmaxNV; // ERROR, unsupported builtin in stage + mat4x3 e10 = gl_ObjectToWorldNV; // ERROR, unsupported builtin in stage + mat4x3 e11 = gl_WorldToObjectNV; // ERROR, unsupported builtin in stage + float e12 = gl_HitTNV; // ERROR, unsupported builtin in stage + float e13 = gl_HitKindNV; // ERROR, unsupported builtin in stage + reportIntersectionNV(1.0, 1U); // ERROR, unsupported builtin in stage + ignoreIntersectionNV(); // ERROR, unsupported builtin in stage + terminateRayNV(); // ERROR, unsupported builtin in stage +} diff --git a/Test/spv.RayConstants.rgen b/Test/spv.RayConstants.rgen index 61ff39ec288d91c3683d4dedb7b1353a0110c159..b8ff5d5f948ecf98d0a9c94218fc1846775060b2 100644 --- a/Test/spv.RayConstants.rgen +++ b/Test/spv.RayConstants.rgen @@ -1,15 +1,15 @@ #version 460 -#extension GL_NVX_raytracing : enable -layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV; -layout(location = 0) rayPayloadNVX vec4 payload; +#extension GL_NV_ray_tracing : enable +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV; +layout(location = 0) rayPayloadNV vec4 payload; void main() { - const uint rayFlags = gl_RayFlagsNoneNVX | gl_RayFlagsOpaqueNVX | - gl_RayFlagsNoOpaqueNVX | gl_RayFlagsTerminateOnFirstHitNVX | - gl_RayFlagsSkipClosestHitShaderNVX | gl_RayFlagsCullBackFacingTrianglesNVX | - gl_RayFlagsCullFrontFacingTrianglesNVX | gl_RayFlagsCullOpaqueNVX | - gl_RayFlagsCullNoOpaqueNVX; + const uint rayFlags = gl_RayFlagsNoneNV | gl_RayFlagsOpaqueNV | + gl_RayFlagsNoOpaqueNV | gl_RayFlagsTerminateOnFirstHitNV | + gl_RayFlagsSkipClosestHitShaderNV | gl_RayFlagsCullBackFacingTrianglesNV | + gl_RayFlagsCullFrontFacingTrianglesNV | gl_RayFlagsCullOpaqueNV | + gl_RayFlagsCullNoOpaqueNV; const int payloadId = 1; - traceNVX(accNV, rayFlags, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, payloadId); + traceNV(accNV, rayFlags, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, payloadId); } diff --git a/Test/spv.RayGenShader.rgen b/Test/spv.RayGenShader.rgen index 19f16cea1a48828e0ceadc2bcdcc4aab0c30e35c..68f92b22d05d5a20aee3ecf152c7c1f381b2245b 100644 --- a/Test/spv.RayGenShader.rgen +++ b/Test/spv.RayGenShader.rgen @@ -1,19 +1,19 @@ #version 460 -#extension GL_NVX_raytracing : enable -layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV; -layout(location = 0) rayPayloadNVX vec4 payload; -layout(shaderRecordNVX) buffer block +#extension GL_NV_ray_tracing : enable +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV; +layout(location = 0) rayPayloadNV vec4 payload; +layout(shaderRecordNV) buffer block { float arr[4]; vec4 pad; }; void main() { - uint lx = gl_LaunchIDNVX.x; - uint ly = gl_LaunchIDNVX.y; - uint sx = gl_LaunchSizeNVX.x; - uint sy = gl_LaunchSizeNVX.y; - traceNVX(accNV, lx, ly, sx, sy, 0u, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 1); + uint lx = gl_LaunchIDNV.x; + uint ly = gl_LaunchIDNV.y; + uint sx = gl_LaunchSizeNV.x; + uint sy = gl_LaunchSizeNV.y; + traceNV(accNV, lx, ly, sx, sy, 0u, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 1); arr[3] = 1.0f; pad = payload; } diff --git a/Test/spv.RayGenShader_Errors.rgen b/Test/spv.RayGenShader_Errors.rgen index 73175b81f8f8d26e175221d0e3b7e6e0e812eea3..d61ac21cc8826a1d248b2ae60746cd78eee086b3 100644 --- a/Test/spv.RayGenShader_Errors.rgen +++ b/Test/spv.RayGenShader_Errors.rgen @@ -1,40 +1,40 @@ #version 460 -#extension GL_NVX_raytracing : enable -hitAttributeNVX vec4 payload; // ERROR, hitattributeNVX unsupported in this stage -rayPayloadInNVX vec4 payloadIn; // ERROR, rayPayloadIn unsupported in this stage -layout(shaderRecordNVX) uniform ublock // ERROR, shaderRecordNVX unsupported on uniform blocks +#extension GL_NV_ray_tracing : enable +hitAttributeNV vec4 payload; // ERROR, hitattributeNV unsupported in this stage +rayPayloadInNV vec4 payloadIn; // ERROR, rayPayloadIn unsupported in this stage +layout(shaderRecordNV) uniform ublock // ERROR, shaderRecordNV unsupported on uniform blocks { float a; }; -layout(binding = 0, shaderRecordNVX) buffer bblock { // ERROR, binding unsupported on shaderRecordNVX blocks +layout(binding = 0, shaderRecordNV) buffer bblock { // ERROR, binding unsupported on shaderRecordNV blocks float b; }; -layout(set = 0, shaderRecordNVX) buffer bblock2 { // ERROR, set unsupported on shaderRecordNVX blocks +layout(set = 0, shaderRecordNV) buffer bblock2 { // ERROR, set unsupported on shaderRecordNV blocks float c; }; -layout(shaderRecordNVX) buffer bblock3 { +layout(shaderRecordNV) buffer bblock3 { float d; }; -layout(shaderRecordNVX) buffer bblock4 { // ERROR, cannot have more than one shaderRecordNVX block +layout(shaderRecordNV) buffer bblock4 { // ERROR, cannot have more than one shaderRecordNVX block float e; }; void main() { - accelerationStructureNVX a = 0; + accelerationStructureNV a = 0; int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage - int e3 = gl_InstanceCustomIndexNVX; // ERROR, unsupported builtin in stage - vec3 e4 = gl_WorldRayOriginNVX; // ERROR, unsupported builtin in stage - vec3 e5 = gl_WorldRayDirectionNVX; // ERROR, unsupported builtin in stage - vec3 e6 = gl_ObjectRayOriginNVX; // ERROR, unsupported builtin in stage - vec3 e7 = gl_ObjectRayDirectionNVX; // ERROR, unsupported builtin in stage - float e8 = gl_RayTminNVX; // ERROR, unsupported builtin in stage - float e9 = gl_RayTmaxNVX; // ERROR, unsupported builtin in stage - mat4x3 e10 = gl_ObjectToWorldNVX; // ERROR, unsupported builtin in stage - mat4x3 e11 = gl_WorldToObjectNVX; // ERROR, unsupported builtin in stage - float e12 = gl_HitTNVX; // ERROR, unsupported builtin in stage - float e13 = gl_HitKindNVX; // ERROR, unsupported builtin in stage - reportIntersectionNVX(1.0, 1U); // ERROR, unsupported builtin in stage - ignoreIntersectionNVX(); // ERROR, unsupported builtin in stage - terminateRayNVX(); // ERROR, unsupported builtin in stage + int e3 = gl_InstanceCustomIndexNV; // ERROR, unsupported builtin in stage + vec3 e4 = gl_WorldRayOriginNV; // ERROR, unsupported builtin in stage + vec3 e5 = gl_WorldRayDirectionNV; // ERROR, unsupported builtin in stage + vec3 e6 = gl_ObjectRayOriginNV; // ERROR, unsupported builtin in stage + vec3 e7 = gl_ObjectRayDirectionNV; // ERROR, unsupported builtin in stage + float e8 = gl_RayTminNV; // ERROR, unsupported builtin in stage + float e9 = gl_RayTmaxNV; // ERROR, unsupported builtin in stage + mat4x3 e10 = gl_ObjectToWorldNV; // ERROR, unsupported builtin in stage + mat4x3 e11 = gl_WorldToObjectNV; // ERROR, unsupported builtin in stage + float e12 = gl_HitTNV; // ERROR, unsupported builtin in stage + float e13 = gl_HitKindNV; // ERROR, unsupported builtin in stage + reportIntersectionNV(1.0, 1U); // ERROR, unsupported builtin in stage + ignoreIntersectionNV(); // ERROR, unsupported builtin in stage + terminateRayNV(); // ERROR, unsupported builtin in stage } diff --git a/glslang/Include/BaseTypes.h b/glslang/Include/BaseTypes.h index fc3a19f90ab1a8e4961cf20bebc96f859cb76863..4a7c0568635da02cca397a3aad8fb513ebdcf318 100644 --- a/glslang/Include/BaseTypes.h +++ b/glslang/Include/BaseTypes.h @@ -96,6 +96,8 @@ enum TStorageQualifier { EvqPayloadNV, EvqPayloadInNV, EvqHitAttrNV, + EvqCallableDataNV, + EvqCallableDataInNV, #endif // parameters @@ -253,6 +255,7 @@ enum TBuiltInVariable { EbvHitKindNV, EbvObjectToWorldNV, EbvWorldToObjectNV, + EbvIncomingRayFlagsNV, EbvBaryCoordNV, EbvBaryCoordNoPerspNV, EbvTaskCountNV, @@ -310,9 +313,11 @@ __inline const char* GetStorageQualifierString(TStorageQualifier q) case EvqFragColor: return "fragColor"; break; case EvqFragDepth: return "gl_FragDepth"; break; #ifdef NV_EXTENSIONS - case EvqPayloadNV: return "rayPayloadNVX"; break; - case EvqPayloadInNV: return "rayPayloadInNVX"; break; - case EvqHitAttrNV: return "hitAttributeNVX"; break; + case EvqPayloadNV: return "rayPayloadNV"; break; + case EvqPayloadInNV: return "rayPayloadInNV"; break; + case EvqHitAttrNV: return "hitAttributeNV"; break; + case EvqCallableDataNV: return "callableDataNV"; break; + case EvqCallableDataInNV: return "callableDataInNV"; break; #endif default: return "unknown qualifier"; } @@ -408,19 +413,21 @@ __inline const char* GetBuiltInVariableString(TBuiltInVariable v) case EbvFragFullyCoveredNV: return "FragFullyCoveredNV"; case EbvFragmentSizeNV: return "FragmentSizeNV"; case EbvInvocationsPerPixelNV: return "InvocationsPerPixelNV"; - case EbvLaunchIdNV: return "LaunchIdNVX"; - case EbvLaunchSizeNV: return "LaunchSizeNVX"; - case EbvInstanceCustomIndexNV: return "InstanceCustomIndexNVX"; - case EbvWorldRayOriginNV: return "WorldRayOriginNVX"; - case EbvWorldRayDirectionNV: return "WorldRayDirectionNVX"; - case EbvObjectRayOriginNV: return "ObjectRayOriginNVX"; - case EbvObjectRayDirectionNV: return "ObjectRayDirectionNVX"; - case EbvRayTminNV: return "ObjectRayTminNVX"; - case EbvRayTmaxNV: return "ObjectRayTmaxNVX"; - case EbvHitTNV: return "HitTNVX"; - case EbvHitKindNV: return "HitKindNVX"; - case EbvObjectToWorldNV: return "ObjectToWorldNVX"; - case EbvWorldToObjectNV: return "WorldToObjectNVX"; + case EbvLaunchIdNV: return "LaunchIdNV"; + case EbvLaunchSizeNV: return "LaunchSizeNV"; + case EbvInstanceCustomIndexNV: return "InstanceCustomIndexNV"; + case EbvWorldRayOriginNV: return "WorldRayOriginNV"; + case EbvWorldRayDirectionNV: return "WorldRayDirectionNV"; + case EbvObjectRayOriginNV: return "ObjectRayOriginNV"; + case EbvObjectRayDirectionNV: return "ObjectRayDirectionNV"; + case EbvRayTminNV: return "ObjectRayTminNV"; + case EbvRayTmaxNV: return "ObjectRayTmaxNV"; + case EbvHitTNV: return "HitTNV"; + case EbvHitKindNV: return "HitKindNV"; + case EbvIncomingRayFlagsNV: return "IncomingRayFlagsNV"; + case EbvObjectToWorldNV: return "ObjectToWorldNV"; + case EbvWorldToObjectNV: return "WorldToObjectNV"; + case EbvBaryCoordNV: return "BaryCoordNV"; case EbvBaryCoordNoPerspNV: return "BaryCoordNoPerspNV"; case EbvTaskCountNV: return "TaskCountNV"; diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h index 45368604580c7bb135c412ab5cceb20100b8b0da..ae9cf4021c2d9e4976fdb20efd70f63e058d69b9 100644 --- a/glslang/Include/Types.h +++ b/glslang/Include/Types.h @@ -1684,7 +1684,7 @@ public: case EbtStruct: return "structure"; case EbtBlock: return "block"; #ifdef NV_EXTENSIONS - case EbtAccStructNV: return "accelerationStructureNVX"; + case EbtAccStructNV: return "accelerationStructureNV"; #endif default: return "unknown type"; } @@ -1782,7 +1782,7 @@ public: appendInt(qualifier.layoutSecondaryViewportRelativeOffset); } if (qualifier.layoutShaderRecordNV) - appendStr(" shaderRecordNVX"); + appendStr(" shaderRecordNV"); #endif appendStr(")"); diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h index b770cee61e45b78d4168138a75115b5cd6016257..27250070c2502c3c2921ace4174b745331780612 100644 --- a/glslang/Include/intermediate.h +++ b/glslang/Include/intermediate.h @@ -898,6 +898,7 @@ enum TOperator { EOpReportIntersectionNV, EOpIgnoreIntersectionNV, EOpTerminateRayNV, + EOpExecuteCallableNV, EOpWritePackedPrimitiveIndices4x8NV, #endif // diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp index 7e7eaba34f60379555e2bc239ad1163857b81294..a17ea1ae5735d1851338861d36054f1a74a34590 100644 --- a/glslang/MachineIndependent/Initialize.cpp +++ b/glslang/MachineIndependent/Initialize.cpp @@ -5059,23 +5059,29 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV #ifdef NV_EXTENSIONS - // Builtins for GL_NV_raytracing + // Builtins for GL_NV_ray_tracing if (profile != EEsProfile && version >= 460) { stageBuiltins[EShLangRayGenNV].append( - "void traceNVX(accelerationStructureNVX,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void executeCallableNV(uint, int);" "\n"); stageBuiltins[EShLangIntersectNV].append( - "bool reportIntersectionNVX(float, uint);" + "bool reportIntersectionNV(float, uint);" "\n"); stageBuiltins[EShLangAnyHitNV].append( - "void ignoreIntersectionNVX();" - "void terminateRayNVX();" + "void ignoreIntersectionNV();" + "void terminateRayNV();" "\n"); stageBuiltins[EShLangClosestHitNV].append( - "void traceNVX(accelerationStructureNVX,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void executeCallableNV(uint, int);" "\n"); stageBuiltins[EShLangMissNV].append( - "void traceNVX(accelerationStructureNVX,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void executeCallableNV(uint, int);" + "\n"); + stageBuiltins[EShLangCallableNV].append( + "void executeCallableNV(uint, int);" "\n"); } @@ -6107,79 +6113,94 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV } #ifdef NV_EXTENSIONS - // GL_NV_raytracing + // GL_NV_ray_tracing if (profile != EEsProfile && version >= 460) { const char *constRayFlags = - "const uint gl_RayFlagsNoneNVX = 0U;" - "const uint gl_RayFlagsOpaqueNVX = 1U;" - "const uint gl_RayFlagsNoOpaqueNVX = 2U;" - "const uint gl_RayFlagsTerminateOnFirstHitNVX = 4U;" - "const uint gl_RayFlagsSkipClosestHitShaderNVX = 8U;" - "const uint gl_RayFlagsCullBackFacingTrianglesNVX = 16U;" - "const uint gl_RayFlagsCullFrontFacingTrianglesNVX = 32U;" - "const uint gl_RayFlagsCullOpaqueNVX = 64U;" - "const uint gl_RayFlagsCullNoOpaqueNVX = 128U;" + "const uint gl_RayFlagsNoneNV = 0U;" + "const uint gl_RayFlagsOpaqueNV = 1U;" + "const uint gl_RayFlagsNoOpaqueNV = 2U;" + "const uint gl_RayFlagsTerminateOnFirstHitNV = 4U;" + "const uint gl_RayFlagsSkipClosestHitShaderNV = 8U;" + "const uint gl_RayFlagsCullBackFacingTrianglesNV = 16U;" + "const uint gl_RayFlagsCullFrontFacingTrianglesNV = 32U;" + "const uint gl_RayFlagsCullOpaqueNV = 64U;" + "const uint gl_RayFlagsCullNoOpaqueNV = 128U;" "\n"; const char *rayGenDecls = - "in uvec2 gl_LaunchIDNVX;" - "in uvec2 gl_LaunchSizeNVX;" + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchSizeNV;" "\n"; const char *intersectDecls = - "in uvec2 gl_LaunchIDNVX;" - "in uvec2 gl_LaunchSizeNVX;" + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchSizeNV;" "in int gl_PrimitiveID;" "in int gl_InstanceID;" - "in int gl_InstanceCustomIndexNVX;" - "in vec3 gl_WorldRayOriginNVX;" - "in vec3 gl_WorldRayDirectionNVX;" - "in vec3 gl_ObjectRayOriginNVX;" - "in vec3 gl_ObjectRayDirectionNVX;" - "in float gl_RayTminNVX;" - "in float gl_RayTmaxNVX;" - "in mat4x3 gl_ObjectToWorldNVX;" - "in mat4x3 gl_WorldToObjectNVX;" + "in int gl_InstanceCustomIndexNV;" + "in vec3 gl_WorldRayOriginNV;" + "in vec3 gl_WorldRayDirectionNV;" + "in vec3 gl_ObjectRayOriginNV;" + "in vec3 gl_ObjectRayDirectionNV;" + "in float gl_RayTminNV;" + "in float gl_RayTmaxNV;" + "in mat4x3 gl_ObjectToWorldNV;" + "in mat4x3 gl_WorldToObjectNV;" + "in uint gl_IncomingRayFlagsNV;" "\n"; const char *hitDecls = - "in uvec2 gl_LaunchIDNVX;" - "in uvec2 gl_LaunchSizeNVX;" + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchSizeNV;" "in int gl_PrimitiveID;" "in int gl_InstanceID;" - "in int gl_InstanceCustomIndexNVX;" - "in vec3 gl_WorldRayOriginNVX;" - "in vec3 gl_WorldRayDirectionNVX;" - "in vec3 gl_ObjectRayOriginNVX;" - "in vec3 gl_ObjectRayDirectionNVX;" - "in float gl_RayTminNVX;" - "in float gl_RayTmaxNVX;" - "in float gl_HitTNVX;" - "in uint gl_HitKindNVX;" - "in mat4x3 gl_ObjectToWorldNVX;" - "in mat4x3 gl_WorldToObjectNVX;" + "in int gl_InstanceCustomIndexNV;" + "in vec3 gl_WorldRayOriginNV;" + "in vec3 gl_WorldRayDirectionNV;" + "in vec3 gl_ObjectRayOriginNV;" + "in vec3 gl_ObjectRayDirectionNV;" + "in float gl_RayTminNV;" + "in float gl_RayTmaxNV;" + "in float gl_HitTNV;" + "in uint gl_HitKindNV;" + "in mat4x3 gl_ObjectToWorldNV;" + "in mat4x3 gl_WorldToObjectNV;" + "in uint gl_IncomingRayFlagsNV;" "\n"; const char *missDecls = - "in uvec2 gl_LaunchIDNVX;" - "in uvec2 gl_LaunchSizeNVX;" - "in vec3 gl_WorldRayOriginNVX;" - "in vec3 gl_WorldRayDirectionNVX;" - "in vec3 gl_ObjectRayOriginNVX;" - "in vec3 gl_ObjectRayDirectionNVX;" - "in float gl_RayTminNVX;" - "in float gl_RayTmaxNVX;" + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchSizeNV;" + "in vec3 gl_WorldRayOriginNV;" + "in vec3 gl_WorldRayDirectionNV;" + "in vec3 gl_ObjectRayOriginNV;" + "in vec3 gl_ObjectRayDirectionNV;" + "in float gl_RayTminNV;" + "in float gl_RayTmaxNV;" + "in uint gl_IncomingRayFlagsNV;" + "\n"; + + const char *callableDecls = + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchSizeNV;" + "in uint gl_IncomingRayFlagsNV;" "\n"; stageBuiltins[EShLangRayGenNV].append(rayGenDecls); stageBuiltins[EShLangRayGenNV].append(constRayFlags); stageBuiltins[EShLangIntersectNV].append(intersectDecls); + stageBuiltins[EShLangIntersectNV].append(constRayFlags); stageBuiltins[EShLangAnyHitNV].append(hitDecls); + stageBuiltins[EShLangAnyHitNV].append(constRayFlags); stageBuiltins[EShLangClosestHitNV].append(hitDecls); stageBuiltins[EShLangClosestHitNV].append(constRayFlags); stageBuiltins[EShLangMissNV].append(missDecls); stageBuiltins[EShLangMissNV].append(constRayFlags); + + stageBuiltins[EShLangCallableNV].append(callableDecls); + stageBuiltins[EShLangCallableNV].append(constRayFlags); + } if ((profile != EEsProfile && version >= 140)) { const char *deviceIndex = @@ -8600,39 +8621,43 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion case EShLangAnyHitNV: case EShLangClosestHitNV: case EShLangMissNV: + case EShLangCallableNV: if (profile != EEsProfile && version >= 460) { - symbolTable.setVariableExtensions("gl_LaunchIDNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_LaunchSizeNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_PrimitiveID", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_InstanceID", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_InstanceCustomIndexNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_WorldRayOriginNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_WorldRayDirectionNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_ObjectRayOriginNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_ObjectRayDirectionNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_RayTminNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_RayTmaxNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_HitTNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_HitKindNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_ObjectToWorldNVX", 1, &E_GL_NVX_raytracing); - symbolTable.setVariableExtensions("gl_WorldToObjectNVX", 1, &E_GL_NVX_raytracing); + symbolTable.setVariableExtensions("gl_LaunchIDNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_LaunchSizeNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_PrimitiveID", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_InstanceID", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_InstanceCustomIndexNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldRayOriginNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldRayDirectionNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectRayOriginNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectRayDirectionNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_RayTminNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_RayTmaxNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_HitTNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_HitKindNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectToWorldNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldToObjectNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_IncomingRayFlagsNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); - BuiltInVariable("gl_LaunchIDNVX", EbvLaunchIdNV, symbolTable); - BuiltInVariable("gl_LaunchSizeNVX", EbvLaunchSizeNV, symbolTable); + BuiltInVariable("gl_LaunchIDNV", EbvLaunchIdNV, symbolTable); + BuiltInVariable("gl_LaunchSizeNV", EbvLaunchSizeNV, symbolTable); BuiltInVariable("gl_PrimitiveID", EbvPrimitiveId, symbolTable); BuiltInVariable("gl_InstanceID", EbvInstanceId, symbolTable); - BuiltInVariable("gl_InstanceCustomIndexNVX",EbvInstanceCustomIndexNV,symbolTable); - BuiltInVariable("gl_WorldRayOriginNVX", EbvWorldRayOriginNV, symbolTable); - BuiltInVariable("gl_WorldRayDirectionNVX", EbvWorldRayDirectionNV, symbolTable); - BuiltInVariable("gl_ObjectRayOriginNVX", EbvObjectRayOriginNV, symbolTable); - BuiltInVariable("gl_ObjectRayDirectionNVX", EbvObjectRayDirectionNV, symbolTable); - BuiltInVariable("gl_RayTminNVX", EbvRayTminNV, symbolTable); - BuiltInVariable("gl_RayTmaxNVX", EbvRayTmaxNV, symbolTable); - BuiltInVariable("gl_HitTNVX", EbvHitTNV, symbolTable); - BuiltInVariable("gl_HitKindNVX", EbvHitKindNV, symbolTable); - BuiltInVariable("gl_ObjectToWorldNVX", EbvObjectToWorldNV, symbolTable); - BuiltInVariable("gl_WorldToObjectNVX", EbvWorldToObjectNV, symbolTable); + BuiltInVariable("gl_InstanceCustomIndexNV", EbvInstanceCustomIndexNV,symbolTable); + BuiltInVariable("gl_WorldRayOriginNV", EbvWorldRayOriginNV, symbolTable); + BuiltInVariable("gl_WorldRayDirectionNV", EbvWorldRayDirectionNV, symbolTable); + BuiltInVariable("gl_ObjectRayOriginNV", EbvObjectRayOriginNV, symbolTable); + BuiltInVariable("gl_ObjectRayDirectionNV", EbvObjectRayDirectionNV, symbolTable); + BuiltInVariable("gl_RayTminNV", EbvRayTminNV, symbolTable); + BuiltInVariable("gl_RayTmaxNV", EbvRayTmaxNV, symbolTable); + BuiltInVariable("gl_HitTNV", EbvHitTNV, symbolTable); + BuiltInVariable("gl_HitKindNV", EbvHitKindNV, symbolTable); + BuiltInVariable("gl_ObjectToWorldNV", EbvObjectToWorldNV, symbolTable); + BuiltInVariable("gl_WorldToObjectNV", EbvWorldToObjectNV, symbolTable); + BuiltInVariable("gl_IncomingRayFlagsNV", EbvIncomingRayFlagsNV, symbolTable); BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); } break; @@ -9373,17 +9398,24 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion case EShLangRayGenNV: case EShLangClosestHitNV: case EShLangMissNV: - if (profile != EEsProfile && version >= 460) - symbolTable.relateToOperator("traceNVX", EOpTraceNV); + if (profile != EEsProfile && version >= 460) { + symbolTable.relateToOperator("traceNV", EOpTraceNV); + symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallableNV); + } break; case EShLangIntersectNV: if (profile != EEsProfile && version >= 460) - symbolTable.relateToOperator("reportIntersectionNVX", EOpReportIntersectionNV); + symbolTable.relateToOperator("reportIntersectionNV", EOpReportIntersectionNV); break; case EShLangAnyHitNV: if (profile != EEsProfile && version >= 460) { - symbolTable.relateToOperator("ignoreIntersectionNVX", EOpIgnoreIntersectionNV); - symbolTable.relateToOperator("terminateRayNVX", EOpTerminateRayNV); + symbolTable.relateToOperator("ignoreIntersectionNV", EOpIgnoreIntersectionNV); + symbolTable.relateToOperator("terminateRayNV", EOpTerminateRayNV); + } + break; + case EShLangCallableNV: + if (profile != EEsProfile && version >= 460) { + symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallableNV); } break; case EShLangMeshNV: diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp index ca5d7e4cfe0d3d47c4087b777e38755844389614..7a968ce50cfa122d5ad33b46a27148dc6c9a29fc 100644 --- a/glslang/MachineIndependent/ParseContextBase.cpp +++ b/glslang/MachineIndependent/ParseContextBase.cpp @@ -156,7 +156,7 @@ bool TParseContextBase::lValueErrorCheck(const TSourceLoc& loc, const char* op, #ifdef NV_EXTENSIONS case EvqHitAttrNV: if (language != EShLangIntersectNV) - message = "cannot modify hitAttributeNVX in this stage"; + message = "cannot modify hitAttributeNV in this stage"; break; #endif @@ -176,7 +176,7 @@ bool TParseContextBase::lValueErrorCheck(const TSourceLoc& loc, const char* op, break; #ifdef NV_EXTENSIONS case EbtAccStructNV: - message = "can't modify accelerationStructureNVX"; + message = "can't modify accelerationStructureNV"; break; #endif default: diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 3063d372e79423c013d6d526f55bc50f90e9e000..74cd5ce5e65c5b6f19fc0e4fd2e0b48833ef1fa5 100755 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -1872,6 +1872,17 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan break; } +#ifdef NV_EXTENSIONS + case EOpTraceNV: + if (!(*argp)[10]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "payload number", ""); + break; + case EOpExecuteCallableNV: + if (!(*argp)[1]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "callable data number", ""); + break; +#endif + case EOpTextureQuerySamples: case EOpImageQuerySamples: // GL_ARB_shader_texture_image_samples @@ -2990,9 +3001,9 @@ void TParseContext::accStructNVCheck(const TSourceLoc& loc, const TType& type, c return; if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtAccStructNV)) - error(loc, "non-uniform struct contains an accelerationStructureNVX:", type.getBasicTypeString().c_str(), identifier.c_str()); + error(loc, "non-uniform struct contains an accelerationStructureNV:", type.getBasicTypeString().c_str(), identifier.c_str()); else if (type.getBasicType() == EbtAccStructNV && type.getQualifier().storage != EvqUniform) - error(loc, "accelerationStructureNVX can only be used in uniform variables or function parameters:", + error(loc, "accelerationStructureNV can only be used in uniform variables or function parameters:", type.getBasicTypeString().c_str(), identifier.c_str()); } @@ -4778,7 +4789,7 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi if (language == EShLangRayGenNV || language == EShLangIntersectNV || language == EShLangAnyHitNV || language == EShLangClosestHitNV || language == EShLangMissNV || language == EShLangCallableNV) { - if (id == "shaderrecordnvx") { + if (id == "shaderrecordnv") { publicType.qualifier.layoutShaderRecordNV = true; return; } @@ -5236,7 +5247,7 @@ void TParseContext::layoutObjectCheck(const TSourceLoc& loc, const TSymbol& symb error(loc, "can only specify on a uniform block", "push_constant", ""); #ifdef NV_EXTENSIONS if (qualifier.layoutShaderRecordNV) - error(loc, "can only specify on a buffer block", "shaderRecordNVX", ""); + error(loc, "can only specify on a buffer block", "shaderRecordNV", ""); #endif } break; @@ -5315,6 +5326,8 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type) case EvqPayloadNV: case EvqPayloadInNV: case EvqHitAttrNV: + case EvqCallableDataNV: + case EvqCallableDataInNV: break; #endif default: @@ -5457,7 +5470,7 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type) #ifdef NV_EXTENSIONS if (qualifier.layoutShaderRecordNV && type.getBasicType() != EbtBlock) - error(loc, "can only be used with a block", "shaderRecordNVX", ""); + error(loc, "can only be used with a block", "shaderRecordNV", ""); #endif // input attachment @@ -5598,11 +5611,15 @@ void TParseContext::layoutQualifierCheck(const TSourceLoc& loc, const TQualifier #ifdef NV_EXTENSIONS if (qualifier.layoutShaderRecordNV) { if (qualifier.storage != EvqBuffer) - error(loc, "can only be used with a buffer", "shaderRecordNVX", ""); + error(loc, "can only be used with a buffer", "shaderRecordNV", ""); if (qualifier.hasBinding()) - error(loc, "cannot be used with shaderRecordNVX", "binding", ""); + error(loc, "cannot be used with shaderRecordNV", "binding", ""); if (qualifier.hasSet()) - error(loc, "cannot be used with shaderRecordNVX", "set", ""); + error(loc, "cannot be used with shaderRecordNV", "set", ""); + + } + if (qualifier.storage == EvqHitAttrNV && qualifier.hasLayout()) { + error(loc, "cannot apply layout qualifiers to hitAttributeNV variable", "hitAttributeNV", ""); } #endif } @@ -6963,18 +6980,27 @@ void TParseContext::blockStageIoCheck(const TSourceLoc& loc, const TQualifier& q break; #ifdef NV_EXTENSIONS case EvqPayloadNV: - profileRequires(loc, ~EEsProfile, 450, E_GL_NVX_raytracing, "rayPayloadNVX block"); + profileRequires(loc, ~EEsProfile, 460, E_GL_NV_ray_tracing, "rayPayloadNV block"); requireStage(loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangAnyHitNVMask | EShLangClosestHitNVMask | EShLangMissNVMask), - "rayPayloadNVX block"); + "rayPayloadNV block"); break; case EvqPayloadInNV: - profileRequires(loc, ~EEsProfile, 450, E_GL_NVX_raytracing, "rayPayloadInNVX block"); + profileRequires(loc, ~EEsProfile, 460, E_GL_NV_ray_tracing, "rayPayloadInNV block"); requireStage(loc, (EShLanguageMask)(EShLangAnyHitNVMask | EShLangClosestHitNVMask | EShLangMissNVMask), - "rayPayloadInNVX block"); + "rayPayloadInNV block"); break; case EvqHitAttrNV: - profileRequires(loc, ~EEsProfile, 450, E_GL_NVX_raytracing, "hitAttributeNVX block"); - requireStage(loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangAnyHitNVMask | EShLangClosestHitNVMask), "hitAttributeNVX block"); + profileRequires(loc, ~EEsProfile, 460, E_GL_NV_ray_tracing, "hitAttributeNV block"); + requireStage(loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangAnyHitNVMask | EShLangClosestHitNVMask), "hitAttributeNV block"); + break; + case EvqCallableDataNV: + profileRequires(loc, ~EEsProfile, 460, E_GL_NV_ray_tracing, "callableDataNV block"); + requireStage(loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangClosestHitNVMask | EShLangMissNVMask | EShLangCallableNVMask), + "callableDataNV block"); + break; + case EvqCallableDataInNV: + profileRequires(loc, ~EEsProfile, 460, E_GL_NV_ray_tracing, "callableDataInNV block"); + requireStage(loc, (EShLanguageMask)(EShLangCallableNVMask), "callableDataInNV block"); break; #endif default: @@ -7503,7 +7529,7 @@ void TParseContext::updateStandaloneQualifierDefaults(const TSourceLoc& loc, con error(loc, "cannot declare a default, can only be used on a scalar", "constant_id", ""); #ifdef NV_EXTENSIONS if (qualifier.layoutShaderRecordNV) - error(loc, "cannot declare a default, can only be used on a block", "shaderRecordNVX", ""); + error(loc, "cannot declare a default, can only be used on a block", "shaderRecordNV", ""); #endif } diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp index 31ed7cf73d359d845eebb1e9f454b41987c41477..4d2db385704d66cf7fc5267a7f511813c72fb8db 100644 --- a/glslang/MachineIndependent/Scan.cpp +++ b/glslang/MachineIndependent/Scan.cpp @@ -701,10 +701,12 @@ void TScanContext::fillInKeywordMap() (*KeywordMap)["superp"] = SUPERP; #ifdef NV_EXTENSIONS - (*KeywordMap)["rayPayloadNVX"] = PAYLOADNV; - (*KeywordMap)["rayPayloadInNVX"] = PAYLOADINNV; - (*KeywordMap)["hitAttributeNVX"] = HITATTRNV; - (*KeywordMap)["accelerationStructureNVX"] = ACCSTRUCTNV; + (*KeywordMap)["rayPayloadNV"] = PAYLOADNV; + (*KeywordMap)["rayPayloadInNV"] = PAYLOADINNV; + (*KeywordMap)["hitAttributeNV"] = HITATTRNV; + (*KeywordMap)["callableDataNV"] = CALLDATANV; + (*KeywordMap)["callableDataInNV"] = CALLDATAINNV; + (*KeywordMap)["accelerationStructureNV"] = ACCSTRUCTNV; (*KeywordMap)["perprimitiveNV"] = PERPRIMITIVENV; (*KeywordMap)["perviewNV"] = PERVIEWNV; (*KeywordMap)["taskNV"] = PERTASKNV; @@ -952,10 +954,12 @@ int TScanContext::tokenizeIdentifier() case PAYLOADNV: case PAYLOADINNV: case HITATTRNV: + case CALLDATANV: + case CALLDATAINNV: case ACCSTRUCTNV: if (parseContext.symbolTable.atBuiltInLevel() || (parseContext.profile != EEsProfile && parseContext.version >= 460 - && parseContext.extensionTurnedOn(E_GL_NVX_raytracing))) + && parseContext.extensionTurnedOn(E_GL_NV_ray_tracing))) return keyword; return identifierOrType(); #endif diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 522ded162e7bde558b636329b0fb94fdda4adfc9..3c847d238f356c6c5b142f92cd20f5e958d0f3c5 100755 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -360,6 +360,8 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS infoSink, commonTable, symbolTables); InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMissNV, source, infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCallableNV, source, + infoSink, commonTable, symbolTables); } // check for mesh @@ -607,7 +609,7 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo case EShLangCallableNV: if (profile == EEsProfile || version < 460) { correct = false; - infoSink.info.message(EPrefixError, "#version: raytracing shaders require non-es profile with version 460 or above"); + infoSink.info.message(EPrefixError, "#version: ray tracing shaders require non-es profile with version 460 or above"); version = 460; } break; diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp index b26bc3e839a789f6fc245d0d5ffc8c4903e9d366..66fa3e25e32c39e72cd061ff53e1e1540f0d1894 100644 --- a/glslang/MachineIndependent/Versions.cpp +++ b/glslang/MachineIndependent/Versions.cpp @@ -236,7 +236,7 @@ void TParseVersions::initializeExtensionBehavior() extensionBehavior[E_GL_NV_shader_noperspective_interpolation] = EBhDisable; extensionBehavior[E_GL_NV_shader_subgroup_partitioned] = EBhDisable; extensionBehavior[E_GL_NV_shading_rate_image] = EBhDisable; - extensionBehavior[E_GL_NVX_raytracing] = EBhDisable; + extensionBehavior[E_GL_NV_ray_tracing] = EBhDisable; extensionBehavior[E_GL_NV_fragment_shader_barycentric] = EBhDisable; extensionBehavior[E_GL_NV_compute_shader_derivatives] = EBhDisable; extensionBehavior[E_GL_NV_shader_texture_footprint] = EBhDisable; @@ -412,7 +412,7 @@ void TParseVersions::getPreamble(std::string& preamble) "#define GL_NV_conservative_raster_underestimation 1\n" "#define GL_NV_shader_subgroup_partitioned 1\n" "#define GL_NV_shading_rate_image 1\n" - "#define GL_NVX_raytracing 1\n" + "#define GL_NV_ray_tracing 1\n" "#define GL_NV_fragment_shader_barycentric 1\n" "#define GL_NV_compute_shader_derivatives 1\n" "#define GL_NV_shader_texture_footprint 1\n" diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h index e4cbbbbc34069eb670fd872d9cebb9a9f88ad57b..85c93c0ac37bf673cfedae4eb6166bb9172e19d0 100644 --- a/glslang/MachineIndependent/Versions.h +++ b/glslang/MachineIndependent/Versions.h @@ -208,7 +208,7 @@ const char* const E_GL_NV_conservative_raster_underestimation = "GL_NV_conserv const char* const E_GL_NV_shader_noperspective_interpolation = "GL_NV_shader_noperspective_interpolation"; const char* const E_GL_NV_shader_subgroup_partitioned = "GL_NV_shader_subgroup_partitioned"; const char* const E_GL_NV_shading_rate_image = "GL_NV_shading_rate_image"; -const char* const E_GL_NVX_raytracing = "GL_NVX_raytracing"; +const char* const E_GL_NV_ray_tracing = "GL_NV_ray_tracing"; const char* const E_GL_NV_fragment_shader_barycentric = "GL_NV_fragment_shader_barycentric"; const char* const E_GL_NV_compute_shader_derivatives = "GL_NV_compute_shader_derivatives"; const char* const E_GL_NV_shader_texture_footprint = "GL_NV_shader_texture_footprint"; diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y index f6e33c6dd1ed28f7fb624665ba550ecb69f3cb25..3634f16fb28e8ad8322eb71ee3bea45df8ba4939 100644 --- a/glslang/MachineIndependent/glslang.y +++ b/glslang/MachineIndependent/glslang.y @@ -140,7 +140,7 @@ extern int yylex(YYSTYPE*, TParseContext&); %token <lex> U8VEC2 U8VEC3 U8VEC4 %token <lex> VEC2 VEC3 VEC4 %token <lex> MAT2 MAT3 MAT4 CENTROID IN OUT INOUT -%token <lex> UNIFORM PATCH SAMPLE BUFFER SHARED NONUNIFORM PAYLOADNV PAYLOADINNV HITATTRNV +%token <lex> UNIFORM PATCH SAMPLE BUFFER SHARED NONUNIFORM PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV %token <lex> COHERENT VOLATILE RESTRICT READONLY WRITEONLY DEVICECOHERENT QUEUEFAMILYCOHERENT WORKGROUPCOHERENT SUBGROUPCOHERENT NONPRIVATE %token <lex> DVEC2 DVEC3 DVEC4 DMAT2 DMAT3 DMAT4 %token <lex> F16VEC2 F16VEC3 F16VEC4 F16MAT2 F16MAT3 F16MAT4 @@ -1348,32 +1348,51 @@ storage_qualifier } | HITATTRNV { #ifdef NV_EXTENSIONS - parseContext.globalCheck($1.loc, "hitAttributeNVX"); + parseContext.globalCheck($1.loc, "hitAttributeNV"); parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangClosestHitNVMask - | EShLangAnyHitNVMask), "hitAttributeNVX"); - parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_NVX_raytracing, "hitAttributeNVX"); + | EShLangAnyHitNVMask), "hitAttributeNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "hitAttributeNV"); $$.init($1.loc); $$.qualifier.storage = EvqHitAttrNV; #endif } | PAYLOADNV { #ifdef NV_EXTENSIONS - parseContext.globalCheck($1.loc, "rayPayloadNVX"); + parseContext.globalCheck($1.loc, "rayPayloadNV"); parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangClosestHitNVMask | - EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadNVX"); - parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadNVX"); + EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadNV"); $$.init($1.loc); $$.qualifier.storage = EvqPayloadNV; #endif } | PAYLOADINNV { #ifdef NV_EXTENSIONS - parseContext.globalCheck($1.loc, "rayPayloadInNVX"); + parseContext.globalCheck($1.loc, "rayPayloadInNV"); parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangClosestHitNVMask | - EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadInNVX"); - parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadInNVX"); + EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadInNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadInNV"); $$.init($1.loc); $$.qualifier.storage = EvqPayloadInNV; +#endif + } + | CALLDATANV { +#ifdef NV_EXTENSIONS + parseContext.globalCheck($1.loc, "callableDataNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenNVMask | + EShLangClosestHitNVMask | EShLangMissNVMask | EShLangCallableNVMask), "callableDataNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableDataNV; +#endif + } + | CALLDATAINNV { +#ifdef NV_EXTENSIONS + parseContext.globalCheck($1.loc, "callableDataInNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangCallableNVMask), "callableDataInNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataInNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableDataInNV; #endif } | SHARED { diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp index 4b70ee3ce6688389e525163f4e33e109110df8f4..e57edb573a213c990e2f1936e6a4e6da7ef60d4a 100644 --- a/glslang/MachineIndependent/glslang_tab.cpp +++ b/glslang/MachineIndependent/glslang_tab.cpp @@ -206,324 +206,326 @@ extern int yydebug; PAYLOADNV = 338, PAYLOADINNV = 339, HITATTRNV = 340, - COHERENT = 341, - VOLATILE = 342, - RESTRICT = 343, - READONLY = 344, - WRITEONLY = 345, - DEVICECOHERENT = 346, - QUEUEFAMILYCOHERENT = 347, - WORKGROUPCOHERENT = 348, - SUBGROUPCOHERENT = 349, - NONPRIVATE = 350, - DVEC2 = 351, - DVEC3 = 352, - DVEC4 = 353, - DMAT2 = 354, - DMAT3 = 355, - DMAT4 = 356, - F16VEC2 = 357, - F16VEC3 = 358, - F16VEC4 = 359, - F16MAT2 = 360, - F16MAT3 = 361, - F16MAT4 = 362, - F32VEC2 = 363, - F32VEC3 = 364, - F32VEC4 = 365, - F32MAT2 = 366, - F32MAT3 = 367, - F32MAT4 = 368, - F64VEC2 = 369, - F64VEC3 = 370, - F64VEC4 = 371, - F64MAT2 = 372, - F64MAT3 = 373, - F64MAT4 = 374, - NOPERSPECTIVE = 375, - FLAT = 376, - SMOOTH = 377, - LAYOUT = 378, - EXPLICITINTERPAMD = 379, - PERVERTEXNV = 380, - PERPRIMITIVENV = 381, - PERVIEWNV = 382, - PERTASKNV = 383, - MAT2X2 = 384, - MAT2X3 = 385, - MAT2X4 = 386, - MAT3X2 = 387, - MAT3X3 = 388, - MAT3X4 = 389, - MAT4X2 = 390, - MAT4X3 = 391, - MAT4X4 = 392, - DMAT2X2 = 393, - DMAT2X3 = 394, - DMAT2X4 = 395, - DMAT3X2 = 396, - DMAT3X3 = 397, - DMAT3X4 = 398, - DMAT4X2 = 399, - DMAT4X3 = 400, - DMAT4X4 = 401, - F16MAT2X2 = 402, - F16MAT2X3 = 403, - F16MAT2X4 = 404, - F16MAT3X2 = 405, - F16MAT3X3 = 406, - F16MAT3X4 = 407, - F16MAT4X2 = 408, - F16MAT4X3 = 409, - F16MAT4X4 = 410, - F32MAT2X2 = 411, - F32MAT2X3 = 412, - F32MAT2X4 = 413, - F32MAT3X2 = 414, - F32MAT3X3 = 415, - F32MAT3X4 = 416, - F32MAT4X2 = 417, - F32MAT4X3 = 418, - F32MAT4X4 = 419, - F64MAT2X2 = 420, - F64MAT2X3 = 421, - F64MAT2X4 = 422, - F64MAT3X2 = 423, - F64MAT3X3 = 424, - F64MAT3X4 = 425, - F64MAT4X2 = 426, - F64MAT4X3 = 427, - F64MAT4X4 = 428, - ATOMIC_UINT = 429, - ACCSTRUCTNV = 430, - SAMPLER1D = 431, - SAMPLER2D = 432, - SAMPLER3D = 433, - SAMPLERCUBE = 434, - SAMPLER1DSHADOW = 435, - SAMPLER2DSHADOW = 436, - SAMPLERCUBESHADOW = 437, - SAMPLER1DARRAY = 438, - SAMPLER2DARRAY = 439, - SAMPLER1DARRAYSHADOW = 440, - SAMPLER2DARRAYSHADOW = 441, - ISAMPLER1D = 442, - ISAMPLER2D = 443, - ISAMPLER3D = 444, - ISAMPLERCUBE = 445, - ISAMPLER1DARRAY = 446, - ISAMPLER2DARRAY = 447, - USAMPLER1D = 448, - USAMPLER2D = 449, - USAMPLER3D = 450, - USAMPLERCUBE = 451, - USAMPLER1DARRAY = 452, - USAMPLER2DARRAY = 453, - SAMPLER2DRECT = 454, - SAMPLER2DRECTSHADOW = 455, - ISAMPLER2DRECT = 456, - USAMPLER2DRECT = 457, - SAMPLERBUFFER = 458, - ISAMPLERBUFFER = 459, - USAMPLERBUFFER = 460, - SAMPLERCUBEARRAY = 461, - SAMPLERCUBEARRAYSHADOW = 462, - ISAMPLERCUBEARRAY = 463, - USAMPLERCUBEARRAY = 464, - SAMPLER2DMS = 465, - ISAMPLER2DMS = 466, - USAMPLER2DMS = 467, - SAMPLER2DMSARRAY = 468, - ISAMPLER2DMSARRAY = 469, - USAMPLER2DMSARRAY = 470, - SAMPLEREXTERNALOES = 471, - F16SAMPLER1D = 472, - F16SAMPLER2D = 473, - F16SAMPLER3D = 474, - F16SAMPLER2DRECT = 475, - F16SAMPLERCUBE = 476, - F16SAMPLER1DARRAY = 477, - F16SAMPLER2DARRAY = 478, - F16SAMPLERCUBEARRAY = 479, - F16SAMPLERBUFFER = 480, - F16SAMPLER2DMS = 481, - F16SAMPLER2DMSARRAY = 482, - F16SAMPLER1DSHADOW = 483, - F16SAMPLER2DSHADOW = 484, - F16SAMPLER1DARRAYSHADOW = 485, - F16SAMPLER2DARRAYSHADOW = 486, - F16SAMPLER2DRECTSHADOW = 487, - F16SAMPLERCUBESHADOW = 488, - F16SAMPLERCUBEARRAYSHADOW = 489, - SAMPLER = 490, - SAMPLERSHADOW = 491, - TEXTURE1D = 492, - TEXTURE2D = 493, - TEXTURE3D = 494, - TEXTURECUBE = 495, - TEXTURE1DARRAY = 496, - TEXTURE2DARRAY = 497, - ITEXTURE1D = 498, - ITEXTURE2D = 499, - ITEXTURE3D = 500, - ITEXTURECUBE = 501, - ITEXTURE1DARRAY = 502, - ITEXTURE2DARRAY = 503, - UTEXTURE1D = 504, - UTEXTURE2D = 505, - UTEXTURE3D = 506, - UTEXTURECUBE = 507, - UTEXTURE1DARRAY = 508, - UTEXTURE2DARRAY = 509, - TEXTURE2DRECT = 510, - ITEXTURE2DRECT = 511, - UTEXTURE2DRECT = 512, - TEXTUREBUFFER = 513, - ITEXTUREBUFFER = 514, - UTEXTUREBUFFER = 515, - TEXTURECUBEARRAY = 516, - ITEXTURECUBEARRAY = 517, - UTEXTURECUBEARRAY = 518, - TEXTURE2DMS = 519, - ITEXTURE2DMS = 520, - UTEXTURE2DMS = 521, - TEXTURE2DMSARRAY = 522, - ITEXTURE2DMSARRAY = 523, - UTEXTURE2DMSARRAY = 524, - F16TEXTURE1D = 525, - F16TEXTURE2D = 526, - F16TEXTURE3D = 527, - F16TEXTURE2DRECT = 528, - F16TEXTURECUBE = 529, - F16TEXTURE1DARRAY = 530, - F16TEXTURE2DARRAY = 531, - F16TEXTURECUBEARRAY = 532, - F16TEXTUREBUFFER = 533, - F16TEXTURE2DMS = 534, - F16TEXTURE2DMSARRAY = 535, - SUBPASSINPUT = 536, - SUBPASSINPUTMS = 537, - ISUBPASSINPUT = 538, - ISUBPASSINPUTMS = 539, - USUBPASSINPUT = 540, - USUBPASSINPUTMS = 541, - F16SUBPASSINPUT = 542, - F16SUBPASSINPUTMS = 543, - IMAGE1D = 544, - IIMAGE1D = 545, - UIMAGE1D = 546, - IMAGE2D = 547, - IIMAGE2D = 548, - UIMAGE2D = 549, - IMAGE3D = 550, - IIMAGE3D = 551, - UIMAGE3D = 552, - IMAGE2DRECT = 553, - IIMAGE2DRECT = 554, - UIMAGE2DRECT = 555, - IMAGECUBE = 556, - IIMAGECUBE = 557, - UIMAGECUBE = 558, - IMAGEBUFFER = 559, - IIMAGEBUFFER = 560, - UIMAGEBUFFER = 561, - IMAGE1DARRAY = 562, - IIMAGE1DARRAY = 563, - UIMAGE1DARRAY = 564, - IMAGE2DARRAY = 565, - IIMAGE2DARRAY = 566, - UIMAGE2DARRAY = 567, - IMAGECUBEARRAY = 568, - IIMAGECUBEARRAY = 569, - UIMAGECUBEARRAY = 570, - IMAGE2DMS = 571, - IIMAGE2DMS = 572, - UIMAGE2DMS = 573, - IMAGE2DMSARRAY = 574, - IIMAGE2DMSARRAY = 575, - UIMAGE2DMSARRAY = 576, - F16IMAGE1D = 577, - F16IMAGE2D = 578, - F16IMAGE3D = 579, - F16IMAGE2DRECT = 580, - F16IMAGECUBE = 581, - F16IMAGE1DARRAY = 582, - F16IMAGE2DARRAY = 583, - F16IMAGECUBEARRAY = 584, - F16IMAGEBUFFER = 585, - F16IMAGE2DMS = 586, - F16IMAGE2DMSARRAY = 587, - STRUCT = 588, - VOID = 589, - WHILE = 590, - IDENTIFIER = 591, - TYPE_NAME = 592, - FLOATCONSTANT = 593, - DOUBLECONSTANT = 594, - INT16CONSTANT = 595, - UINT16CONSTANT = 596, - INT32CONSTANT = 597, - UINT32CONSTANT = 598, - INTCONSTANT = 599, - UINTCONSTANT = 600, - INT64CONSTANT = 601, - UINT64CONSTANT = 602, - BOOLCONSTANT = 603, - FLOAT16CONSTANT = 604, - LEFT_OP = 605, - RIGHT_OP = 606, - INC_OP = 607, - DEC_OP = 608, - LE_OP = 609, - GE_OP = 610, - EQ_OP = 611, - NE_OP = 612, - AND_OP = 613, - OR_OP = 614, - XOR_OP = 615, - MUL_ASSIGN = 616, - DIV_ASSIGN = 617, - ADD_ASSIGN = 618, - MOD_ASSIGN = 619, - LEFT_ASSIGN = 620, - RIGHT_ASSIGN = 621, - AND_ASSIGN = 622, - XOR_ASSIGN = 623, - OR_ASSIGN = 624, - SUB_ASSIGN = 625, - LEFT_PAREN = 626, - RIGHT_PAREN = 627, - LEFT_BRACKET = 628, - RIGHT_BRACKET = 629, - LEFT_BRACE = 630, - RIGHT_BRACE = 631, - DOT = 632, - COMMA = 633, - COLON = 634, - EQUAL = 635, - SEMICOLON = 636, - BANG = 637, - DASH = 638, - TILDE = 639, - PLUS = 640, - STAR = 641, - SLASH = 642, - PERCENT = 643, - LEFT_ANGLE = 644, - RIGHT_ANGLE = 645, - VERTICAL_BAR = 646, - CARET = 647, - AMPERSAND = 648, - QUESTION = 649, - INVARIANT = 650, - PRECISE = 651, - HIGH_PRECISION = 652, - MEDIUM_PRECISION = 653, - LOW_PRECISION = 654, - PRECISION = 655, - PACKED = 656, - RESOURCE = 657, - SUPERP = 658 + CALLDATANV = 341, + CALLDATAINNV = 342, + COHERENT = 343, + VOLATILE = 344, + RESTRICT = 345, + READONLY = 346, + WRITEONLY = 347, + DEVICECOHERENT = 348, + QUEUEFAMILYCOHERENT = 349, + WORKGROUPCOHERENT = 350, + SUBGROUPCOHERENT = 351, + NONPRIVATE = 352, + DVEC2 = 353, + DVEC3 = 354, + DVEC4 = 355, + DMAT2 = 356, + DMAT3 = 357, + DMAT4 = 358, + F16VEC2 = 359, + F16VEC3 = 360, + F16VEC4 = 361, + F16MAT2 = 362, + F16MAT3 = 363, + F16MAT4 = 364, + F32VEC2 = 365, + F32VEC3 = 366, + F32VEC4 = 367, + F32MAT2 = 368, + F32MAT3 = 369, + F32MAT4 = 370, + F64VEC2 = 371, + F64VEC3 = 372, + F64VEC4 = 373, + F64MAT2 = 374, + F64MAT3 = 375, + F64MAT4 = 376, + NOPERSPECTIVE = 377, + FLAT = 378, + SMOOTH = 379, + LAYOUT = 380, + EXPLICITINTERPAMD = 381, + PERVERTEXNV = 382, + PERPRIMITIVENV = 383, + PERVIEWNV = 384, + PERTASKNV = 385, + MAT2X2 = 386, + MAT2X3 = 387, + MAT2X4 = 388, + MAT3X2 = 389, + MAT3X3 = 390, + MAT3X4 = 391, + MAT4X2 = 392, + MAT4X3 = 393, + MAT4X4 = 394, + DMAT2X2 = 395, + DMAT2X3 = 396, + DMAT2X4 = 397, + DMAT3X2 = 398, + DMAT3X3 = 399, + DMAT3X4 = 400, + DMAT4X2 = 401, + DMAT4X3 = 402, + DMAT4X4 = 403, + F16MAT2X2 = 404, + F16MAT2X3 = 405, + F16MAT2X4 = 406, + F16MAT3X2 = 407, + F16MAT3X3 = 408, + F16MAT3X4 = 409, + F16MAT4X2 = 410, + F16MAT4X3 = 411, + F16MAT4X4 = 412, + F32MAT2X2 = 413, + F32MAT2X3 = 414, + F32MAT2X4 = 415, + F32MAT3X2 = 416, + F32MAT3X3 = 417, + F32MAT3X4 = 418, + F32MAT4X2 = 419, + F32MAT4X3 = 420, + F32MAT4X4 = 421, + F64MAT2X2 = 422, + F64MAT2X3 = 423, + F64MAT2X4 = 424, + F64MAT3X2 = 425, + F64MAT3X3 = 426, + F64MAT3X4 = 427, + F64MAT4X2 = 428, + F64MAT4X3 = 429, + F64MAT4X4 = 430, + ATOMIC_UINT = 431, + ACCSTRUCTNV = 432, + SAMPLER1D = 433, + SAMPLER2D = 434, + SAMPLER3D = 435, + SAMPLERCUBE = 436, + SAMPLER1DSHADOW = 437, + SAMPLER2DSHADOW = 438, + SAMPLERCUBESHADOW = 439, + SAMPLER1DARRAY = 440, + SAMPLER2DARRAY = 441, + SAMPLER1DARRAYSHADOW = 442, + SAMPLER2DARRAYSHADOW = 443, + ISAMPLER1D = 444, + ISAMPLER2D = 445, + ISAMPLER3D = 446, + ISAMPLERCUBE = 447, + ISAMPLER1DARRAY = 448, + ISAMPLER2DARRAY = 449, + USAMPLER1D = 450, + USAMPLER2D = 451, + USAMPLER3D = 452, + USAMPLERCUBE = 453, + USAMPLER1DARRAY = 454, + USAMPLER2DARRAY = 455, + SAMPLER2DRECT = 456, + SAMPLER2DRECTSHADOW = 457, + ISAMPLER2DRECT = 458, + USAMPLER2DRECT = 459, + SAMPLERBUFFER = 460, + ISAMPLERBUFFER = 461, + USAMPLERBUFFER = 462, + SAMPLERCUBEARRAY = 463, + SAMPLERCUBEARRAYSHADOW = 464, + ISAMPLERCUBEARRAY = 465, + USAMPLERCUBEARRAY = 466, + SAMPLER2DMS = 467, + ISAMPLER2DMS = 468, + USAMPLER2DMS = 469, + SAMPLER2DMSARRAY = 470, + ISAMPLER2DMSARRAY = 471, + USAMPLER2DMSARRAY = 472, + SAMPLEREXTERNALOES = 473, + F16SAMPLER1D = 474, + F16SAMPLER2D = 475, + F16SAMPLER3D = 476, + F16SAMPLER2DRECT = 477, + F16SAMPLERCUBE = 478, + F16SAMPLER1DARRAY = 479, + F16SAMPLER2DARRAY = 480, + F16SAMPLERCUBEARRAY = 481, + F16SAMPLERBUFFER = 482, + F16SAMPLER2DMS = 483, + F16SAMPLER2DMSARRAY = 484, + F16SAMPLER1DSHADOW = 485, + F16SAMPLER2DSHADOW = 486, + F16SAMPLER1DARRAYSHADOW = 487, + F16SAMPLER2DARRAYSHADOW = 488, + F16SAMPLER2DRECTSHADOW = 489, + F16SAMPLERCUBESHADOW = 490, + F16SAMPLERCUBEARRAYSHADOW = 491, + SAMPLER = 492, + SAMPLERSHADOW = 493, + TEXTURE1D = 494, + TEXTURE2D = 495, + TEXTURE3D = 496, + TEXTURECUBE = 497, + TEXTURE1DARRAY = 498, + TEXTURE2DARRAY = 499, + ITEXTURE1D = 500, + ITEXTURE2D = 501, + ITEXTURE3D = 502, + ITEXTURECUBE = 503, + ITEXTURE1DARRAY = 504, + ITEXTURE2DARRAY = 505, + UTEXTURE1D = 506, + UTEXTURE2D = 507, + UTEXTURE3D = 508, + UTEXTURECUBE = 509, + UTEXTURE1DARRAY = 510, + UTEXTURE2DARRAY = 511, + TEXTURE2DRECT = 512, + ITEXTURE2DRECT = 513, + UTEXTURE2DRECT = 514, + TEXTUREBUFFER = 515, + ITEXTUREBUFFER = 516, + UTEXTUREBUFFER = 517, + TEXTURECUBEARRAY = 518, + ITEXTURECUBEARRAY = 519, + UTEXTURECUBEARRAY = 520, + TEXTURE2DMS = 521, + ITEXTURE2DMS = 522, + UTEXTURE2DMS = 523, + TEXTURE2DMSARRAY = 524, + ITEXTURE2DMSARRAY = 525, + UTEXTURE2DMSARRAY = 526, + F16TEXTURE1D = 527, + F16TEXTURE2D = 528, + F16TEXTURE3D = 529, + F16TEXTURE2DRECT = 530, + F16TEXTURECUBE = 531, + F16TEXTURE1DARRAY = 532, + F16TEXTURE2DARRAY = 533, + F16TEXTURECUBEARRAY = 534, + F16TEXTUREBUFFER = 535, + F16TEXTURE2DMS = 536, + F16TEXTURE2DMSARRAY = 537, + SUBPASSINPUT = 538, + SUBPASSINPUTMS = 539, + ISUBPASSINPUT = 540, + ISUBPASSINPUTMS = 541, + USUBPASSINPUT = 542, + USUBPASSINPUTMS = 543, + F16SUBPASSINPUT = 544, + F16SUBPASSINPUTMS = 545, + IMAGE1D = 546, + IIMAGE1D = 547, + UIMAGE1D = 548, + IMAGE2D = 549, + IIMAGE2D = 550, + UIMAGE2D = 551, + IMAGE3D = 552, + IIMAGE3D = 553, + UIMAGE3D = 554, + IMAGE2DRECT = 555, + IIMAGE2DRECT = 556, + UIMAGE2DRECT = 557, + IMAGECUBE = 558, + IIMAGECUBE = 559, + UIMAGECUBE = 560, + IMAGEBUFFER = 561, + IIMAGEBUFFER = 562, + UIMAGEBUFFER = 563, + IMAGE1DARRAY = 564, + IIMAGE1DARRAY = 565, + UIMAGE1DARRAY = 566, + IMAGE2DARRAY = 567, + IIMAGE2DARRAY = 568, + UIMAGE2DARRAY = 569, + IMAGECUBEARRAY = 570, + IIMAGECUBEARRAY = 571, + UIMAGECUBEARRAY = 572, + IMAGE2DMS = 573, + IIMAGE2DMS = 574, + UIMAGE2DMS = 575, + IMAGE2DMSARRAY = 576, + IIMAGE2DMSARRAY = 577, + UIMAGE2DMSARRAY = 578, + F16IMAGE1D = 579, + F16IMAGE2D = 580, + F16IMAGE3D = 581, + F16IMAGE2DRECT = 582, + F16IMAGECUBE = 583, + F16IMAGE1DARRAY = 584, + F16IMAGE2DARRAY = 585, + F16IMAGECUBEARRAY = 586, + F16IMAGEBUFFER = 587, + F16IMAGE2DMS = 588, + F16IMAGE2DMSARRAY = 589, + STRUCT = 590, + VOID = 591, + WHILE = 592, + IDENTIFIER = 593, + TYPE_NAME = 594, + FLOATCONSTANT = 595, + DOUBLECONSTANT = 596, + INT16CONSTANT = 597, + UINT16CONSTANT = 598, + INT32CONSTANT = 599, + UINT32CONSTANT = 600, + INTCONSTANT = 601, + UINTCONSTANT = 602, + INT64CONSTANT = 603, + UINT64CONSTANT = 604, + BOOLCONSTANT = 605, + FLOAT16CONSTANT = 606, + LEFT_OP = 607, + RIGHT_OP = 608, + INC_OP = 609, + DEC_OP = 610, + LE_OP = 611, + GE_OP = 612, + EQ_OP = 613, + NE_OP = 614, + AND_OP = 615, + OR_OP = 616, + XOR_OP = 617, + MUL_ASSIGN = 618, + DIV_ASSIGN = 619, + ADD_ASSIGN = 620, + MOD_ASSIGN = 621, + LEFT_ASSIGN = 622, + RIGHT_ASSIGN = 623, + AND_ASSIGN = 624, + XOR_ASSIGN = 625, + OR_ASSIGN = 626, + SUB_ASSIGN = 627, + LEFT_PAREN = 628, + RIGHT_PAREN = 629, + LEFT_BRACKET = 630, + RIGHT_BRACKET = 631, + LEFT_BRACE = 632, + RIGHT_BRACE = 633, + DOT = 634, + COMMA = 635, + COLON = 636, + EQUAL = 637, + SEMICOLON = 638, + BANG = 639, + DASH = 640, + TILDE = 641, + PLUS = 642, + STAR = 643, + SLASH = 644, + PERCENT = 645, + LEFT_ANGLE = 646, + RIGHT_ANGLE = 647, + VERTICAL_BAR = 648, + CARET = 649, + AMPERSAND = 650, + QUESTION = 651, + INVARIANT = 652, + PRECISE = 653, + HIGH_PRECISION = 654, + MEDIUM_PRECISION = 655, + LOW_PRECISION = 656, + PRECISION = 657, + PACKED = 658, + RESOURCE = 659, + SUPERP = 660 }; #endif @@ -567,7 +569,7 @@ union YYSTYPE }; } interm; -#line 571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355 */ +#line 573 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; @@ -598,7 +600,7 @@ int yyparse (glslang::TParseContext* pParseContext); extern int yylex(YYSTYPE*, TParseContext&); -#line 602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358 */ +#line 604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358 */ #ifdef short # undef short @@ -838,23 +840,23 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 379 +#define YYFINAL 381 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 9248 +#define YYLAST 9294 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 404 +#define YYNTOKENS 406 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 107 /* YYNRULES -- Number of rules. */ -#define YYNRULES 569 +#define YYNRULES 571 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 710 +#define YYNSTATES 712 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 658 +#define YYMAXUTOK 660 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -928,7 +930,8 @@ static const yytype_uint16 yytranslate[] = 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 403 + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405 }; #if YYDEBUG @@ -952,46 +955,47 @@ static const yytype_uint16 yyrline[] = 1191, 1197, 1200, 1207, 1211, 1215, 1223, 1232, 1235, 1246, 1249, 1252, 1256, 1260, 1264, 1268, 1274, 1278, 1290, 1304, 1309, 1315, 1321, 1328, 1334, 1339, 1344, 1349, 1359, 1369, - 1379, 1391, 1395, 1400, 1405, 1410, 1415, 1420, 1424, 1428, - 1432, 1436, 1442, 1451, 1458, 1461, 1469, 1473, 1482, 1487, - 1495, 1499, 1509, 1513, 1517, 1522, 1527, 1532, 1537, 1541, - 1546, 1551, 1556, 1561, 1566, 1571, 1576, 1581, 1586, 1590, - 1595, 1600, 1605, 1611, 1617, 1623, 1629, 1635, 1641, 1647, - 1653, 1659, 1665, 1671, 1677, 1682, 1687, 1692, 1697, 1702, - 1707, 1713, 1719, 1725, 1731, 1737, 1743, 1749, 1755, 1761, - 1767, 1773, 1779, 1785, 1791, 1797, 1803, 1809, 1815, 1821, - 1827, 1833, 1839, 1845, 1851, 1857, 1863, 1869, 1874, 1879, - 1884, 1889, 1894, 1899, 1904, 1909, 1914, 1919, 1924, 1929, - 1935, 1941, 1947, 1953, 1959, 1965, 1971, 1977, 1983, 1989, - 1995, 2001, 2007, 2013, 2019, 2025, 2031, 2037, 2043, 2049, - 2055, 2061, 2067, 2073, 2079, 2085, 2091, 2097, 2103, 2109, - 2115, 2121, 2127, 2133, 2139, 2145, 2151, 2157, 2163, 2169, - 2175, 2181, 2187, 2193, 2199, 2205, 2211, 2217, 2223, 2228, - 2233, 2238, 2243, 2248, 2253, 2258, 2263, 2268, 2273, 2278, - 2283, 2288, 2293, 2301, 2309, 2317, 2325, 2333, 2341, 2349, - 2357, 2365, 2373, 2381, 2389, 2397, 2402, 2407, 2412, 2417, - 2422, 2427, 2432, 2437, 2442, 2447, 2452, 2457, 2462, 2467, - 2472, 2477, 2485, 2493, 2498, 2503, 2508, 2516, 2521, 2526, - 2531, 2539, 2544, 2549, 2554, 2562, 2567, 2572, 2577, 2582, - 2587, 2595, 2600, 2608, 2613, 2621, 2626, 2634, 2639, 2647, - 2652, 2660, 2665, 2673, 2678, 2683, 2688, 2693, 2698, 2703, - 2708, 2713, 2718, 2723, 2728, 2733, 2738, 2743, 2748, 2756, - 2761, 2766, 2771, 2779, 2784, 2789, 2794, 2802, 2807, 2812, - 2817, 2825, 2830, 2835, 2840, 2848, 2853, 2858, 2863, 2871, - 2876, 2881, 2886, 2894, 2899, 2904, 2909, 2917, 2922, 2927, - 2932, 2940, 2945, 2950, 2955, 2963, 2968, 2973, 2978, 2986, - 2991, 2996, 3001, 3009, 3014, 3019, 3024, 3032, 3037, 3042, - 3047, 3055, 3060, 3065, 3070, 3078, 3083, 3088, 3094, 3100, - 3106, 3115, 3124, 3130, 3136, 3142, 3148, 3153, 3169, 3174, - 3179, 3187, 3187, 3198, 3198, 3208, 3211, 3224, 3246, 3273, - 3277, 3283, 3288, 3299, 3302, 3308, 3317, 3320, 3326, 3330, - 3331, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3347, 3348, - 3352, 3348, 3364, 3365, 3369, 3369, 3376, 3376, 3390, 3393, - 3401, 3409, 3420, 3421, 3425, 3428, 3434, 3441, 3445, 3453, - 3457, 3470, 3473, 3479, 3479, 3499, 3502, 3508, 3520, 3532, - 3535, 3541, 3541, 3556, 3556, 3572, 3572, 3593, 3596, 3602, - 3605, 3611, 3615, 3622, 3627, 3632, 3639, 3642, 3651, 3655, - 3664, 3667, 3670, 3678, 3678, 3700, 3706, 3709, 3714, 3717 + 1379, 1389, 1398, 1410, 1414, 1419, 1424, 1429, 1434, 1439, + 1443, 1447, 1451, 1455, 1461, 1470, 1477, 1480, 1488, 1492, + 1501, 1506, 1514, 1518, 1528, 1532, 1536, 1541, 1546, 1551, + 1556, 1560, 1565, 1570, 1575, 1580, 1585, 1590, 1595, 1600, + 1605, 1609, 1614, 1619, 1624, 1630, 1636, 1642, 1648, 1654, + 1660, 1666, 1672, 1678, 1684, 1690, 1696, 1701, 1706, 1711, + 1716, 1721, 1726, 1732, 1738, 1744, 1750, 1756, 1762, 1768, + 1774, 1780, 1786, 1792, 1798, 1804, 1810, 1816, 1822, 1828, + 1834, 1840, 1846, 1852, 1858, 1864, 1870, 1876, 1882, 1888, + 1893, 1898, 1903, 1908, 1913, 1918, 1923, 1928, 1933, 1938, + 1943, 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, 2110, 2116, + 2122, 2128, 2134, 2140, 2146, 2152, 2158, 2164, 2170, 2176, + 2182, 2188, 2194, 2200, 2206, 2212, 2218, 2224, 2230, 2236, + 2242, 2247, 2252, 2257, 2262, 2267, 2272, 2277, 2282, 2287, + 2292, 2297, 2302, 2307, 2312, 2320, 2328, 2336, 2344, 2352, + 2360, 2368, 2376, 2384, 2392, 2400, 2408, 2416, 2421, 2426, + 2431, 2436, 2441, 2446, 2451, 2456, 2461, 2466, 2471, 2476, + 2481, 2486, 2491, 2496, 2504, 2512, 2517, 2522, 2527, 2535, + 2540, 2545, 2550, 2558, 2563, 2568, 2573, 2581, 2586, 2591, + 2596, 2601, 2606, 2614, 2619, 2627, 2632, 2640, 2645, 2653, + 2658, 2666, 2671, 2679, 2684, 2692, 2697, 2702, 2707, 2712, + 2717, 2722, 2727, 2732, 2737, 2742, 2747, 2752, 2757, 2762, + 2767, 2775, 2780, 2785, 2790, 2798, 2803, 2808, 2813, 2821, + 2826, 2831, 2836, 2844, 2849, 2854, 2859, 2867, 2872, 2877, + 2882, 2890, 2895, 2900, 2905, 2913, 2918, 2923, 2928, 2936, + 2941, 2946, 2951, 2959, 2964, 2969, 2974, 2982, 2987, 2992, + 2997, 3005, 3010, 3015, 3020, 3028, 3033, 3038, 3043, 3051, + 3056, 3061, 3066, 3074, 3079, 3084, 3089, 3097, 3102, 3107, + 3113, 3119, 3125, 3134, 3143, 3149, 3155, 3161, 3167, 3172, + 3188, 3193, 3198, 3206, 3206, 3217, 3217, 3227, 3230, 3243, + 3265, 3292, 3296, 3302, 3307, 3318, 3321, 3327, 3336, 3339, + 3345, 3349, 3350, 3356, 3357, 3358, 3359, 3360, 3361, 3362, + 3366, 3367, 3371, 3367, 3383, 3384, 3388, 3388, 3395, 3395, + 3409, 3412, 3420, 3428, 3439, 3440, 3444, 3447, 3453, 3460, + 3464, 3472, 3476, 3489, 3492, 3498, 3498, 3518, 3521, 3527, + 3539, 3551, 3554, 3560, 3560, 3575, 3575, 3591, 3591, 3612, + 3615, 3621, 3624, 3630, 3634, 3641, 3646, 3651, 3658, 3661, + 3670, 3674, 3683, 3686, 3689, 3697, 3697, 3719, 3725, 3728, + 3733, 3736 }; #endif @@ -1012,39 +1016,40 @@ static const char *const yytname[] = "U16VEC3", "U16VEC4", "I8VEC2", "I8VEC3", "I8VEC4", "U8VEC2", "U8VEC3", "U8VEC4", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "CENTROID", "IN", "OUT", "INOUT", "UNIFORM", "PATCH", "SAMPLE", "BUFFER", "SHARED", - "NONUNIFORM", "PAYLOADNV", "PAYLOADINNV", "HITATTRNV", "COHERENT", - "VOLATILE", "RESTRICT", "READONLY", "WRITEONLY", "DEVICECOHERENT", - "QUEUEFAMILYCOHERENT", "WORKGROUPCOHERENT", "SUBGROUPCOHERENT", - "NONPRIVATE", "DVEC2", "DVEC3", "DVEC4", "DMAT2", "DMAT3", "DMAT4", - "F16VEC2", "F16VEC3", "F16VEC4", "F16MAT2", "F16MAT3", "F16MAT4", - "F32VEC2", "F32VEC3", "F32VEC4", "F32MAT2", "F32MAT3", "F32MAT4", - "F64VEC2", "F64VEC3", "F64VEC4", "F64MAT2", "F64MAT3", "F64MAT4", - "NOPERSPECTIVE", "FLAT", "SMOOTH", "LAYOUT", "EXPLICITINTERPAMD", - "PERVERTEXNV", "PERPRIMITIVENV", "PERVIEWNV", "PERTASKNV", "MAT2X2", - "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3", - "MAT4X4", "DMAT2X2", "DMAT2X3", "DMAT2X4", "DMAT3X2", "DMAT3X3", - "DMAT3X4", "DMAT4X2", "DMAT4X3", "DMAT4X4", "F16MAT2X2", "F16MAT2X3", - "F16MAT2X4", "F16MAT3X2", "F16MAT3X3", "F16MAT3X4", "F16MAT4X2", - "F16MAT4X3", "F16MAT4X4", "F32MAT2X2", "F32MAT2X3", "F32MAT2X4", - "F32MAT3X2", "F32MAT3X3", "F32MAT3X4", "F32MAT4X2", "F32MAT4X3", - "F32MAT4X4", "F64MAT2X2", "F64MAT2X3", "F64MAT2X4", "F64MAT3X2", - "F64MAT3X3", "F64MAT3X4", "F64MAT4X2", "F64MAT4X3", "F64MAT4X4", - "ATOMIC_UINT", "ACCSTRUCTNV", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", - "SAMPLERCUBE", "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", - "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW", - "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D", - "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D", - "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY", - "USAMPLER2DARRAY", "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW", - "ISAMPLER2DRECT", "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER", - "USAMPLERBUFFER", "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW", - "ISAMPLERCUBEARRAY", "USAMPLERCUBEARRAY", "SAMPLER2DMS", "ISAMPLER2DMS", - "USAMPLER2DMS", "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY", - "USAMPLER2DMSARRAY", "SAMPLEREXTERNALOES", "F16SAMPLER1D", - "F16SAMPLER2D", "F16SAMPLER3D", "F16SAMPLER2DRECT", "F16SAMPLERCUBE", - "F16SAMPLER1DARRAY", "F16SAMPLER2DARRAY", "F16SAMPLERCUBEARRAY", - "F16SAMPLERBUFFER", "F16SAMPLER2DMS", "F16SAMPLER2DMSARRAY", - "F16SAMPLER1DSHADOW", "F16SAMPLER2DSHADOW", "F16SAMPLER1DARRAYSHADOW", + "NONUNIFORM", "PAYLOADNV", "PAYLOADINNV", "HITATTRNV", "CALLDATANV", + "CALLDATAINNV", "COHERENT", "VOLATILE", "RESTRICT", "READONLY", + "WRITEONLY", "DEVICECOHERENT", "QUEUEFAMILYCOHERENT", + "WORKGROUPCOHERENT", "SUBGROUPCOHERENT", "NONPRIVATE", "DVEC2", "DVEC3", + "DVEC4", "DMAT2", "DMAT3", "DMAT4", "F16VEC2", "F16VEC3", "F16VEC4", + "F16MAT2", "F16MAT3", "F16MAT4", "F32VEC2", "F32VEC3", "F32VEC4", + "F32MAT2", "F32MAT3", "F32MAT4", "F64VEC2", "F64VEC3", "F64VEC4", + "F64MAT2", "F64MAT3", "F64MAT4", "NOPERSPECTIVE", "FLAT", "SMOOTH", + "LAYOUT", "EXPLICITINTERPAMD", "PERVERTEXNV", "PERPRIMITIVENV", + "PERVIEWNV", "PERTASKNV", "MAT2X2", "MAT2X3", "MAT2X4", "MAT3X2", + "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3", "MAT4X4", "DMAT2X2", "DMAT2X3", + "DMAT2X4", "DMAT3X2", "DMAT3X3", "DMAT3X4", "DMAT4X2", "DMAT4X3", + "DMAT4X4", "F16MAT2X2", "F16MAT2X3", "F16MAT2X4", "F16MAT3X2", + "F16MAT3X3", "F16MAT3X4", "F16MAT4X2", "F16MAT4X3", "F16MAT4X4", + "F32MAT2X2", "F32MAT2X3", "F32MAT2X4", "F32MAT3X2", "F32MAT3X3", + "F32MAT3X4", "F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2", + "F64MAT2X3", "F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4", + "F64MAT4X2", "F64MAT4X3", "F64MAT4X4", "ATOMIC_UINT", "ACCSTRUCTNV", + "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE", "SAMPLER1DSHADOW", + "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER1DARRAY", + "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW", "SAMPLER2DARRAYSHADOW", + "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D", "ISAMPLERCUBE", + "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D", "USAMPLER2D", + "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY", "USAMPLER2DARRAY", + "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW", "ISAMPLER2DRECT", + "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER", "USAMPLERBUFFER", + "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW", "ISAMPLERCUBEARRAY", + "USAMPLERCUBEARRAY", "SAMPLER2DMS", "ISAMPLER2DMS", "USAMPLER2DMS", + "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY", "USAMPLER2DMSARRAY", + "SAMPLEREXTERNALOES", "F16SAMPLER1D", "F16SAMPLER2D", "F16SAMPLER3D", + "F16SAMPLER2DRECT", "F16SAMPLERCUBE", "F16SAMPLER1DARRAY", + "F16SAMPLER2DARRAY", "F16SAMPLERCUBEARRAY", "F16SAMPLERBUFFER", + "F16SAMPLER2DMS", "F16SAMPLER2DMSARRAY", "F16SAMPLER1DSHADOW", + "F16SAMPLER2DSHADOW", "F16SAMPLER1DARRAYSHADOW", "F16SAMPLER2DARRAYSHADOW", "F16SAMPLER2DRECTSHADOW", "F16SAMPLERCUBESHADOW", "F16SAMPLERCUBEARRAYSHADOW", "SAMPLER", "SAMPLERSHADOW", "TEXTURE1D", "TEXTURE2D", "TEXTURE3D", "TEXTURECUBE", @@ -1170,16 +1175,16 @@ static const yytype_uint16 yytoknum[] = 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, - 655, 656, 657, 658 + 655, 656, 657, 658, 659, 660 }; # endif -#define YYPACT_NINF -645 +#define YYPACT_NINF -649 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-645))) + (!!((Yystate) == (-649))) -#define YYTABLE_NINF -515 +#define YYTABLE_NINF -517 #define yytable_value_is_error(Yytable_value) \ 0 @@ -1188,77 +1193,78 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 3495, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -317, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -266, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -314, -645, -645, -645, -645, -645, -645, -645, -645, -273, - -645, -315, -355, -335, -299, 5878, -286, -645, -239, -645, - -645, -645, -645, 4290, -645, -645, -645, -645, -233, -645, - -645, 709, -645, -645, -181, -69, -218, -645, 8911, -340, - -645, -645, -212, -645, 5878, -645, -645, -645, 5878, -168, - -167, -645, -337, -303, -645, -645, -645, 6625, -203, -645, - -645, -645, -305, -645, -209, -304, -645, -645, 5878, -208, - -645, -333, 1107, -645, -645, -645, -645, -233, -323, -645, - 7006, -311, -645, -164, -645, -275, -645, -645, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, 8149, - 8149, 8149, -645, -645, -645, -645, -645, -645, -645, -322, - -645, -645, -645, -198, -296, 8530, -196, -645, 8149, -251, - -292, -222, -331, -225, -217, -215, -213, -178, -179, -334, - -192, -645, -645, 7387, -645, -153, 8149, -645, -69, 5878, - 5878, -152, 4687, -645, -645, -645, -195, -194, -645, -186, - -183, -191, 7768, -182, 8149, -187, -177, -180, -176, -645, - -645, -216, -645, -645, -274, -645, -355, -175, -174, -645, - -645, -645, -645, 1505, -645, -645, -645, -645, -645, -645, - -645, -645, -645, -19, -203, 7006, -310, 7006, -645, -645, - 7006, 5878, -645, -135, -645, -645, -645, -295, -645, -645, - 8149, -134, -645, -645, 8149, -169, -645, -645, -645, 8149, - 8149, 8149, 8149, 8149, 8149, 8149, 8149, 8149, 8149, 8149, - 8149, 8149, 8149, 8149, 8149, 8149, 8149, 8149, -645, -645, - -645, -170, -645, -645, -645, -645, 5084, -152, -233, -268, - -645, -645, -645, -645, -645, 1903, -645, 8149, -645, -645, - -263, 8149, -240, -645, -645, -131, -645, 1903, -645, -645, - -645, -645, -645, -645, -645, -645, -645, -645, -645, 8149, - 8149, -645, -645, -645, -645, -645, -645, -645, 7006, -645, - -267, -645, 5481, -645, -645, -166, -163, -645, -645, -645, - -645, -645, -251, -251, -292, -292, -222, -222, -222, -222, - -331, -331, -225, -217, -215, -213, -178, -179, 8149, -645, - -645, -261, -203, -152, -645, -126, 3097, -291, -645, -288, - -645, 3893, -161, -336, -645, 1903, -645, -645, -645, -645, - 6244, -645, -645, -236, -645, -645, -160, -645, -645, 3893, - -159, -645, -163, -124, 5878, -158, 8149, -157, -131, -156, - -645, -645, 8149, 8149, -645, -162, -154, 196, -149, 2699, - -645, -148, -151, 2301, -150, -645, -645, -645, -645, -284, - 8149, 2301, -159, -645, -645, 1903, 7006, -645, -645, -645, - -645, -130, -163, -645, -645, 1903, -146, -645, -645, -645 + 3511, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -326, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -310, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -316, -649, -649, -649, -649, -649, -649, -649, + -649, -256, -649, -317, -357, -305, -269, 5906, -315, -649, + -225, -649, -649, -649, -649, 4310, -649, -649, -649, -649, + -234, -649, -649, 711, -649, -649, -204, -69, -222, -649, + 8955, -335, -649, -649, -218, -649, 5906, -649, -649, -649, + 5906, -170, -169, -649, -339, -303, -649, -649, -649, 6657, + -205, -649, -649, -649, -307, -649, -211, -302, -649, -649, + 5906, -210, -649, -321, 1111, -649, -649, -649, -649, -234, + -340, -649, 7040, -325, -649, -166, -649, -292, -649, -649, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, 8189, 8189, 8189, -649, -649, -649, -649, -649, -649, + -649, -324, -649, -649, -649, -200, -298, 8572, -198, -649, + 8189, -242, -278, -314, -333, -209, -219, -217, -215, -180, + -181, -336, -194, -649, -649, 7423, -649, -155, 8189, -649, + -69, 5906, 5906, -154, 4709, -649, -649, -649, -197, -195, + -649, -188, -184, -193, 7806, -179, 8189, -189, -178, -182, + -177, -649, -649, -267, -649, -649, -252, -649, -357, -176, + -173, -649, -649, -649, -649, 1511, -649, -649, -649, -649, + -649, -649, -649, -649, -649, -19, -205, 7040, -311, 7040, + -649, -649, 7040, 5906, -649, -142, -649, -649, -649, -293, + -649, -649, 8189, -136, -649, -649, 8189, -171, -649, -649, + -649, 8189, 8189, 8189, 8189, 8189, 8189, 8189, 8189, 8189, + 8189, 8189, 8189, 8189, 8189, 8189, 8189, 8189, 8189, 8189, + -649, -649, -649, -172, -649, -649, -649, -649, 5108, -154, + -234, -251, -649, -649, -649, -649, -649, 1911, -649, 8189, + -649, -649, -245, 8189, -228, -649, -649, -133, -649, 1911, + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, 8189, 8189, -649, -649, -649, -649, -649, -649, -649, + 7040, -649, -285, -649, 5507, -649, -649, -168, -165, -649, + -649, -649, -649, -649, -242, -242, -278, -278, -314, -314, + -314, -314, -333, -333, -209, -219, -217, -215, -180, -181, + 8189, -649, -649, -241, -205, -154, -649, -128, 3111, -290, + -649, -268, -649, 3911, -163, -297, -649, 1911, -649, -649, + -649, -649, 6274, -649, -649, -223, -649, -649, -162, -649, + -649, 3911, -161, -649, -165, -126, 5906, -160, 8189, -159, + -133, -158, -649, -649, 8189, 8189, -649, -164, -156, 196, + -151, 2711, -649, -131, -135, 2311, -152, -649, -649, -649, + -649, -254, 8189, 2311, -161, -649, -649, 1911, 7040, -649, + -649, -649, -649, -134, -165, -649, -649, 1911, -127, -649, + -649, -649 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1266,109 +1272,110 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 157, 158, 195, 193, 196, 194, 197, 156, 208, - 198, 199, 206, 207, 204, 205, 202, 203, 200, 201, - 181, 224, 225, 226, 227, 228, 229, 242, 243, 244, - 239, 240, 241, 254, 255, 256, 236, 237, 238, 251, - 252, 253, 233, 234, 235, 248, 249, 250, 230, 231, - 232, 245, 246, 247, 209, 210, 211, 257, 258, 259, - 162, 160, 161, 159, 165, 163, 164, 166, 170, 183, - 168, 169, 167, 171, 177, 178, 179, 180, 172, 173, - 174, 175, 176, 212, 213, 214, 269, 270, 271, 215, - 216, 217, 281, 282, 283, 218, 219, 220, 293, 294, - 295, 221, 222, 223, 305, 306, 307, 134, 133, 132, - 0, 135, 136, 137, 138, 139, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 318, 317, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 345, 346, 347, 348, 349, 350, - 352, 353, 354, 355, 356, 357, 359, 360, 363, 364, - 365, 367, 368, 330, 331, 351, 358, 369, 371, 372, - 373, 375, 376, 467, 332, 333, 334, 361, 335, 339, - 340, 343, 366, 370, 374, 336, 337, 341, 342, 362, - 338, 344, 377, 378, 379, 381, 383, 385, 387, 389, - 393, 394, 395, 396, 397, 398, 400, 401, 402, 403, - 404, 405, 407, 409, 410, 411, 413, 414, 391, 399, - 406, 415, 417, 418, 419, 421, 422, 380, 382, 384, - 408, 386, 388, 390, 392, 412, 416, 420, 468, 469, - 472, 473, 474, 475, 470, 471, 423, 425, 426, 427, - 429, 430, 431, 433, 434, 435, 437, 438, 439, 441, - 442, 443, 445, 446, 447, 449, 450, 451, 453, 454, - 455, 457, 458, 459, 461, 462, 463, 465, 466, 424, - 428, 432, 436, 440, 448, 452, 456, 444, 460, 464, - 0, 192, 477, 562, 131, 146, 478, 479, 480, 0, - 561, 0, 563, 0, 108, 107, 0, 119, 124, 153, - 152, 150, 154, 0, 147, 149, 155, 129, 186, 151, - 476, 0, 558, 560, 0, 0, 0, 483, 0, 0, - 96, 93, 0, 106, 0, 115, 109, 117, 0, 118, - 0, 94, 125, 0, 99, 148, 130, 0, 187, 1, - 559, 184, 0, 145, 143, 0, 141, 481, 0, 0, - 97, 0, 0, 564, 110, 114, 116, 112, 120, 111, - 0, 126, 102, 0, 100, 0, 2, 12, 13, 10, - 11, 4, 5, 6, 7, 8, 9, 15, 14, 0, - 0, 0, 188, 42, 41, 43, 40, 3, 17, 36, - 19, 24, 25, 0, 0, 29, 0, 44, 0, 48, - 51, 54, 59, 62, 64, 66, 68, 70, 72, 74, - 0, 35, 33, 0, 182, 0, 0, 140, 0, 0, - 0, 0, 0, 485, 95, 98, 0, 0, 543, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 509, 518, - 522, 44, 77, 90, 0, 498, 0, 155, 129, 501, - 520, 500, 499, 0, 502, 503, 524, 504, 531, 505, - 506, 539, 507, 0, 113, 0, 121, 0, 493, 128, - 0, 0, 104, 0, 101, 37, 38, 0, 21, 22, - 0, 0, 27, 26, 0, 192, 30, 32, 39, 0, + 0, 157, 158, 197, 195, 198, 196, 199, 156, 210, + 200, 201, 208, 209, 206, 207, 204, 205, 202, 203, + 183, 226, 227, 228, 229, 230, 231, 244, 245, 246, + 241, 242, 243, 256, 257, 258, 238, 239, 240, 253, + 254, 255, 235, 236, 237, 250, 251, 252, 232, 233, + 234, 247, 248, 249, 211, 212, 213, 259, 260, 261, + 162, 160, 161, 159, 165, 163, 164, 166, 172, 185, + 168, 169, 167, 170, 171, 173, 179, 180, 181, 182, + 174, 175, 176, 177, 178, 214, 215, 216, 271, 272, + 273, 217, 218, 219, 283, 284, 285, 220, 221, 222, + 295, 296, 297, 223, 224, 225, 307, 308, 309, 134, + 133, 132, 0, 135, 136, 137, 138, 139, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 320, 319, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 347, 348, 349, 350, + 351, 352, 354, 355, 356, 357, 358, 359, 361, 362, + 365, 366, 367, 369, 370, 332, 333, 353, 360, 371, + 373, 374, 375, 377, 378, 469, 334, 335, 336, 363, + 337, 341, 342, 345, 368, 372, 376, 338, 339, 343, + 344, 364, 340, 346, 379, 380, 381, 383, 385, 387, + 389, 391, 395, 396, 397, 398, 399, 400, 402, 403, + 404, 405, 406, 407, 409, 411, 412, 413, 415, 416, + 393, 401, 408, 417, 419, 420, 421, 423, 424, 382, + 384, 386, 410, 388, 390, 392, 394, 414, 418, 422, + 470, 471, 474, 475, 476, 477, 472, 473, 425, 427, + 428, 429, 431, 432, 433, 435, 436, 437, 439, 440, + 441, 443, 444, 445, 447, 448, 449, 451, 452, 453, + 455, 456, 457, 459, 460, 461, 463, 464, 465, 467, + 468, 426, 430, 434, 438, 442, 450, 454, 458, 446, + 462, 466, 0, 194, 479, 564, 131, 146, 480, 481, + 482, 0, 563, 0, 565, 0, 108, 107, 0, 119, + 124, 153, 152, 150, 154, 0, 147, 149, 155, 129, + 188, 151, 478, 0, 560, 562, 0, 0, 0, 485, + 0, 0, 96, 93, 0, 106, 0, 115, 109, 117, + 0, 118, 0, 94, 125, 0, 99, 148, 130, 0, + 189, 1, 561, 186, 0, 145, 143, 0, 141, 483, + 0, 0, 97, 0, 0, 566, 110, 114, 116, 112, + 120, 111, 0, 126, 102, 0, 100, 0, 2, 12, + 13, 10, 11, 4, 5, 6, 7, 8, 9, 15, + 14, 0, 0, 0, 190, 42, 41, 43, 40, 3, + 17, 36, 19, 24, 25, 0, 0, 29, 0, 44, + 0, 48, 51, 54, 59, 62, 64, 66, 68, 70, + 72, 74, 0, 35, 33, 0, 184, 0, 0, 140, + 0, 0, 0, 0, 0, 487, 95, 98, 0, 0, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 511, 520, 524, 44, 77, 90, 0, 500, 0, 155, + 129, 503, 522, 502, 501, 0, 504, 505, 526, 506, + 533, 507, 508, 541, 509, 0, 113, 0, 121, 0, + 495, 128, 0, 0, 104, 0, 101, 37, 38, 0, + 21, 22, 0, 0, 27, 26, 0, 194, 30, 32, + 39, 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, 75, 189, - 190, 0, 185, 92, 144, 142, 0, 0, 491, 0, - 489, 484, 486, 554, 553, 0, 545, 0, 557, 555, - 0, 0, 0, 538, 541, 0, 508, 0, 80, 81, - 83, 82, 85, 86, 87, 88, 89, 84, 79, 0, - 0, 523, 519, 521, 525, 532, 540, 123, 0, 496, - 0, 127, 0, 105, 16, 0, 23, 20, 31, 45, - 46, 47, 50, 49, 52, 53, 57, 58, 55, 56, - 60, 61, 63, 65, 67, 69, 71, 73, 0, 191, - 482, 0, 492, 0, 487, 0, 0, 0, 556, 0, - 537, 0, 568, 0, 566, 510, 78, 91, 122, 494, - 0, 103, 18, 0, 488, 490, 0, 548, 547, 550, - 516, 533, 529, 0, 0, 0, 0, 0, 0, 0, - 495, 497, 0, 0, 549, 0, 0, 528, 0, 0, - 526, 0, 0, 0, 0, 565, 567, 511, 76, 0, - 551, 0, 516, 515, 517, 535, 0, 513, 542, 512, - 569, 0, 552, 546, 527, 536, 0, 530, 544, 534 + 75, 191, 192, 0, 187, 92, 144, 142, 0, 0, + 493, 0, 491, 486, 488, 556, 555, 0, 547, 0, + 559, 557, 0, 0, 0, 540, 543, 0, 510, 0, + 80, 81, 83, 82, 85, 86, 87, 88, 89, 84, + 79, 0, 0, 525, 521, 523, 527, 534, 542, 123, + 0, 498, 0, 127, 0, 105, 16, 0, 23, 20, + 31, 45, 46, 47, 50, 49, 52, 53, 57, 58, + 55, 56, 60, 61, 63, 65, 67, 69, 71, 73, + 0, 193, 484, 0, 494, 0, 489, 0, 0, 0, + 558, 0, 539, 0, 570, 0, 568, 512, 78, 91, + 122, 496, 0, 103, 18, 0, 490, 492, 0, 550, + 549, 552, 518, 535, 531, 0, 0, 0, 0, 0, + 0, 0, 497, 499, 0, 0, 551, 0, 0, 530, + 0, 0, 528, 0, 0, 0, 0, 567, 569, 513, + 76, 0, 553, 0, 518, 517, 519, 537, 0, 515, + 544, 514, 571, 0, 554, 548, 529, 538, 0, 532, + 546, 536 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -645, -645, -645, -645, -645, -645, -645, -645, -645, -645, - -645, -645, -297, -645, -468, -373, -437, -374, -319, -312, - -316, -290, -293, -289, -645, -367, -645, -391, -645, -376, - -412, 1, -645, -645, -645, 2, -645, -645, -645, -112, - -107, -108, -645, -645, -613, -645, -645, -645, -645, -197, - -645, -332, -339, -645, 6, -645, 0, -345, -645, -67, - -645, -645, -645, -440, -444, -294, -369, -490, -645, -370, - -480, -644, -410, -645, -645, -422, -421, -645, -645, -90, - -561, -363, -645, -229, -645, -384, -645, -227, -645, -645, - -645, -645, -226, -645, -645, -645, -645, -645, -645, -645, - -645, -73, -645, -645, -645, -645, -389 + -649, -649, -649, -649, -649, -649, -649, -649, -649, -649, + -649, -649, -304, -649, -373, -370, -416, -379, -294, -322, + -291, -295, -288, -296, -649, -369, -649, -393, -649, -382, + -414, 1, -649, -649, -649, 2, -649, -649, -649, -114, + -109, -112, -649, -649, -615, -649, -649, -649, -649, -196, + -649, -334, -341, -649, 6, -649, 0, -347, -649, -68, + -649, -649, -649, -443, -448, -287, -368, -492, -649, -376, + -482, -648, -415, -649, -649, -427, -426, -649, -649, -93, + -560, -365, -649, -231, -649, -386, -649, -229, -649, -649, + -649, -649, -227, -649, -649, -649, -649, -649, -649, -649, + -649, -76, -649, -649, -649, -649, -390 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 427, 428, 429, 605, 430, 431, 432, 433, 434, - 435, 436, 481, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 482, 628, 483, 589, 484, - 554, 485, 331, 511, 405, 486, 333, 334, 335, 365, - 366, 367, 336, 337, 338, 339, 340, 341, 385, 386, - 342, 343, 344, 345, 451, 382, 452, 378, 348, 349, - 350, 459, 388, 462, 463, 559, 560, 509, 600, 489, - 490, 491, 492, 577, 669, 698, 677, 678, 679, 699, - 493, 494, 495, 496, 680, 665, 497, 498, 681, 706, - 499, 500, 501, 641, 565, 636, 659, 675, 676, 502, - 351, 352, 353, 362, 503, 643, 644 + -1, 429, 430, 431, 607, 432, 433, 434, 435, 436, + 437, 438, 483, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 484, 630, 485, 591, 486, + 556, 487, 333, 513, 407, 488, 335, 336, 337, 367, + 368, 369, 338, 339, 340, 341, 342, 343, 387, 388, + 344, 345, 346, 347, 453, 384, 454, 380, 350, 351, + 352, 461, 390, 464, 465, 561, 562, 511, 602, 491, + 492, 493, 494, 579, 671, 700, 679, 680, 681, 701, + 495, 496, 497, 498, 682, 667, 499, 500, 683, 708, + 501, 502, 503, 643, 567, 638, 661, 677, 678, 504, + 353, 354, 355, 364, 505, 645, 646 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1376,240 +1383,241 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 347, 330, 332, 368, 375, 468, 346, 469, 470, 508, - 450, 473, 383, 593, 391, 597, 645, 599, 562, 556, - 601, 359, 356, 536, 537, 547, 361, 401, 663, 375, - 518, 519, 368, 377, 399, 694, 377, 363, 667, 697, - 453, 390, 668, 400, 526, 517, 663, 697, 465, -34, - 377, 520, 504, 506, 354, 521, 460, 505, 538, 539, - 548, 357, 453, 453, 612, 613, 360, 454, 457, 510, - 598, 602, 402, 455, 458, 403, 523, 604, 404, 364, - 437, 660, 524, 590, 661, 635, 551, 590, 701, 553, - 590, 532, 370, 533, 590, 371, 570, 372, 572, 616, - 617, 618, 619, 513, 590, 355, 514, 591, 648, 649, - 633, 650, 562, 634, 508, 590, 508, 633, 638, 508, - 654, 375, 515, 516, 326, 327, 328, 460, 534, 535, - 460, 540, 541, 608, 705, 529, 530, 531, 590, 640, - 377, 528, 590, 672, 606, 578, 579, 580, 581, 582, - 583, 584, 585, 586, 587, 381, 437, 387, 562, 437, - 671, 614, 615, 392, 588, 593, 620, 621, 397, 398, - 453, 456, 512, 464, 522, 527, 542, 543, 544, 460, - 545, 546, 549, 552, 558, 566, 563, 564, 567, 571, - 568, 637, 573, 575, 574, 639, -35, -33, 646, 647, - 576, 603, 607, -28, 629, 642, 707, 508, 652, 656, - 666, 673, 682, 632, 683, 590, -514, 685, 691, 690, - 687, 692, 700, 622, 460, 593, 478, 695, 624, 696, - 709, 623, 609, 610, 611, 437, 437, 437, 437, 437, - 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, - 437, 708, 653, 626, 684, 625, 395, 394, 627, 508, - 396, 555, 358, 631, 655, 662, 657, 384, 693, 703, - 460, 704, 393, 658, 594, 674, 595, 596, 380, 686, - 0, 688, 0, 662, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 689, 0, 553, - 0, 0, 0, 0, 0, 508, 0, 0, 0, 664, - 0, 0, 0, 0, 702, 0, 476, 0, 0, 0, - 0, 0, 0, 0, 0, 375, 0, 664, 0, 0, - 0, 0, 0, 0, 0, 369, 0, 0, 0, 0, - 0, 346, 0, 376, 0, 0, 0, 0, 0, 346, - 0, 347, 330, 332, 0, 0, 0, 346, 389, 0, - 0, 0, 0, 0, 369, 0, 0, 0, 369, 437, - 346, 0, 0, 0, 346, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 461, 0, - 0, 0, 488, 0, 346, 0, 0, 0, 487, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 349, 332, 334, 370, 377, 470, 348, 471, 472, 510, + 452, 475, 385, 595, 393, 599, 564, 601, 558, 647, + 603, 361, 358, 538, 539, 549, 363, 403, 665, 377, + 520, 521, 370, 696, 401, 379, 379, 699, 536, 537, + 379, 519, 507, 402, 528, 699, 665, 356, 392, -34, + 455, 522, 506, 508, 455, 523, 462, 512, 540, 541, + 550, 359, 467, 357, 455, 372, 362, 456, 373, 365, + 604, 600, 459, 457, 404, 439, 525, 405, 460, 669, + 406, 606, 526, 670, 662, 637, 553, 592, 515, 555, + 592, 516, 572, 651, 574, 652, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 663, 534, 650, 535, + 564, 366, 592, 374, 510, 590, 510, 517, 518, 510, + 703, 377, 618, 619, 620, 621, 592, 462, 592, 635, + 462, 593, 636, 610, 383, 592, 530, 707, 640, 635, + 608, 379, 656, 328, 329, 330, 531, 532, 533, 542, + 543, 439, 592, 642, 439, 389, 564, 592, 674, 394, + 673, 614, 615, 622, 623, 595, 616, 617, 399, 400, + 455, 458, 514, 466, 524, 529, 544, 545, 546, 462, + 547, 548, 551, 554, 560, 568, 565, 639, 566, 569, + 570, 641, 575, 577, 573, 576, 605, -35, 648, 649, + -33, 578, 609, -28, 631, 644, 709, 510, 654, 658, + 668, 675, 684, 634, 685, 592, -516, 687, 693, 692, + 689, 694, 702, 625, 462, 595, 480, 611, 612, 613, + 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, + 439, 439, 439, 439, 439, 439, 697, 698, 655, 710, + 624, 711, 627, 629, 686, 626, 397, 396, 398, 510, + 628, 664, 659, 360, 557, 695, 705, 657, 706, 386, + 462, 395, 633, 660, 596, 676, 597, 382, 598, 664, + 688, 690, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 691, 0, 0, 0, 0, 0, 555, + 0, 0, 0, 0, 0, 510, 0, 0, 0, 666, + 704, 0, 0, 0, 0, 0, 0, 0, 478, 0, + 0, 0, 0, 0, 0, 377, 0, 666, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 371, 0, 0, + 0, 0, 0, 348, 0, 378, 0, 0, 0, 0, + 0, 348, 0, 349, 332, 334, 0, 0, 0, 348, + 391, 0, 0, 0, 439, 0, 371, 0, 0, 0, + 371, 0, 348, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 463, 0, 0, 0, 490, 0, 348, 0, 0, 0, + 489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 461, - 557, 0, 461, 0, 0, 346, 346, 0, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 488, 0, 0, 0, 0, 0, 487, + 0, 463, 559, 0, 463, 0, 0, 348, 348, 0, + 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 461, 0, 0, 0, 0, 0, 346, 0, 0, + 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, + 0, 489, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 463, 0, 0, 0, 0, 0, 348, 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, 461, 0, 0, 0, - 0, 0, 346, 0, 0, 488, 0, 0, 0, 0, - 0, 487, 0, 0, 0, 0, 0, 488, 0, 0, - 0, 0, 0, 487, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 463, 0, + 0, 0, 0, 0, 348, 0, 0, 490, 0, 0, + 0, 0, 0, 489, 0, 0, 0, 0, 0, 490, + 0, 0, 0, 0, 0, 489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 461, 0, 0, 0, 0, 0, 346, 0, + 0, 0, 0, 0, 463, 0, 0, 0, 0, 0, + 348, 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, 488, 0, 0, 0, - 0, 488, 487, 0, 0, 488, 0, 487, 0, 0, - 0, 487, 0, 0, 0, 0, 0, 0, 0, 488, - 0, 0, 0, 0, 376, 487, 0, 0, 0, 0, - 346, 0, 0, 0, 0, 0, 0, 0, 0, 488, - 0, 0, 0, 488, 0, 487, 0, 0, 0, 487, - 0, 488, 0, 0, 0, 488, 0, 487, 0, 0, - 0, 487, 0, 0, 0, 488, 0, 0, 0, 379, - 0, 487, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 0, 0, 322, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 490, 0, + 0, 0, 0, 490, 489, 0, 0, 490, 0, 489, + 0, 0, 0, 489, 0, 0, 0, 0, 0, 0, + 0, 490, 0, 0, 0, 0, 378, 489, 0, 0, + 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, + 0, 490, 0, 0, 0, 490, 0, 489, 0, 0, + 0, 489, 0, 490, 0, 0, 0, 490, 0, 489, + 0, 0, 0, 489, 0, 0, 0, 490, 0, 0, + 0, 381, 0, 489, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 0, 0, + 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, + 328, 329, 330, 331, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 468, 469, 470, 0, 471, 472, 473, + 474, 475, 476, 477, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 478, 408, + 324, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 0, 0, 421, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 324, 325, 326, 327, 328, 329, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 466, - 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 476, 406, 322, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 0, 0, 419, - 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, - 477, 0, 478, 479, 0, 0, 0, 0, 480, 423, - 424, 425, 426, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 324, 325, 326, 327, 328, 329, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 466, 467, 468, - 0, 469, 470, 471, 472, 473, 474, 475, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 476, 406, 322, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 0, 0, 419, 420, 0, + 0, 0, 0, 0, 423, 0, 479, 0, 480, 481, + 0, 0, 0, 0, 482, 425, 426, 427, 428, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, + 328, 329, 330, 331, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 468, 469, 470, 0, 471, 472, 473, + 474, 475, 476, 477, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 478, 408, + 324, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 0, 0, 421, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 421, 0, 477, 0, - 478, 592, 0, 0, 0, 0, 480, 423, 424, 425, - 426, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 324, 325, 326, 327, 328, 329, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 466, 467, 468, 0, 469, - 470, 471, 472, 473, 474, 475, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 476, 406, - 322, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 0, 0, 419, 420, 0, 0, 0, + 0, 0, 0, 0, 423, 0, 479, 0, 480, 594, + 0, 0, 0, 0, 482, 425, 426, 427, 428, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, + 328, 329, 330, 331, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 468, 469, 470, 0, 471, 472, 473, + 474, 475, 476, 477, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 478, 408, + 324, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 0, 0, 421, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 421, 0, 477, 0, 478, 0, - 0, 0, 0, 0, 480, 423, 424, 425, 426, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 324, 325, - 326, 327, 328, 329, 1, 2, 3, 4, 5, 6, + 0, 0, 0, 0, 423, 0, 479, 0, 480, 0, + 0, 0, 0, 0, 482, 425, 426, 427, 428, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, + 328, 329, 330, 331, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 466, 467, 468, 0, 469, 470, 471, - 472, 473, 474, 475, 20, 21, 22, 23, 24, 25, + 17, 18, 19, 468, 469, 470, 0, 471, 472, 473, + 474, 475, 476, 477, 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, @@ -1639,23 +1647,223 @@ static const yytype_int16 yytable[] = 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 476, 406, 322, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 0, 0, 419, 420, 0, 0, 0, 0, 0, + 316, 317, 318, 319, 320, 321, 322, 323, 478, 408, + 324, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 0, 0, 421, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 421, 0, 477, 0, 392, 0, 0, 0, - 0, 0, 480, 423, 424, 425, 426, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 324, 325, 326, 327, - 328, 329, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 466, 467, 468, 0, 469, 470, 471, 472, 473, - 474, 475, 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, + 0, 0, 0, 0, 423, 0, 479, 0, 394, 0, + 0, 0, 0, 0, 482, 425, 426, 427, 428, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, + 328, 329, 330, 331, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 468, 469, 470, 0, 471, 472, 473, + 474, 475, 476, 477, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 478, 408, + 324, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 0, 0, 421, 422, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 423, 0, 479, 0, 0, 0, + 0, 0, 0, 0, 482, 425, 426, 427, 428, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, + 328, 329, 330, 331, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 0, 408, + 324, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 0, 0, 421, 422, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 482, 425, 426, 427, 428, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, + 328, 329, 330, 331, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 0, 0, + 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, + 328, 329, 330, 331, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 0, 408, + 324, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 0, 0, 421, 422, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 425, 426, 427, 428, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, + 328, 329, 330, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 0, 375, 324, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 376, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, + 329, 330, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 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, @@ -1679,13 +1887,53 @@ static const yytype_int16 yytable[] = 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 476, 406, 322, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 0, - 0, 419, 420, 0, 0, 0, 0, 0, 0, 0, + 318, 319, 320, 321, 322, 323, 0, 0, 324, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 563, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 326, 327, 328, 329, + 330, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 0, 0, 324, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 421, 0, 477, 0, 0, 0, 0, 0, 0, 0, - 480, 423, 424, 425, 426, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 324, 325, 326, 327, 328, 329, + 0, 0, 0, 0, 0, 326, 327, 328, 329, 330, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1719,301 +1967,63 @@ static const yytype_int16 yytable[] = 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 0, 406, 322, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 0, 0, 419, - 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 480, 423, - 424, 425, 426, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 324, 325, 326, 327, 328, 329, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 0, 0, 322, 0, 0, 0, 0, 0, 0, 0, + 320, 321, 322, 323, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 323, 0, 0, 0, + 0, 0, 0, 0, 0, 653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 324, 325, 326, 327, 328, 329, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 0, 406, - 322, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 0, 0, 419, 420, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 423, 424, 425, 426, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 324, 325, - 326, 327, 328, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 0, 373, 322, 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, 374, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 324, 325, 326, 327, 328, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 0, 0, 322, 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, 561, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 324, 325, 326, 327, 328, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 0, - 0, 322, 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, - 630, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, - 325, 326, 327, 328, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 0, 0, 322, 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, 651, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 324, 325, 326, 327, - 328, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 0, 0, 322, 0, 0, 0, 0, + 0, 0, 0, 0, 326, 327, 328, 329, 330, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, - 0, 0, 0, 324, 325, 326, 327, 328, 21, 22, + 0, 0, 0, 326, 327, 328, 329, 330, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 116, 117, 118, 119, 120, 121, 122, + 103, 104, 105, 106, 107, 108, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 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, @@ -2033,89 +2043,13 @@ static const yytype_int16 yytable[] = 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 0, - 406, 322, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 0, 0, 419, 420, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 421, 0, 0, 0, 507, - 670, 0, 0, 0, 0, 0, 423, 424, 425, 426, - 3, 4, 5, 6, 7, 0, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 0, 406, 322, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 0, 0, 419, 420, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 421, 0, 0, 422, - 0, 0, 0, 0, 0, 0, 0, 423, 424, 425, - 426, 3, 4, 5, 6, 7, 0, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 0, 406, 322, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 0, 408, 324, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 0, 0, 421, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, - 0, 507, 0, 0, 0, 0, 0, 0, 423, 424, - 425, 426, 3, 4, 5, 6, 7, 0, 9, 10, + 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, + 0, 509, 672, 0, 0, 0, 0, 0, 425, 426, + 427, 428, 3, 4, 5, 6, 7, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 22, 23, 24, 25, 26, 27, 28, 29, @@ -2124,10 +2058,10 @@ static const yytype_int16 yytable[] = 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 83, 84, 85, 86, 87, 88, 89, + 0, 0, 0, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 116, 117, 118, 119, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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, @@ -2148,88 +2082,12 @@ static const yytype_int16 yytable[] = 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 0, 406, 322, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 0, 0, 419, - 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, - 0, 550, 0, 0, 0, 0, 0, 0, 0, 423, - 424, 425, 426, 3, 4, 5, 6, 7, 0, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 0, 406, 322, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 0, 0, - 419, 420, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, - 423, 424, 425, 426, 3, 4, 5, 6, 7, 0, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 0, 406, 322, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 0, - 0, 419, 420, 0, 0, 0, 0, 0, 0, 0, + 320, 321, 322, 323, 0, 408, 324, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 0, + 0, 421, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 423, 424, 425, 426, 3, 4, 5, 6, 7, + 423, 0, 0, 424, 0, 0, 0, 0, 0, 0, + 0, 425, 426, 427, 428, 3, 4, 5, 6, 7, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 22, 23, 24, 25, 26, @@ -2238,11 +2096,11 @@ static const yytype_int16 yytable[] = 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 84, 85, 86, + 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 107, 108, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 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, @@ -2262,132 +2120,63 @@ static const yytype_int16 yytable[] = 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 525, 0, 406, 322, 407, 408, + 317, 318, 319, 320, 321, 322, 323, 0, 408, 324, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 0, 0, 419, 420, 0, 0, 0, 0, 0, 0, + 419, 420, 0, 0, 421, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 423, 424, 425, 426, 3, 4, 5, 6, - 7, 0, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 423, 0, 0, 0, 509, 0, 0, + 0, 0, 0, 0, 425, 426, 427, 428, 3, 4, + 5, 6, 7, 0, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 0, 408, 324, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 0, 0, 421, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 0, 0, 322 -}; - -static const yytype_int16 yycheck[] = -{ - 0, 0, 0, 335, 343, 24, 0, 26, 27, 400, - 377, 30, 81, 493, 359, 505, 577, 507, 462, 459, - 510, 336, 336, 354, 355, 359, 381, 372, 641, 368, - 352, 353, 364, 373, 371, 679, 373, 372, 374, 683, - 373, 381, 378, 380, 435, 421, 659, 691, 381, 371, - 373, 373, 397, 398, 371, 377, 388, 380, 389, 390, - 394, 375, 373, 373, 532, 533, 381, 372, 372, 380, - 380, 511, 375, 378, 378, 378, 372, 372, 381, 378, - 377, 372, 378, 378, 372, 565, 453, 378, 372, 456, - 378, 383, 378, 385, 378, 381, 472, 336, 474, 536, - 537, 538, 539, 378, 378, 371, 381, 381, 598, 376, - 378, 378, 556, 381, 505, 378, 507, 378, 381, 510, - 381, 460, 419, 420, 397, 398, 399, 459, 350, 351, - 462, 356, 357, 524, 695, 386, 387, 388, 378, 379, - 373, 438, 378, 379, 520, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 336, 453, 375, 602, 456, - 650, 534, 535, 375, 380, 645, 540, 541, 336, 336, - 373, 380, 336, 381, 372, 371, 393, 392, 391, 511, - 358, 360, 374, 336, 336, 371, 381, 381, 371, 371, - 381, 567, 379, 373, 371, 571, 371, 371, 589, 590, - 376, 336, 336, 372, 374, 336, 696, 598, 374, 335, - 371, 371, 336, 558, 372, 378, 375, 374, 372, 381, - 376, 25, 372, 542, 556, 705, 375, 375, 544, 380, - 376, 543, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 381, 628, 546, 666, 545, 368, 364, 547, 650, - 368, 458, 329, 557, 633, 641, 636, 336, 678, 691, - 602, 692, 362, 636, 503, 659, 503, 503, 351, 668, - -1, 672, -1, 659, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 673, -1, 666, - -1, -1, -1, -1, -1, 696, -1, -1, -1, 641, - -1, -1, -1, -1, 690, -1, 335, -1, -1, -1, - -1, -1, -1, -1, -1, 664, -1, 659, -1, -1, - -1, -1, -1, -1, -1, 335, -1, -1, -1, -1, - -1, 335, -1, 343, -1, -1, -1, -1, -1, 343, - -1, 351, 351, 351, -1, -1, -1, 351, 358, -1, - -1, -1, -1, -1, 364, -1, -1, -1, 368, 666, - 364, -1, -1, -1, 368, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 388, -1, - -1, -1, 392, -1, 388, -1, -1, -1, 392, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 459, - 460, -1, 462, -1, -1, 459, 460, -1, 462, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 493, -1, -1, -1, -1, -1, 493, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 511, -1, -1, -1, -1, -1, 511, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 556, -1, -1, -1, - -1, -1, 556, -1, -1, 565, -1, -1, -1, -1, - -1, 565, -1, -1, -1, -1, -1, 577, -1, -1, - -1, -1, -1, 577, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 602, -1, -1, -1, -1, -1, 602, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 636, -1, -1, -1, - -1, 641, 636, -1, -1, 645, -1, 641, -1, -1, - -1, 645, -1, -1, -1, -1, -1, -1, -1, 659, - -1, -1, -1, -1, 664, 659, -1, -1, -1, -1, - 664, -1, -1, -1, -1, -1, -1, -1, -1, 679, - -1, -1, -1, 683, -1, 679, -1, -1, -1, 683, - -1, 691, -1, -1, -1, 695, -1, 691, -1, -1, - -1, 695, -1, -1, -1, 705, -1, -1, -1, 0, - -1, 705, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 33, 34, 35, 36, 37, 38, 39, 40, + 0, 0, 0, 0, 0, 0, 423, 0, 0, 552, + 0, 0, 0, 0, 0, 0, 0, 425, 426, 427, + 428, 3, 4, 5, 6, 7, 0, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 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, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 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, + 101, 102, 103, 104, 105, 106, 107, 108, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 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, @@ -2408,66 +2197,63 @@ static const yytype_int16 yycheck[] = 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, -1, -1, 337, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 381, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 395, 396, 397, 398, 399, 400, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, -1, -1, 352, - 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 371, -1, - 373, -1, 375, 376, -1, -1, -1, -1, 381, 382, - 383, 384, 385, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 395, 396, 397, 398, 399, 400, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 321, 322, 323, 0, 408, 324, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 0, 0, + 421, 422, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, + 425, 426, 427, 428, 3, 4, 5, 6, 7, 0, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 0, 408, 324, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 0, 0, 421, 422, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 425, 426, 427, 428, 3, 4, 5, + 6, 7, 0, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 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, + 55, 56, 57, 58, 59, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, + 105, 106, 107, 108, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 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, @@ -2487,55 +2273,202 @@ static const yytype_int16 yycheck[] = 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, -1, -1, 352, 353, -1, + 315, 316, 317, 318, 319, 320, 321, 322, 527, 0, + 408, 324, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 0, 0, 421, 422, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 425, 426, 427, 428, + 3, 4, 5, 6, 7, 0, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 0, 0, 324 +}; + +static const yytype_int16 yycheck[] = +{ + 0, 0, 0, 337, 345, 24, 0, 26, 27, 402, + 379, 30, 81, 495, 361, 507, 464, 509, 461, 579, + 512, 338, 338, 356, 357, 361, 383, 374, 643, 370, + 354, 355, 366, 681, 373, 375, 375, 685, 352, 353, + 375, 423, 382, 382, 437, 693, 661, 373, 383, 373, + 375, 375, 399, 400, 375, 379, 390, 382, 391, 392, + 396, 377, 383, 373, 375, 380, 383, 374, 383, 374, + 513, 382, 374, 380, 377, 379, 374, 380, 380, 376, + 383, 374, 380, 380, 374, 567, 455, 380, 380, 458, + 380, 383, 474, 378, 476, 380, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 374, 385, 600, 387, + 558, 380, 380, 338, 507, 382, 509, 421, 422, 512, + 374, 462, 538, 539, 540, 541, 380, 461, 380, 380, + 464, 383, 383, 526, 338, 380, 440, 697, 383, 380, + 522, 375, 383, 399, 400, 401, 388, 389, 390, 358, + 359, 455, 380, 381, 458, 377, 604, 380, 381, 377, + 652, 534, 535, 542, 543, 647, 536, 537, 338, 338, + 375, 382, 338, 383, 374, 373, 395, 394, 393, 513, + 360, 362, 376, 338, 338, 373, 383, 569, 383, 373, + 383, 573, 381, 375, 373, 373, 338, 373, 591, 592, + 373, 378, 338, 374, 376, 338, 698, 600, 376, 337, + 373, 373, 338, 560, 374, 380, 377, 376, 374, 383, + 378, 25, 374, 545, 558, 707, 377, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 377, 382, 630, 383, + 544, 378, 547, 549, 668, 546, 370, 366, 370, 652, + 548, 643, 638, 331, 460, 680, 693, 635, 694, 338, + 604, 364, 559, 638, 505, 661, 505, 353, 505, 661, + 670, 674, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 675, -1, -1, -1, -1, -1, 668, + -1, -1, -1, -1, -1, 698, -1, -1, -1, 643, + 692, -1, -1, -1, -1, -1, -1, -1, 337, -1, + -1, -1, -1, -1, -1, 666, -1, 661, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 337, -1, -1, + -1, -1, -1, 337, -1, 345, -1, -1, -1, -1, + -1, 345, -1, 353, 353, 353, -1, -1, -1, 353, + 360, -1, -1, -1, 668, -1, 366, -1, -1, -1, + 370, -1, 366, -1, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 371, -1, 373, -1, - 375, 376, -1, -1, -1, -1, 381, 382, 383, 384, - 385, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 395, 396, 397, 398, 399, 400, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, -1, -1, 352, 353, -1, -1, -1, + 390, -1, -1, -1, 394, -1, 390, -1, -1, -1, + 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 461, 462, -1, 464, -1, -1, 461, 462, -1, + 464, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 495, -1, -1, -1, -1, + -1, 495, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 513, -1, -1, -1, -1, -1, 513, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 558, -1, + -1, -1, -1, -1, 558, -1, -1, 567, -1, -1, + -1, -1, -1, 567, -1, -1, -1, -1, -1, 579, + -1, -1, -1, -1, -1, 579, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 604, -1, -1, -1, -1, -1, + 604, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 638, -1, + -1, -1, -1, 643, 638, -1, -1, 647, -1, 643, + -1, -1, -1, 647, -1, -1, -1, -1, -1, -1, + -1, 661, -1, -1, -1, -1, 666, 661, -1, -1, + -1, -1, 666, -1, -1, -1, -1, -1, -1, -1, + -1, 681, -1, -1, -1, 685, -1, 681, -1, -1, + -1, 685, -1, 693, -1, -1, -1, 697, -1, 693, + -1, -1, -1, 697, -1, -1, -1, 707, -1, -1, + -1, 0, -1, 707, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, -1, -1, + 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 383, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 397, 398, + 399, 400, 401, 402, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 371, -1, 373, -1, 375, -1, - -1, -1, -1, -1, 381, 382, 383, 384, 385, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 395, 396, - 397, 398, 399, 400, 3, 4, 5, 6, 7, 8, + -1, -1, -1, -1, 373, -1, 375, -1, 377, 378, + -1, -1, -1, -1, 383, 384, 385, 386, 387, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 397, 398, + 399, 400, 401, 402, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, @@ -2570,171 +2503,252 @@ static const yytype_int16 yycheck[] = 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, -1, -1, 352, 353, -1, -1, -1, -1, -1, + 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 371, -1, 373, -1, 375, -1, -1, -1, - -1, -1, 381, 382, 383, 384, 385, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 395, 396, 397, 398, - 399, 400, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, - -1, 352, 353, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 373, -1, 375, -1, 377, 378, + -1, -1, -1, -1, 383, 384, 385, 386, 387, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 397, 398, + 399, 400, 401, 402, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 371, -1, 373, -1, -1, -1, -1, -1, -1, -1, - 381, 382, 383, 384, 385, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 395, 396, 397, 398, 399, 400, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, + -1, -1, -1, -1, 373, -1, 375, -1, 377, -1, + -1, -1, -1, -1, 383, 384, 385, 386, 387, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 397, 398, + 399, 400, 401, 402, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, -1, -1, 352, - 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 371, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 381, 382, - 383, 384, 385, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 395, 396, 397, 398, 399, 400, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - -1, -1, 337, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 373, -1, 375, -1, 377, -1, + -1, -1, -1, -1, 383, 384, 385, 386, 387, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 397, 398, + 399, 400, 401, 402, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 373, -1, 375, -1, -1, -1, + -1, -1, -1, -1, 383, 384, 385, 386, 387, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 397, 398, + 399, 400, 401, 402, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 373, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 383, 384, 385, 386, 387, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 397, 398, + 399, 400, 401, 402, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, -1, -1, + 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 381, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 395, 396, 397, 398, 399, 400, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, -1, -1, 352, 353, -1, -1, -1, + -1, -1, -1, -1, 383, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 397, 398, + 399, 400, 401, 402, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 371, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 382, 383, 384, 385, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 395, 396, - 397, 398, 399, 3, 4, 5, 6, 7, 8, 9, + -1, -1, -1, -1, 373, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 384, 385, 386, 387, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 397, 398, + 399, 400, 401, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 34, 35, 36, 37, 38, 39, @@ -2767,133 +2781,54 @@ static const yytype_int16 yycheck[] = 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, -1, 336, 337, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 381, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 395, 396, 397, 398, 399, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, -1, -1, 337, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 376, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 395, 396, 397, 398, 399, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, -1, - -1, 337, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 376, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 395, - 396, 397, 398, 399, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, -1, -1, 337, -1, + -1, -1, -1, 383, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 397, 398, 399, + 400, 401, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 378, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 395, 396, 397, 398, - 399, 3, 4, 5, 6, 7, 8, 9, 10, 11, + -1, -1, -1, -1, -1, -1, 397, 398, 399, 400, + 401, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 34, 35, 36, 37, 38, 39, 40, 41, @@ -2926,23 +2861,103 @@ static const yytype_int16 yycheck[] = 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, -1, -1, 337, -1, -1, -1, -1, + 332, 333, 334, 335, 336, -1, -1, 339, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 378, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 397, 398, 399, 400, 401, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, -1, -1, 339, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 378, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 397, 398, 399, 400, 401, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, -1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, - -1, -1, -1, 395, 396, 397, 398, 399, 34, 35, + -1, -1, -1, 397, 398, 399, 400, 401, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + -1, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 129, 130, 131, 132, 133, 134, 135, + 116, 117, 118, 119, 120, 121, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 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, @@ -2962,51 +2977,128 @@ static const yytype_int16 yycheck[] = 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, -1, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, -1, -1, 352, 353, -1, -1, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 371, -1, -1, -1, 375, - 376, -1, -1, -1, -1, -1, 382, 383, 384, 385, - 5, 6, 7, 8, 9, -1, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 373, -1, -1, + -1, 377, 378, -1, -1, -1, -1, -1, 384, 385, + 386, 387, 5, 6, 7, 8, 9, -1, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, -1, -1, 352, 353, -1, + -1, 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, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 347, 348, 349, 350, 351, -1, + -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 373, -1, -1, 376, -1, -1, -1, -1, -1, -1, + -1, 384, 385, 386, 387, 5, 6, 7, 8, 9, + -1, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 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, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, + 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, + 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 373, -1, -1, -1, 377, -1, -1, + -1, -1, -1, -1, 384, 385, 386, 387, 5, 6, + 7, 8, 9, -1, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 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, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 347, 348, 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 371, -1, -1, 374, - -1, -1, -1, -1, -1, -1, -1, 382, 383, 384, - 385, 5, 6, 7, 8, 9, -1, 11, 12, 13, + -1, -1, -1, -1, -1, -1, 373, -1, -1, 376, + -1, -1, -1, -1, -1, -1, -1, 384, 385, 386, + 387, 5, 6, 7, 8, 9, -1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, @@ -3015,10 +3107,10 @@ static const yytype_int16 yycheck[] = 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 96, 97, 98, 99, 100, 101, 102, 103, + -1, -1, -1, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 129, 130, 131, 132, 133, + 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 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, @@ -3039,88 +3131,12 @@ static const yytype_int16 yycheck[] = 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, -1, -1, 352, 353, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 371, -1, -1, - -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, - 384, 385, 5, 6, 7, 8, 9, -1, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 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, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, -1, -1, 352, - 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 371, -1, - -1, 374, -1, -1, -1, -1, -1, -1, -1, 382, - 383, 384, 385, 5, 6, 7, 8, 9, -1, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, -1, -1, - 352, 353, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 371, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 381, - 382, 383, 384, 385, 5, 6, 7, 8, 9, -1, + 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 347, 348, 349, 350, 351, -1, -1, + 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 373, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 383, + 384, 385, 386, 387, 5, 6, 7, 8, 9, -1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, @@ -3129,10 +3145,10 @@ static const yytype_int16 yycheck[] = 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 96, 97, 98, 99, 100, + -1, -1, -1, -1, -1, -1, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 129, 130, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, @@ -3153,83 +3169,84 @@ static const yytype_int16 yycheck[] = 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, - -1, 352, 353, -1, -1, -1, -1, -1, -1, -1, + 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, + 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 371, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 382, 383, 384, 385, 5, 6, 7, 8, 9, - -1, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 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, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - -1, -1, 352, 353, -1, -1, -1, -1, -1, -1, + -1, -1, 373, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 384, 385, 386, 387, 5, 6, 7, + 8, 9, -1, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 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, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, + 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, + 348, 349, 350, 351, -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 371, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 382, 383, 384, 385, 5, 6, 7, 8, - 9, -1, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 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, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 373, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 384, 385, 386, 387, + 5, 6, 7, 8, 9, -1, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, -1, -1, 337 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, -1, -1, 339 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -3268,107 +3285,109 @@ static const yytype_uint16 yystos[] = 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 337, 381, 395, 396, 397, 398, 399, 400, - 435, 436, 439, 440, 441, 442, 446, 447, 448, 449, - 450, 451, 454, 455, 456, 457, 458, 460, 462, 463, - 464, 504, 505, 506, 371, 371, 336, 375, 463, 336, - 381, 381, 507, 372, 378, 443, 444, 445, 455, 460, - 378, 381, 336, 336, 381, 456, 460, 373, 461, 0, - 505, 336, 459, 81, 336, 452, 453, 375, 466, 460, - 381, 461, 375, 483, 444, 443, 445, 336, 336, 371, - 380, 461, 375, 378, 381, 438, 336, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 352, - 353, 371, 374, 382, 383, 384, 385, 405, 406, 407, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 333, 334, 335, 336, 339, 383, 397, 398, 399, 400, + 401, 402, 437, 438, 441, 442, 443, 444, 448, 449, + 450, 451, 452, 453, 456, 457, 458, 459, 460, 462, + 464, 465, 466, 506, 507, 508, 373, 373, 338, 377, + 465, 338, 383, 383, 509, 374, 380, 445, 446, 447, + 457, 462, 380, 383, 338, 338, 383, 458, 462, 375, + 463, 0, 507, 338, 461, 81, 338, 454, 455, 377, + 468, 462, 383, 463, 377, 485, 446, 445, 447, 338, + 338, 373, 382, 463, 377, 380, 383, 440, 338, 340, + 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 354, 355, 373, 376, 384, 385, 386, 387, 407, + 408, 409, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 458, 460, 373, 372, 378, 380, 372, 378, 465, - 455, 460, 467, 468, 381, 381, 22, 23, 24, 26, - 27, 28, 29, 30, 31, 32, 335, 373, 375, 376, - 381, 416, 429, 431, 433, 435, 439, 458, 460, 473, - 474, 475, 476, 484, 485, 486, 487, 490, 491, 494, - 495, 496, 503, 508, 461, 380, 461, 375, 431, 471, - 380, 437, 336, 378, 381, 416, 416, 433, 352, 353, - 373, 377, 372, 372, 378, 334, 431, 371, 416, 386, - 387, 388, 383, 385, 350, 351, 354, 355, 389, 390, - 356, 357, 393, 392, 391, 358, 360, 359, 394, 374, - 374, 429, 336, 429, 434, 453, 467, 460, 336, 469, - 470, 376, 468, 381, 381, 498, 371, 371, 381, 381, - 433, 371, 433, 379, 371, 373, 376, 477, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 380, 432, - 378, 381, 376, 474, 487, 491, 496, 471, 380, 471, - 472, 471, 467, 336, 372, 408, 433, 336, 431, 416, - 416, 416, 418, 418, 419, 419, 420, 420, 420, 420, - 421, 421, 422, 423, 424, 425, 426, 427, 430, 374, - 376, 469, 461, 378, 381, 474, 499, 433, 381, 433, - 379, 497, 336, 509, 510, 484, 431, 431, 471, 376, - 378, 376, 374, 433, 381, 470, 335, 473, 485, 500, - 372, 372, 433, 448, 455, 489, 371, 374, 378, 478, - 376, 471, 379, 371, 489, 501, 502, 480, 481, 482, - 488, 492, 336, 372, 434, 374, 510, 376, 431, 433, - 381, 372, 25, 476, 475, 375, 380, 475, 479, 483, - 372, 372, 433, 479, 480, 484, 493, 471, 381, 376 + 429, 430, 431, 460, 462, 375, 374, 380, 382, 374, + 380, 467, 457, 462, 469, 470, 383, 383, 22, 23, + 24, 26, 27, 28, 29, 30, 31, 32, 337, 375, + 377, 378, 383, 418, 431, 433, 435, 437, 441, 460, + 462, 475, 476, 477, 478, 486, 487, 488, 489, 492, + 493, 496, 497, 498, 505, 510, 463, 382, 463, 377, + 433, 473, 382, 439, 338, 380, 383, 418, 418, 435, + 354, 355, 375, 379, 374, 374, 380, 336, 433, 373, + 418, 388, 389, 390, 385, 387, 352, 353, 356, 357, + 391, 392, 358, 359, 395, 394, 393, 360, 362, 361, + 396, 376, 376, 431, 338, 431, 436, 455, 469, 462, + 338, 471, 472, 378, 470, 383, 383, 500, 373, 373, + 383, 383, 435, 373, 435, 381, 373, 375, 378, 479, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 382, 434, 380, 383, 378, 476, 489, 493, 498, 473, + 382, 473, 474, 473, 469, 338, 374, 410, 435, 338, + 433, 418, 418, 418, 420, 420, 421, 421, 422, 422, + 422, 422, 423, 423, 424, 425, 426, 427, 428, 429, + 432, 376, 378, 471, 463, 380, 383, 476, 501, 435, + 383, 435, 381, 499, 338, 511, 512, 486, 433, 433, + 473, 378, 380, 378, 376, 435, 383, 472, 337, 475, + 487, 502, 374, 374, 435, 450, 457, 491, 373, 376, + 380, 480, 378, 473, 381, 373, 491, 503, 504, 482, + 483, 484, 490, 494, 338, 374, 436, 376, 512, 378, + 433, 435, 383, 374, 25, 478, 477, 377, 382, 477, + 481, 485, 374, 374, 435, 481, 482, 486, 495, 473, + 383, 378 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 404, 405, 406, 406, 406, 406, 406, 406, 406, - 406, 406, 406, 406, 406, 406, 406, 407, 407, 407, - 407, 407, 407, 408, 409, 410, 411, 411, 412, 412, - 413, 413, 414, 415, 415, 415, 416, 416, 416, 416, - 417, 417, 417, 417, 418, 418, 418, 418, 419, 419, - 419, 420, 420, 420, 421, 421, 421, 421, 421, 422, - 422, 422, 423, 423, 424, 424, 425, 425, 426, 426, - 427, 427, 428, 428, 429, 430, 429, 431, 431, 432, - 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 433, 433, 434, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 437, 436, 438, 438, 439, 440, 440, 441, - 441, 442, 443, 443, 444, 444, 444, 444, 445, 446, - 446, 446, 446, 446, 447, 447, 447, 447, 447, 448, - 448, 449, 450, 450, 450, 450, 450, 450, 450, 450, - 451, 452, 452, 453, 453, 453, 454, 455, 455, 456, - 456, 456, 456, 456, 456, 456, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 458, 459, 459, 460, 460, 461, 461, - 461, 461, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 463, 463, - 463, 465, 464, 466, 464, 467, 467, 468, 468, 469, - 469, 470, 470, 471, 471, 471, 472, 472, 473, 474, - 474, 475, 475, 475, 475, 475, 475, 475, 476, 477, - 478, 476, 479, 479, 481, 480, 482, 480, 483, 483, - 484, 484, 485, 485, 486, 486, 487, 488, 488, 489, - 489, 490, 490, 492, 491, 493, 493, 494, 494, 495, - 495, 497, 496, 498, 496, 499, 496, 500, 500, 501, - 501, 502, 502, 503, 503, 503, 503, 503, 504, 504, - 505, 505, 505, 507, 506, 508, 509, 509, 510, 510 + 0, 406, 407, 408, 408, 408, 408, 408, 408, 408, + 408, 408, 408, 408, 408, 408, 408, 409, 409, 409, + 409, 409, 409, 410, 411, 412, 413, 413, 414, 414, + 415, 415, 416, 417, 417, 417, 418, 418, 418, 418, + 419, 419, 419, 419, 420, 420, 420, 420, 421, 421, + 421, 422, 422, 422, 423, 423, 423, 423, 423, 424, + 424, 424, 425, 425, 426, 426, 427, 427, 428, 428, + 429, 429, 430, 430, 431, 432, 431, 433, 433, 434, + 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, + 435, 435, 436, 437, 437, 437, 437, 437, 437, 437, + 437, 437, 439, 438, 440, 440, 441, 442, 442, 443, + 443, 444, 445, 445, 446, 446, 446, 446, 447, 448, + 448, 448, 448, 448, 449, 449, 449, 449, 449, 450, + 450, 451, 452, 452, 452, 452, 452, 452, 452, 452, + 453, 454, 454, 455, 455, 455, 456, 457, 457, 458, + 458, 458, 458, 458, 458, 458, 459, 459, 459, 459, + 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, + 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, + 459, 459, 459, 459, 459, 460, 461, 461, 462, 462, + 463, 463, 463, 463, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 465, 465, 465, 467, 466, 468, 466, 469, 469, 470, + 470, 471, 471, 472, 472, 473, 473, 473, 474, 474, + 475, 476, 476, 477, 477, 477, 477, 477, 477, 477, + 478, 479, 480, 478, 481, 481, 483, 482, 484, 482, + 485, 485, 486, 486, 487, 487, 488, 488, 489, 490, + 490, 491, 491, 492, 492, 494, 493, 495, 495, 496, + 496, 497, 497, 499, 498, 500, 498, 501, 498, 502, + 502, 503, 503, 504, 504, 505, 505, 505, 505, 505, + 506, 506, 507, 507, 507, 509, 508, 510, 511, 511, + 512, 512 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -3392,8 +3411,8 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 1, 1, 3, 1, 2, 2, 3, - 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 4, 1, 1, 3, 1, 2, + 2, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -3422,15 +3441,16 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 6, 0, 5, 1, 2, 3, 4, 1, - 3, 1, 2, 1, 3, 4, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, - 0, 5, 1, 1, 0, 2, 0, 2, 2, 3, - 1, 2, 1, 2, 1, 2, 5, 3, 1, 1, - 4, 1, 2, 0, 8, 0, 1, 3, 2, 1, - 2, 0, 6, 0, 8, 0, 7, 1, 1, 1, - 0, 2, 3, 2, 2, 2, 3, 2, 1, 2, - 1, 1, 1, 0, 3, 5, 1, 3, 1, 4 + 1, 1, 1, 0, 6, 0, 5, 1, 2, 3, + 4, 1, 3, 1, 2, 1, 3, 4, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 0, 0, 5, 1, 1, 0, 2, 0, 2, + 2, 3, 1, 2, 1, 2, 1, 2, 5, 3, + 1, 1, 4, 1, 2, 0, 8, 0, 1, 3, + 2, 1, 2, 0, 6, 0, 8, 0, 7, 1, + 1, 1, 0, 2, 3, 2, 2, 2, 3, 2, + 1, 2, 1, 1, 1, 0, 3, 5, 1, 3, + 1, 4 }; @@ -4117,7 +4137,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string); } -#line 4121 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4141 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 3: @@ -4125,7 +4145,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 4: @@ -4134,7 +4154,7 @@ yyreduce: 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 4138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4158 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 5: @@ -4143,7 +4163,7 @@ yyreduce: 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 4147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 6: @@ -4151,7 +4171,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 4155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 7: @@ -4160,7 +4180,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 4164 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4184 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 8: @@ -4169,7 +4189,7 @@ yyreduce: 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 4173 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4193 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 9: @@ -4178,7 +4198,7 @@ yyreduce: 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 4182 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 10: @@ -4187,7 +4207,7 @@ yyreduce: 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 4191 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 11: @@ -4196,7 +4216,7 @@ yyreduce: 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 4200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 12: @@ -4204,7 +4224,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 4208 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4228 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 13: @@ -4213,7 +4233,7 @@ yyreduce: 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 4217 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4237 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 14: @@ -4222,7 +4242,7 @@ yyreduce: 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 4226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4246 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 15: @@ -4230,7 +4250,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 4234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 16: @@ -4240,7 +4260,7 @@ yyreduce: if ((yyval.interm.intermTypedNode)->getAsConstantUnion()) (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression(); } -#line 4244 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4264 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 17: @@ -4248,7 +4268,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 18: @@ -4256,7 +4276,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode)); } -#line 4260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 19: @@ -4264,7 +4284,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 20: @@ -4272,7 +4292,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string); } -#line 4276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4296 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 21: @@ -4282,7 +4302,7 @@ yyreduce: 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 4286 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4306 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 22: @@ -4292,7 +4312,7 @@ yyreduce: 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 4296 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4316 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 23: @@ -4301,7 +4321,7 @@ yyreduce: parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]"); (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4305 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 24: @@ -4310,7 +4330,7 @@ yyreduce: (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode); delete (yyvsp[0].interm).function; } -#line 4314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 25: @@ -4318,7 +4338,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); } -#line 4322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 26: @@ -4327,7 +4347,7 @@ yyreduce: (yyval.interm) = (yyvsp[-1].interm); (yyval.interm).loc = (yyvsp[0].lex).loc; } -#line 4331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 27: @@ -4336,7 +4356,7 @@ yyreduce: (yyval.interm) = (yyvsp[-1].interm); (yyval.interm).loc = (yyvsp[0].lex).loc; } -#line 4340 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 28: @@ -4344,7 +4364,7 @@ yyreduce: { (yyval.interm) = (yyvsp[-1].interm); } -#line 4348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 29: @@ -4352,7 +4372,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); } -#line 4356 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 30: @@ -4364,7 +4384,7 @@ yyreduce: (yyval.interm).function = (yyvsp[-1].interm).function; (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode); } -#line 4368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 31: @@ -4376,7 +4396,7 @@ yyreduce: (yyval.interm).function = (yyvsp[-2].interm).function; (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc); } -#line 4380 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4400 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 32: @@ -4384,7 +4404,7 @@ yyreduce: { (yyval.interm) = (yyvsp[-1].interm); } -#line 4388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 33: @@ -4394,7 +4414,7 @@ yyreduce: (yyval.interm).intermNode = 0; (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); } -#line 4398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 34: @@ -4426,7 +4446,7 @@ yyreduce: (yyval.interm).function = new TFunction(&empty, TType(EbtVoid), EOpNull); } } -#line 4430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4450 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 35: @@ -4436,7 +4456,7 @@ yyreduce: (yyval.interm).intermNode = 0; (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); } -#line 4440 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 36: @@ -4447,7 +4467,7 @@ yyreduce: if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode()) parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), ""); } -#line 4451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 37: @@ -4456,7 +4476,7 @@ yyreduce: 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 4460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 38: @@ -4465,7 +4485,7 @@ yyreduce: 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 4469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 39: @@ -4486,38 +4506,38 @@ yyreduce: (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression(); } } -#line 4490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 40: #line 520 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; } -#line 4496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 41: #line 521 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; } -#line 4502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4522 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 42: #line 522 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; } -#line 4508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 43: #line 523 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot; parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); } -#line 4515 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 44: #line 529 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 45: @@ -4527,7 +4547,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 46: @@ -4537,7 +4557,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 47: @@ -4548,13 +4568,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4552 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 48: #line 549 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 49: @@ -4564,7 +4584,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 50: @@ -4574,13 +4594,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4598 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 51: #line 563 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 52: @@ -4591,7 +4611,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4595 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4615 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 53: @@ -4602,13 +4622,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 54: #line 579 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 55: @@ -4618,7 +4638,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 56: @@ -4628,7 +4648,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 57: @@ -4638,7 +4658,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 58: @@ -4648,13 +4668,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 59: #line 603 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 60: @@ -4667,7 +4687,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 61: @@ -4680,13 +4700,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4684 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 62: #line 623 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 63: @@ -4697,13 +4717,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4701 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4721 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 64: #line 633 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4707 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 65: @@ -4714,13 +4734,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 66: #line 643 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4744 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 67: @@ -4731,13 +4751,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 4735 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4755 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 68: #line 653 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4761 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 69: @@ -4747,13 +4767,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4751 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 70: #line 662 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4757 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 71: @@ -4763,13 +4783,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4767 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4787 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 72: #line 671 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4773 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 73: @@ -4779,13 +4799,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 4783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 74: #line 680 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 75: @@ -4793,7 +4813,7 @@ yyreduce: { ++parseContext.controlFlowNestingLevel; } -#line 4797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4817 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 76: @@ -4810,13 +4830,13 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } } -#line 4814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4834 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 77: #line 699 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4840 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 78: @@ -4834,7 +4854,7 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } } -#line 4838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4858 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 79: @@ -4843,7 +4863,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAssign; } -#line 4847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 80: @@ -4852,7 +4872,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpMulAssign; } -#line 4856 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 81: @@ -4861,7 +4881,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpDivAssign; } -#line 4865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 82: @@ -4871,7 +4891,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpModAssign; } -#line 4875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 83: @@ -4880,7 +4900,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAddAssign; } -#line 4884 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 84: @@ -4889,7 +4909,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpSubAssign; } -#line 4893 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 85: @@ -4898,7 +4918,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign; } -#line 4902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4922 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 86: @@ -4907,7 +4927,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign; } -#line 4911 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4931 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 87: @@ -4916,7 +4936,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign; } -#line 4920 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 88: @@ -4925,7 +4945,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign; } -#line 4929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4949 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 89: @@ -4934,7 +4954,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign; } -#line 4938 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4958 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 90: @@ -4942,7 +4962,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 91: @@ -4955,7 +4975,7 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } } -#line 4959 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 92: @@ -4964,7 +4984,7 @@ yyreduce: parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), ""); (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 4968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 93: @@ -4974,7 +4994,7 @@ yyreduce: (yyval.interm.intermNode) = 0; // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature } -#line 4978 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 4998 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 94: @@ -4984,7 +5004,7 @@ yyreduce: (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence); (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode; } -#line 4988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 95: @@ -4997,7 +5017,7 @@ yyreduce: parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision); (yyval.interm.intermNode) = 0; } -#line 5001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 96: @@ -5006,7 +5026,7 @@ yyreduce: parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList); (yyval.interm.intermNode) = 0; } -#line 5010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 97: @@ -5015,7 +5035,7 @@ yyreduce: parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string); (yyval.interm.intermNode) = 0; } -#line 5019 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 98: @@ -5024,7 +5044,7 @@ yyreduce: parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes); (yyval.interm.intermNode) = 0; } -#line 5028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 99: @@ -5034,7 +5054,7 @@ yyreduce: parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type)); (yyval.interm.intermNode) = 0; } -#line 5038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5058 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 100: @@ -5044,7 +5064,7 @@ yyreduce: parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string); (yyval.interm.intermNode) = 0; } -#line 5048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 101: @@ -5055,13 +5075,13 @@ yyreduce: parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList)); (yyval.interm.intermNode) = 0; } -#line 5059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 102: #line 834 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); } -#line 5065 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5085 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 103: @@ -5075,7 +5095,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[-5].interm.type).loc; (yyval.interm).typeList = (yyvsp[-1].interm.typeList); } -#line 5079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5099 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 104: @@ -5084,7 +5104,7 @@ yyreduce: (yyval.interm.identifierList) = new TIdentifierList; (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string); } -#line 5088 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5108 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 105: @@ -5093,7 +5113,7 @@ yyreduce: (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList); (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string); } -#line 5097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 106: @@ -5102,7 +5122,7 @@ yyreduce: (yyval.interm).function = (yyvsp[-1].interm.function); (yyval.interm).loc = (yyvsp[0].lex).loc; } -#line 5106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5126 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 107: @@ -5110,7 +5130,7 @@ yyreduce: { (yyval.interm.function) = (yyvsp[0].interm.function); } -#line 5114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 108: @@ -5118,7 +5138,7 @@ yyreduce: { (yyval.interm.function) = (yyvsp[0].interm.function); } -#line 5122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5142 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 109: @@ -5131,7 +5151,7 @@ yyreduce: else delete (yyvsp[0].interm).param.type; } -#line 5135 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 110: @@ -5153,7 +5173,7 @@ yyreduce: (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param); } } -#line 5157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 111: @@ -5177,7 +5197,7 @@ yyreduce: function = new TFunction((yyvsp[-1].lex).string, type); (yyval.interm.function) = function; } -#line 5181 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 112: @@ -5197,7 +5217,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).param = param; } -#line 5201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 113: @@ -5221,7 +5241,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[-1].lex).loc; (yyval.interm).param = param; } -#line 5225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5245 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 114: @@ -5237,7 +5257,7 @@ yyreduce: parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type); } -#line 5241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5261 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 115: @@ -5249,7 +5269,7 @@ yyreduce: parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type); parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); } -#line 5253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5273 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 116: @@ -5264,7 +5284,7 @@ yyreduce: parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type); parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type); } -#line 5268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 117: @@ -5276,7 +5296,7 @@ yyreduce: parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type); parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); } -#line 5280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5300 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 118: @@ -5287,7 +5307,7 @@ yyreduce: if ((yyvsp[0].interm.type).arraySizes) parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes); } -#line 5291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5311 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 119: @@ -5295,7 +5315,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); } -#line 5299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5319 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 120: @@ -5304,7 +5324,7 @@ yyreduce: (yyval.interm) = (yyvsp[-2].interm); parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type); } -#line 5308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5328 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 121: @@ -5313,7 +5333,7 @@ yyreduce: (yyval.interm) = (yyvsp[-3].interm); parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes); } -#line 5317 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 122: @@ -5323,7 +5343,7 @@ yyreduce: 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 5327 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5347 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 123: @@ -5333,7 +5353,7 @@ yyreduce: 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 5337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 124: @@ -5343,7 +5363,7 @@ yyreduce: (yyval.interm).intermNode = 0; parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type); } -#line 5347 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 125: @@ -5353,7 +5373,7 @@ yyreduce: (yyval.interm).intermNode = 0; parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type)); } -#line 5357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 126: @@ -5363,7 +5383,7 @@ yyreduce: (yyval.interm).intermNode = 0; parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes); } -#line 5367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 127: @@ -5373,7 +5393,7 @@ yyreduce: 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 5377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 128: @@ -5383,7 +5403,7 @@ yyreduce: 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 5387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5407 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 129: @@ -5399,7 +5419,7 @@ yyreduce: parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier); } -#line 5403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5423 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 130: @@ -5428,7 +5448,7 @@ yyreduce: (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn))) (yyval.interm.type).qualifier.smooth = true; } -#line 5432 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5452 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 131: @@ -5439,7 +5459,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.invariant = true; } -#line 5443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 132: @@ -5451,7 +5471,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.smooth = true; } -#line 5455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5475 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 133: @@ -5463,7 +5483,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.flat = true; } -#line 5467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5487 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 134: @@ -5479,7 +5499,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.nopersp = true; } -#line 5483 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 135: @@ -5493,7 +5513,7 @@ yyreduce: (yyval.interm.type).qualifier.explicitInterp = true; #endif } -#line 5497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 136: @@ -5508,7 +5528,7 @@ yyreduce: (yyval.interm.type).qualifier.pervertexNV = true; #endif } -#line 5512 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5532 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 137: @@ -5525,7 +5545,7 @@ yyreduce: (yyval.interm.type).qualifier.perPrimitiveNV = true; #endif } -#line 5529 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5549 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 138: @@ -5539,7 +5559,7 @@ yyreduce: (yyval.interm.type).qualifier.perViewNV = true; #endif } -#line 5543 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5563 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 139: @@ -5553,7 +5573,7 @@ yyreduce: (yyval.interm.type).qualifier.perTaskNV = true; #endif } -#line 5557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 140: @@ -5561,7 +5581,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[-1].interm.type); } -#line 5565 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5585 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 141: @@ -5569,7 +5589,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5573 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5593 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 142: @@ -5579,7 +5599,7 @@ yyreduce: (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers); parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false); } -#line 5583 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5603 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 143: @@ -5588,7 +5608,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string); } -#line 5592 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 144: @@ -5597,7 +5617,7 @@ yyreduce: (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 5601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 145: @@ -5607,7 +5627,7 @@ yyreduce: TString strShared("shared"); parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared); } -#line 5611 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5631 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 146: @@ -5618,7 +5638,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.noContraction = true; } -#line 5622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 147: @@ -5626,7 +5646,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 148: @@ -5639,7 +5659,7 @@ yyreduce: (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers); parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false); } -#line 5643 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5663 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 149: @@ -5647,7 +5667,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5651 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 150: @@ -5655,7 +5675,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5659 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5679 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 151: @@ -5664,7 +5684,7 @@ yyreduce: parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision); (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 152: @@ -5673,7 +5693,7 @@ yyreduce: // allow inheritance of storage qualifier from block declaration (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5677 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 153: @@ -5682,7 +5702,7 @@ yyreduce: // allow inheritance of storage qualifier from block declaration (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 154: @@ -5691,7 +5711,7 @@ yyreduce: // allow inheritance of storage qualifier from block declaration (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5695 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5715 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 155: @@ -5699,7 +5719,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 5703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 156: @@ -5708,7 +5728,7 @@ yyreduce: (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 5712 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 157: @@ -5725,7 +5745,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqVaryingIn; } -#line 5729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5749 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 158: @@ -5744,7 +5764,7 @@ yyreduce: else (yyval.interm.type).qualifier.storage = EvqVaryingIn; } -#line 5748 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5768 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 159: @@ -5754,7 +5774,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqInOut; } -#line 5758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5778 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 160: @@ -5765,7 +5785,7 @@ yyreduce: // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later (yyval.interm.type).qualifier.storage = EvqIn; } -#line 5769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 161: @@ -5776,7 +5796,7 @@ yyreduce: // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later (yyval.interm.type).qualifier.storage = EvqOut; } -#line 5780 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5800 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 162: @@ -5788,7 +5808,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.centroid = true; } -#line 5792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5812 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 163: @@ -5799,7 +5819,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.patch = true; } -#line 5803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 164: @@ -5809,7 +5829,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.sample = true; } -#line 5813 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 165: @@ -5819,7 +5839,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqUniform; } -#line 5823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 166: @@ -5829,56 +5849,85 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqBuffer; } -#line 5833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 167: #line 1349 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef NV_EXTENSIONS - parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNVX"); + parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV"); parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangClosestHitNVMask - | EShLangAnyHitNVMask), "hitAttributeNVX"); - parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NVX_raytracing, "hitAttributeNVX"); + | EShLangAnyHitNVMask), "hitAttributeNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "hitAttributeNV"); (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqHitAttrNV; #endif } -#line 5848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5868 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 168: #line 1359 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef NV_EXTENSIONS - parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNVX"); + parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNV"); parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangClosestHitNVMask | - EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadNVX"); - parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadNVX"); + EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadNV"); (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqPayloadNV; #endif } -#line 5863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5883 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 169: #line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef NV_EXTENSIONS - parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNVX"); + parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNV"); parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitNVMask | - EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadInNVX"); - parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadInNVX"); + EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadInNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadInNV"); (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqPayloadInNV; #endif } -#line 5878 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 170: #line 1379 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { +#ifdef NV_EXTENSIONS + parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataNV"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenNVMask | + EShLangClosestHitNVMask | EShLangMissNVMask | EShLangCallableNVMask), "callableDataNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqCallableDataNV; +#endif + } +#line 5913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 171: +#line 1389 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { +#ifdef NV_EXTENSIONS + parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInNV"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableNVMask), "callableDataInNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataInNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqCallableDataInNV; +#endif + } +#line 5927 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 172: +#line 1398 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.globalCheck((yyvsp[0].lex).loc, "shared"); parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared"); @@ -5891,185 +5940,185 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqShared; } -#line 5895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 171: -#line 1391 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 173: +#line 1410 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.coherent = true; } -#line 5904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5953 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 172: -#line 1395 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 174: +#line 1414 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 5914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 173: -#line 1400 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 175: +#line 1419 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 5924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 174: -#line 1405 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 176: +#line 1424 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 5934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 175: -#line 1410 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 177: +#line 1429 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 5944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 5993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 176: -#line 1415 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 178: +#line 1434 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 5954 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6003 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 177: -#line 1420 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 179: +#line 1439 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.volatil = true; } -#line 5963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 178: -#line 1424 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 180: +#line 1443 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.restrict = true; } -#line 5972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 179: -#line 1428 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 181: +#line 1447 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.readonly = true; } -#line 5981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 180: -#line 1432 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 182: +#line 1451 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.writeonly = true; } -#line 5990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 181: -#line 1436 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 183: +#line 1455 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 182: -#line 1442 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 184: +#line 1461 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6061 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 183: -#line 1451 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 185: +#line 1470 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.nonUniform = true; } -#line 6021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 184: -#line 1458 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 186: +#line 1477 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { // TODO } -#line 6029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 185: -#line 1461 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 187: +#line 1480 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { // 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 6039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6088 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 186: -#line 1469 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 188: +#line 1488 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type) = (yyvsp[0].interm.type); (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type)); } -#line 6048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 187: -#line 1473 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 189: +#line 1492 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes); (yyval.interm.type) = (yyvsp[-1].interm.type); (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type)); (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes; } -#line 6059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6108 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 188: -#line 1482 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 190: +#line 1501 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[-1].lex).loc; (yyval.interm).arraySizes = new TArraySizes; (yyval.interm).arraySizes->addInnerSize(); } -#line 6069 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6118 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 189: -#line 1487 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 191: +#line 1506 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm).loc = (yyvsp[-2].lex).loc; (yyval.interm).arraySizes = new TArraySizes; @@ -6078,20 +6127,20 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size); (yyval.interm).arraySizes->addInnerSize(size); } -#line 6082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6131 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 190: -#line 1495 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 192: +#line 1514 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm) = (yyvsp[-2].interm); (yyval.interm).arraySizes->addInnerSize(); } -#line 6091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 191: -#line 1499 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 193: +#line 1518 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm) = (yyvsp[-3].interm); @@ -6099,1495 +6148,1495 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size); (yyval.interm).arraySizes->addInnerSize(size); } -#line 6103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6152 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 192: -#line 1509 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 194: +#line 1528 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtVoid; } -#line 6112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 193: -#line 1513 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 195: +#line 1532 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; } -#line 6121 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 194: -#line 1517 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 196: +#line 1536 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; } -#line 6131 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 195: -#line 1522 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 197: +#line 1541 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6141 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 196: -#line 1527 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 198: +#line 1546 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6151 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 197: -#line 1532 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 199: +#line 1551 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 198: -#line 1537 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 200: +#line 1556 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt; } -#line 6170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6219 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 199: -#line 1541 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 201: +#line 1560 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 200: -#line 1546 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 202: +#line 1565 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 201: -#line 1551 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 203: +#line 1570 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 202: -#line 1556 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 204: +#line 1575 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 203: -#line 1561 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 205: +#line 1580 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 204: -#line 1566 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 206: +#line 1585 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6230 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6279 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 205: -#line 1571 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 207: +#line 1590 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 206: -#line 1576 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 208: +#line 1595 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 207: -#line 1581 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 209: +#line 1600 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 208: -#line 1586 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 210: +#line 1605 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtBool; } -#line 6269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6318 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 209: -#line 1590 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 211: +#line 1609 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(2); } -#line 6279 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6328 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 210: -#line 1595 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 212: +#line 1614 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(3); } -#line 6289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 211: -#line 1600 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 213: +#line 1619 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(4); } -#line 6299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 212: -#line 1605 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 214: +#line 1624 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(2); } -#line 6310 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 213: -#line 1611 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 215: +#line 1630 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(3); } -#line 6321 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6370 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 214: -#line 1617 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 216: +#line 1636 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(4); } -#line 6332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 215: -#line 1623 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 217: +#line 1642 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 216: -#line 1629 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 218: +#line 1648 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6354 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 217: -#line 1635 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 219: +#line 1654 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6414 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 218: -#line 1641 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 220: +#line 1660 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 219: -#line 1647 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 221: +#line 1666 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 220: -#line 1653 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 222: +#line 1672 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 221: -#line 1659 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 223: +#line 1678 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6458 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 222: -#line 1665 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 224: +#line 1684 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6420 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 223: -#line 1671 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 225: +#line 1690 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 224: -#line 1677 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 226: +#line 1696 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtBool; (yyval.interm.type).setVector(2); } -#line 6441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 225: -#line 1682 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 227: +#line 1701 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtBool; (yyval.interm.type).setVector(3); } -#line 6451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 226: -#line 1687 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 228: +#line 1706 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtBool; (yyval.interm.type).setVector(4); } -#line 6461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 227: -#line 1692 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 229: +#line 1711 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(2); } -#line 6471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 228: -#line 1697 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 230: +#line 1716 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(3); } -#line 6481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 229: -#line 1702 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 231: +#line 1721 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(4); } -#line 6491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 230: -#line 1707 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 232: +#line 1726 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 231: -#line 1713 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 233: +#line 1732 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6562 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 232: -#line 1719 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 234: +#line 1738 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6524 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6573 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 233: -#line 1725 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 235: +#line 1744 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 234: -#line 1731 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 236: +#line 1750 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6595 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 235: -#line 1737 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 237: +#line 1756 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 236: -#line 1743 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 238: +#line 1762 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 237: -#line 1749 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 239: +#line 1768 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6579 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 238: -#line 1755 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 240: +#line 1774 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 239: -#line 1761 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 241: +#line 1780 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 240: -#line 1767 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 242: +#line 1786 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6661 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 241: -#line 1773 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 243: +#line 1792 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6623 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 242: -#line 1779 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 244: +#line 1798 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6634 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6683 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 243: -#line 1785 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 245: +#line 1804 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6645 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6694 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 244: -#line 1791 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 246: +#line 1810 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6656 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6705 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 245: -#line 1797 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 247: +#line 1816 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6667 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6716 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 246: -#line 1803 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 248: +#line 1822 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 247: -#line 1809 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 249: +#line 1828 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 248: -#line 1815 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 250: +#line 1834 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6749 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 249: -#line 1821 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 251: +#line 1840 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6711 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 250: -#line 1827 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 252: +#line 1846 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6722 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 251: -#line 1833 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 253: +#line 1852 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6733 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6782 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 252: -#line 1839 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 254: +#line 1858 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6744 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 253: -#line 1845 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 255: +#line 1864 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6755 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 254: -#line 1851 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 256: +#line 1870 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 255: -#line 1857 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 257: +#line 1876 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 256: -#line 1863 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 258: +#line 1882 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 6788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6837 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 257: -#line 1869 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 259: +#line 1888 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 6798 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 258: -#line 1874 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 260: +#line 1893 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 6808 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6857 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 259: -#line 1879 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 261: +#line 1898 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 6818 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 260: -#line 1884 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 262: +#line 1903 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 6828 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6877 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 261: -#line 1889 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 263: +#line 1908 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 3); } -#line 6838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 262: -#line 1894 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 264: +#line 1913 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 4); } -#line 6848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 263: -#line 1899 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 265: +#line 1918 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 2); } -#line 6858 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6907 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 264: -#line 1904 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 266: +#line 1923 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 6868 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6917 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 265: -#line 1909 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 267: +#line 1928 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 4); } -#line 6878 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6927 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 266: -#line 1914 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 268: +#line 1933 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 2); } -#line 6888 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 267: -#line 1919 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 269: +#line 1938 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 3); } -#line 6898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6947 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 268: -#line 1924 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 270: +#line 1943 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 6908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 269: -#line 1929 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 271: +#line 1948 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 6919 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 270: -#line 1935 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 272: +#line 1954 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 6930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 271: -#line 1941 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 273: +#line 1960 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 6941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 6990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 272: -#line 1947 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 274: +#line 1966 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 6952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 273: -#line 1953 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 275: +#line 1972 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 3); } -#line 6963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 274: -#line 1959 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 276: +#line 1978 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 4); } -#line 6974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7023 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 275: -#line 1965 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 277: +#line 1984 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 2); } -#line 6985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 276: -#line 1971 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 278: +#line 1990 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 6996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7045 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 277: -#line 1977 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 279: +#line 1996 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 4); } -#line 7007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 278: -#line 1983 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 280: +#line 2002 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 2); } -#line 7018 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7067 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 279: -#line 1989 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 281: +#line 2008 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 3); } -#line 7029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 280: -#line 1995 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 282: +#line 2014 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 7040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7089 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 281: -#line 2001 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 283: +#line 2020 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7051 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 282: -#line 2007 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 284: +#line 2026 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 283: -#line 2013 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 285: +#line 2032 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 284: -#line 2019 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 286: +#line 2038 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7084 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 285: -#line 2025 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 287: +#line 2044 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 286: -#line 2031 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 288: +#line 2050 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 287: -#line 2037 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 289: +#line 2056 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 288: -#line 2043 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 290: +#line 2062 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 289: -#line 2049 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 291: +#line 2068 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7188 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 290: -#line 2055 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 292: +#line 2074 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7199 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 291: -#line 2061 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 293: +#line 2080 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 292: -#line 2067 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 294: +#line 2086 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7172 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 293: -#line 2073 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 295: +#line 2092 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7183 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 294: -#line 2079 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 296: +#line 2098 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7194 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 295: -#line 2085 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 297: +#line 2104 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7205 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 296: -#line 2091 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 298: +#line 2110 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 297: -#line 2097 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 299: +#line 2116 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7227 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 298: -#line 2103 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 300: +#line 2122 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7238 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7287 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 299: -#line 2109 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 301: +#line 2128 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 300: -#line 2115 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 302: +#line 2134 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 301: -#line 2121 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 303: +#line 2140 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 302: -#line 2127 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 304: +#line 2146 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 303: -#line 2133 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 305: +#line 2152 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 304: -#line 2139 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 306: +#line 2158 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7304 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7353 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 305: -#line 2145 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 307: +#line 2164 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7315 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 306: -#line 2151 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 308: +#line 2170 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 307: -#line 2157 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 309: +#line 2176 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 308: -#line 2163 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 310: +#line 2182 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 309: -#line 2169 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 311: +#line 2188 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 310: -#line 2175 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 312: +#line 2194 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7370 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 311: -#line 2181 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 313: +#line 2200 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 312: -#line 2187 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 314: +#line 2206 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 313: -#line 2193 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 315: +#line 2212 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7452 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 314: -#line 2199 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 316: +#line 2218 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7414 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 315: -#line 2205 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 317: +#line 2224 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 316: -#line 2211 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 318: +#line 2230 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 317: -#line 2217 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 319: +#line 2236 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef NV_EXTENSIONS (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtAccStructNV; #endif } -#line 7447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 318: -#line 2223 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 320: +#line 2242 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 7457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7506 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 319: -#line 2228 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 321: +#line 2247 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd1D); } -#line 7467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 320: -#line 2233 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 322: +#line 2252 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D); } -#line 7477 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7526 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 321: -#line 2238 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 323: +#line 2257 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd3D); } -#line 7487 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7536 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 322: -#line 2243 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 324: +#line 2262 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdCube); } -#line 7497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 323: -#line 2248 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 325: +#line 2267 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7556 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 324: -#line 2253 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 326: +#line 2272 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 325: -#line 2258 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 327: +#line 2277 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7527 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 326: -#line 2263 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 328: +#line 2282 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7537 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7586 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 327: -#line 2268 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 329: +#line 2287 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 328: -#line 2273 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 330: +#line 2292 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 329: -#line 2278 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 331: +#line 2297 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 330: -#line 2283 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 332: +#line 2302 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 331: -#line 2288 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 333: +#line 2307 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7587 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 332: -#line 2293 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 334: +#line 2312 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7596,11 +7645,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd1D); #endif } -#line 7600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7649 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 333: -#line 2301 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 335: +#line 2320 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7609,11 +7658,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd2D); #endif } -#line 7613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 334: -#line 2309 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 336: +#line 2328 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7622,11 +7671,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd3D); #endif } -#line 7626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7675 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 335: -#line 2317 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 337: +#line 2336 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7635,11 +7684,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, EsdCube); #endif } -#line 7639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 336: -#line 2325 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 338: +#line 2344 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7648,11 +7697,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true); #endif } -#line 7652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7701 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 337: -#line 2333 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 339: +#line 2352 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7661,11 +7710,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true); #endif } -#line 7665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7714 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 338: -#line 2341 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 340: +#line 2360 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7674,11 +7723,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true); #endif } -#line 7678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 339: -#line 2349 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 341: +#line 2368 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7687,11 +7736,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true); #endif } -#line 7691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 340: -#line 2357 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 342: +#line 2376 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7700,11 +7749,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true); #endif } -#line 7704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 341: -#line 2365 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 343: +#line 2384 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7713,11 +7762,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true); #endif } -#line 7717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 342: -#line 2373 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 344: +#line 2392 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7726,11 +7775,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true); #endif } -#line 7730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 343: -#line 2381 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 345: +#line 2400 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7739,11 +7788,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true); #endif } -#line 7743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 344: -#line 2389 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 346: +#line 2408 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7752,171 +7801,171 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true); #endif } -#line 7756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7805 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 345: -#line 2397 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 347: +#line 2416 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd1D); } -#line 7766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 346: -#line 2402 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 348: +#line 2421 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd2D); } -#line 7776 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7825 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 347: -#line 2407 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 349: +#line 2426 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd3D); } -#line 7786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7835 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 348: -#line 2412 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 350: +#line 2431 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdCube); } -#line 7796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7845 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 349: -#line 2417 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 351: +#line 2436 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7855 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 350: -#line 2422 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 352: +#line 2441 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7816 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 351: -#line 2427 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 353: +#line 2446 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 352: -#line 2432 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 354: +#line 2451 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd1D); } -#line 7836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 353: -#line 2437 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 355: +#line 2456 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd2D); } -#line 7846 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 354: -#line 2442 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 356: +#line 2461 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd3D); } -#line 7856 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 355: -#line 2447 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 357: +#line 2466 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdCube); } -#line 7866 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 356: -#line 2452 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 358: +#line 2471 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 357: -#line 2457 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 359: +#line 2476 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 358: -#line 2462 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 360: +#line 2481 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 359: -#line 2467 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 361: +#line 2486 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdRect); } -#line 7906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 360: -#line 2472 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 362: +#line 2491 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 7916 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7965 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 361: -#line 2477 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 363: +#line 2496 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7925,11 +7974,11 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, EsdRect); #endif } -#line 7929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7978 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 362: -#line 2485 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 364: +#line 2504 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7938,41 +7987,41 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true); #endif } -#line 7942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 7991 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 363: -#line 2493 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 365: +#line 2512 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdRect); } -#line 7952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 364: -#line 2498 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 366: +#line 2517 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdRect); } -#line 7962 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8011 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 365: -#line 2503 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 367: +#line 2522 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer); } -#line 7972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 366: -#line 2508 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 368: +#line 2527 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -7981,41 +8030,41 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer); #endif } -#line 7985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 367: -#line 2516 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 369: +#line 2535 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdBuffer); } -#line 7995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 368: -#line 2521 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 370: +#line 2540 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdBuffer); } -#line 8005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8054 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 369: -#line 2526 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 371: +#line 2545 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8064 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 370: -#line 2531 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 372: +#line 2550 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -8024,41 +8073,41 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true); #endif } -#line 8028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8077 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 371: -#line 2539 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 373: +#line 2558 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8087 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 372: -#line 2544 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 374: +#line 2563 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 373: -#line 2549 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 375: +#line 2568 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8058 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8107 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 374: -#line 2554 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 376: +#line 2573 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); @@ -8067,61 +8116,61 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true); #endif } -#line 8071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 375: -#line 2562 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 377: +#line 2581 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 376: -#line 2567 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 378: +#line 2586 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 377: -#line 2572 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 379: +#line 2591 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setPureSampler(false); } -#line 8101 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 378: -#line 2577 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 380: +#line 2596 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setPureSampler(true); } -#line 8111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 379: -#line 2582 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 381: +#line 2601 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D); } -#line 8121 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 380: -#line 2587 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 382: +#line 2606 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8130,21 +8179,21 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D); #endif } -#line 8134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8183 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 381: -#line 2595 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 383: +#line 2614 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D); } -#line 8144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8193 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 382: -#line 2600 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 384: +#line 2619 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8153,21 +8202,21 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D); #endif } -#line 8157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8206 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 383: -#line 2608 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 385: +#line 2627 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D); } -#line 8167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 384: -#line 2613 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 386: +#line 2632 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8176,21 +8225,21 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D); #endif } -#line 8180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 385: -#line 2621 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 387: +#line 2640 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube); } -#line 8190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 386: -#line 2626 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 388: +#line 2645 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8199,21 +8248,21 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube); #endif } -#line 8203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 387: -#line 2634 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 389: +#line 2653 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8213 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 388: -#line 2639 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 390: +#line 2658 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8222,21 +8271,21 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true); #endif } -#line 8226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8275 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 389: -#line 2647 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 391: +#line 2666 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8236 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8285 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 390: -#line 2652 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 392: +#line 2671 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8245,21 +8294,21 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true); #endif } -#line 8249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 391: -#line 2660 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 393: +#line 2679 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 392: -#line 2665 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 394: +#line 2684 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8268,161 +8317,161 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true); #endif } -#line 8272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8321 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 393: -#line 2673 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 395: +#line 2692 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D); } -#line 8282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 394: -#line 2678 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 396: +#line 2697 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D); } -#line 8292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8341 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 395: -#line 2683 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 397: +#line 2702 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D); } -#line 8302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 396: -#line 2688 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 398: +#line 2707 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube); } -#line 8312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 397: -#line 2693 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 399: +#line 2712 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8371 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 398: -#line 2698 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 400: +#line 2717 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 399: -#line 2703 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 401: +#line 2722 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 400: -#line 2708 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 402: +#line 2727 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D); } -#line 8352 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 401: -#line 2713 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 403: +#line 2732 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D); } -#line 8362 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8411 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 402: -#line 2718 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 404: +#line 2737 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D); } -#line 8372 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8421 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 403: -#line 2723 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 405: +#line 2742 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube); } -#line 8382 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 404: -#line 2728 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 406: +#line 2747 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 405: -#line 2733 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 407: +#line 2752 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8402 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 406: -#line 2738 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 408: +#line 2757 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8412 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 407: -#line 2743 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 409: +#line 2762 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect); } -#line 8422 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 408: -#line 2748 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 410: +#line 2767 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8431,41 +8480,41 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect); #endif } -#line 8435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8484 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 409: -#line 2756 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 411: +#line 2775 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect); } -#line 8445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 410: -#line 2761 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 412: +#line 2780 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdRect); } -#line 8455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8504 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 411: -#line 2766 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 413: +#line 2785 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer); } -#line 8465 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8514 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 412: -#line 2771 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 414: +#line 2790 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8474,41 +8523,41 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer); #endif } -#line 8478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8527 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 413: -#line 2779 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 415: +#line 2798 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer); } -#line 8488 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8537 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 414: -#line 2784 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 416: +#line 2803 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer); } -#line 8498 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 415: -#line 2789 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 417: +#line 2808 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 416: -#line 2794 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 418: +#line 2813 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8517,41 +8566,41 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true); #endif } -#line 8521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8570 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 417: -#line 2802 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 419: +#line 2821 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 418: -#line 2807 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 420: +#line 2826 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 419: -#line 2812 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 421: +#line 2831 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 420: -#line 2817 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 422: +#line 2836 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); @@ -8560,41 +8609,41 @@ yyreduce: (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true); #endif } -#line 8564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 421: -#line 2825 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 423: +#line 2844 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8623 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 422: -#line 2830 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 424: +#line 2849 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 423: -#line 2835 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 425: +#line 2854 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D); } -#line 8594 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8643 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 424: -#line 2840 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 426: +#line 2859 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8603,41 +8652,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D); #endif } -#line 8607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8656 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 425: -#line 2848 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 427: +#line 2867 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd1D); } -#line 8617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 426: -#line 2853 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 428: +#line 2872 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd1D); } -#line 8627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 427: -#line 2858 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 429: +#line 2877 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D); } -#line 8637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 428: -#line 2863 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 430: +#line 2882 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8646,41 +8695,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D); #endif } -#line 8650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 429: -#line 2871 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 431: +#line 2890 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd2D); } -#line 8660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 430: -#line 2876 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 432: +#line 2895 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd2D); } -#line 8670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8719 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 431: -#line 2881 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 433: +#line 2900 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd3D); } -#line 8680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 432: -#line 2886 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 434: +#line 2905 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8689,41 +8738,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D); #endif } -#line 8693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 433: -#line 2894 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 435: +#line 2913 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd3D); } -#line 8703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8752 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 434: -#line 2899 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 436: +#line 2918 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd3D); } -#line 8713 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8762 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 435: -#line 2904 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 437: +#line 2923 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdRect); } -#line 8723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 436: -#line 2909 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 438: +#line 2928 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8732,41 +8781,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect); #endif } -#line 8736 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8785 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 437: -#line 2917 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 439: +#line 2936 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdRect); } -#line 8746 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 438: -#line 2922 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 440: +#line 2941 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdRect); } -#line 8756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8805 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 439: -#line 2927 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 441: +#line 2946 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube); } -#line 8766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 440: -#line 2932 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 442: +#line 2951 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8775,41 +8824,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube); #endif } -#line 8779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8828 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 441: -#line 2940 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 443: +#line 2959 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdCube); } -#line 8789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 442: -#line 2945 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 444: +#line 2964 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdCube); } -#line 8799 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 443: -#line 2950 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 445: +#line 2969 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer); } -#line 8809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8858 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 444: -#line 2955 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 446: +#line 2974 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8818,41 +8867,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer); #endif } -#line 8822 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8871 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 445: -#line 2963 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 447: +#line 2982 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer); } -#line 8832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8881 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 446: -#line 2968 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 448: +#line 2987 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer); } -#line 8842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 447: -#line 2973 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 449: +#line 2992 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8852 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8901 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 448: -#line 2978 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 450: +#line 2997 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8861,41 +8910,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true); #endif } -#line 8865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 449: -#line 2986 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 451: +#line 3005 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 450: -#line 2991 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 452: +#line 3010 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 451: -#line 2996 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 453: +#line 3015 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 452: -#line 3001 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 454: +#line 3020 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8904,41 +8953,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true); #endif } -#line 8908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 453: -#line 3009 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 455: +#line 3028 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 454: -#line 3014 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 456: +#line 3033 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 455: -#line 3019 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 457: +#line 3038 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8938 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 8987 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 456: -#line 3024 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 458: +#line 3043 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8947,41 +8996,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true); #endif } -#line 8951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9000 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 457: -#line 3032 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 459: +#line 3051 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 458: -#line 3037 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 460: +#line 3056 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8971 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9020 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 459: -#line 3042 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 461: +#line 3061 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 8981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 460: -#line 3047 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 462: +#line 3066 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -8990,41 +9039,41 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true); #endif } -#line 8994 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9043 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 461: -#line 3055 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 463: +#line 3074 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 9004 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9053 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 462: -#line 3060 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 464: +#line 3079 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 9014 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9063 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 463: -#line 3065 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 465: +#line 3084 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 9024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 464: -#line 3070 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 466: +#line 3089 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); @@ -9033,64 +9082,64 @@ yyreduce: (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true); #endif } -#line 9037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9086 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 465: -#line 3078 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 467: +#line 3097 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 9047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9096 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 466: -#line 3083 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 468: +#line 3102 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 9057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 467: -#line 3088 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 469: +#line 3107 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { // 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 9068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 468: -#line 3094 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 470: +#line 3113 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 469: -#line 3100 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 471: +#line 3119 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 470: -#line 3106 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 472: +#line 3125 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel()); @@ -9100,11 +9149,11 @@ yyreduce: (yyval.interm.type).sampler.setSubpass(EbtFloat16); #endif } -#line 9104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9153 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 471: -#line 3115 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 473: +#line 3134 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { #ifdef AMD_EXTENSIONS parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel()); @@ -9114,65 +9163,65 @@ yyreduce: (yyval.interm.type).sampler.setSubpass(EbtFloat16, true); #endif } -#line 9118 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 472: -#line 3124 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 474: +#line 3143 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9178 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 473: -#line 3130 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 475: +#line 3149 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9189 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 474: -#line 3136 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 476: +#line 3155 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9151 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 475: -#line 3142 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 477: +#line 3161 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9162 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 476: -#line 3148 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 478: +#line 3167 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 9172 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 477: -#line 3153 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 479: +#line 3172 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { // // This is for user defined type names. The lexical phase looked up the @@ -9186,47 +9235,47 @@ yyreduce: } else parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), ""); } -#line 9190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 478: -#line 3169 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 480: +#line 3188 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 479: -#line 3174 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 481: +#line 3193 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 480: -#line 3179 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 482: +#line 3198 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 481: -#line 3187 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 483: +#line 3206 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); } -#line 9226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9275 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 482: -#line 3187 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 484: +#line 3206 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string); parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure); @@ -9238,17 +9287,17 @@ yyreduce: (yyval.interm.type).userDef = structure; --parseContext.structNestingLevel; } -#line 9242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 483: -#line 3198 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 485: +#line 3217 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); } -#line 9248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9297 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 484: -#line 3198 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 486: +#line 3217 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { TType* structure = new TType((yyvsp[-1].interm.typeList), TString("")); (yyval.interm.type).init((yyvsp[-4].lex).loc); @@ -9256,19 +9305,19 @@ yyreduce: (yyval.interm.type).userDef = structure; --parseContext.structNestingLevel; } -#line 9260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 485: -#line 3208 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 487: +#line 3227 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.typeList) = (yyvsp[0].interm.typeList); } -#line 9268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9317 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 486: -#line 3211 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 488: +#line 3230 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.typeList) = (yyvsp[-1].interm.typeList); for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) { @@ -9279,11 +9328,11 @@ yyreduce: (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]); } } -#line 9283 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 487: -#line 3224 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 489: +#line 3243 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if ((yyvsp[-2].interm.type).arraySizes) { parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); @@ -9306,11 +9355,11 @@ yyreduce: (*(yyval.interm.typeList))[i].type->shallowCopy(type); } } -#line 9310 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 488: -#line 3246 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 490: +#line 3265 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if ((yyvsp[-2].interm.type).arraySizes) { parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); @@ -9335,38 +9384,38 @@ yyreduce: (*(yyval.interm.typeList))[i].type->shallowCopy(type); } } -#line 9339 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 489: -#line 3273 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 491: +#line 3292 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.typeList) = new TTypeList; (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine)); } -#line 9348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 490: -#line 3277 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 492: +#line 3296 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine)); } -#line 9356 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9405 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 491: -#line 3283 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 493: +#line 3302 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 9366 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9415 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 492: -#line 3288 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 494: +#line 3307 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes); @@ -9375,219 +9424,219 @@ yyreduce: (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string); (yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes); } -#line 9379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 493: -#line 3299 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 495: +#line 3318 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 9387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 494: -#line 3302 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 496: +#line 3321 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 495: -#line 3308 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 497: +#line 3327 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9458 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 496: -#line 3317 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 498: +#line 3336 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc()); } -#line 9417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9466 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 497: -#line 3320 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 499: +#line 3339 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); } -#line 9425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 498: -#line 3326 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ - break; - - case 499: -#line 3330 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9437 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 500: -#line 3331 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3345 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 501: -#line 3337 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3349 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9449 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9486 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 502: -#line 3338 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3350 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9492 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 503: -#line 3339 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3356 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9498 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 504: -#line 3340 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3357 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9504 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 505: -#line 3341 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3358 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9473 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 506: -#line 3342 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3359 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 507: -#line 3343 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3360 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9522 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 508: -#line 3347 "MachineIndependent/glslang.y" /* yacc.c:1646 */ - { (yyval.interm.intermNode) = 0; } -#line 9491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 3361 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 9528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; case 509: -#line 3348 "MachineIndependent/glslang.y" /* yacc.c:1646 */ +#line 3362 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 9534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 510: +#line 3366 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + { (yyval.interm.intermNode) = 0; } +#line 9540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ + break; + + case 511: +#line 3367 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.push(); ++parseContext.statementNestingLevel; } -#line 9500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9549 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 510: -#line 3352 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 512: +#line 3371 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); --parseContext.statementNestingLevel; } -#line 9509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 511: -#line 3356 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 513: +#line 3375 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9519 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 512: -#line 3364 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 514: +#line 3383 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 513: -#line 3365 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 515: +#line 3384 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 514: -#line 3369 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 516: +#line 3388 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { ++parseContext.controlFlowNestingLevel; } -#line 9539 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 515: -#line 3372 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 517: +#line 3391 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9548 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 516: -#line 3376 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 518: +#line 3395 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.push(); ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 9558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 517: -#line 3381 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 519: +#line 3400 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9569 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 518: -#line 3390 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 520: +#line 3409 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = 0; } -#line 9577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 519: -#line 3393 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 521: +#line 3412 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9587 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 520: -#line 3401 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 522: +#line 3420 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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 || @@ -9596,11 +9645,11 @@ yyreduce: (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case } } -#line 9600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9649 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 521: -#line 3409 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 523: +#line 3428 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) { @@ -9609,76 +9658,76 @@ yyreduce: } else (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 9613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 522: -#line 3420 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 524: +#line 3439 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = 0; } -#line 9619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 523: -#line 3421 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 525: +#line 3440 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); } -#line 9625 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9674 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 524: -#line 3425 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 526: +#line 3444 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 525: -#line 3428 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 527: +#line 3447 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 526: -#line 3434 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 528: +#line 3453 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9651 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 527: -#line 3441 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 529: +#line 3460 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode); } -#line 9660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 528: -#line 3445 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 530: +#line 3464 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); (yyval.interm.nodePair).node2 = 0; } -#line 9669 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 529: -#line 3453 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 531: +#line 3472 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)); } -#line 9678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 530: -#line 3457 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 532: +#line 3476 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type)); @@ -9689,28 +9738,28 @@ yyreduce: else (yyval.interm.intermTypedNode) = 0; } -#line 9693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 531: -#line 3470 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 533: +#line 3489 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9701 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 532: -#line 3473 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 534: +#line 3492 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 533: -#line 3479 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 535: +#line 3498 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { // start new switch sequence on the switch stack ++parseContext.controlFlowNestingLevel; @@ -9719,11 +9768,11 @@ yyreduce: parseContext.switchLevel.push_back(parseContext.statementNestingLevel); parseContext.symbolTable.push(); } -#line 9723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 534: -#line 3487 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 536: +#line 3506 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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(); @@ -9733,27 +9782,27 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 9737 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 535: -#line 3499 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 537: +#line 3518 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = 0; } -#line 9745 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9794 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 536: -#line 3502 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 538: +#line 3521 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 537: -#line 3508 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 539: +#line 3527 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -9766,11 +9815,11 @@ yyreduce: (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc); } } -#line 9770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 538: -#line 3520 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 540: +#line 3539 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -9780,28 +9829,28 @@ yyreduce: else (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc); } -#line 9784 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 539: -#line 3532 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 541: +#line 3551 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9841 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 540: -#line 3535 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 542: +#line 3554 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9801 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9850 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 541: -#line 3541 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 543: +#line 3560 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", ""); @@ -9810,11 +9859,11 @@ yyreduce: ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 9814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 542: -#line 3549 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 544: +#line 3568 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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); @@ -9822,21 +9871,21 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 9826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 543: -#line 3556 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 545: +#line 3575 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 9836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 544: -#line 3561 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 546: +#line 3580 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", ""); @@ -9848,22 +9897,22 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 9852 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9901 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 545: -#line 3572 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 547: +#line 3591 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.push(); ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 9863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9912 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 546: -#line 3578 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 548: +#line 3597 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc); @@ -9876,81 +9925,81 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 9880 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 547: -#line 3593 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 549: +#line 3612 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9888 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 548: -#line 3596 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 550: +#line 3615 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 9896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 549: -#line 3602 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 551: +#line 3621 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 9904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9953 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 550: -#line 3605 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 552: +#line 3624 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermTypedNode) = 0; } -#line 9912 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 551: -#line 3611 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 553: +#line 3630 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); (yyval.interm.nodePair).node2 = 0; } -#line 9921 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 552: -#line 3615 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 554: +#line 3634 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode); } -#line 9930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 553: -#line 3622 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 555: +#line 3641 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9989 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 554: -#line 3627 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 556: +#line 3646 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9950 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 9999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 555: -#line 3632 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 557: +#line 3651 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc); if (parseContext.currentFunctionType->getBasicType() != EbtVoid) @@ -9958,83 +10007,83 @@ yyreduce: if (parseContext.inMain) parseContext.postEntryPointReturn = true; } -#line 9962 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10011 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 556: -#line 3639 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 558: +#line 3658 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode)); } -#line 9970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10019 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 557: -#line 3642 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 559: +#line 3661 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc); } -#line 9979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 558: -#line 3651 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 560: +#line 3670 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); } -#line 9988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 559: -#line 3655 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 561: +#line 3674 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 9999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 560: -#line 3664 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 562: +#line 3683 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 10007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 561: -#line 3667 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 563: +#line 3686 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 10015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10064 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 562: -#line 3670 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 564: +#line 3689 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { 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 10025 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10074 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 563: -#line 3678 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 565: +#line 3697 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (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); } -#line 10034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10083 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 564: -#line 3682 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 566: +#line 3701 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { // May be best done as post process phase on intermediate code if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue) @@ -10050,52 +10099,52 @@ yyreduce: (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug); (yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable); } -#line 10054 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 565: -#line 3700 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 567: +#line 3719 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.attributes) = (yyvsp[-2].interm.attributes); parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute"); } -#line 10063 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 566: -#line 3706 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 568: +#line 3725 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.attributes) = (yyvsp[0].interm.attributes); } -#line 10071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 567: -#line 3709 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 569: +#line 3728 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes)); } -#line 10079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 568: -#line 3714 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 570: +#line 3733 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string); } -#line 10087 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; - case 569: -#line 3717 "MachineIndependent/glslang.y" /* yacc.c:1646 */ + case 571: +#line 3736 "MachineIndependent/glslang.y" /* yacc.c:1646 */ { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode)); } -#line 10095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ break; -#line 10099 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ +#line 10148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -10323,5 +10372,5 @@ yyreturn: #endif return yyresult; } -#line 3721 "MachineIndependent/glslang.y" /* yacc.c:1906 */ +#line 3740 "MachineIndependent/glslang.y" /* yacc.c:1906 */ diff --git a/glslang/MachineIndependent/glslang_tab.cpp.h b/glslang/MachineIndependent/glslang_tab.cpp.h index d1f2e711a8b9d8740b872ae3c2ceccd32a69ee7c..50bbcfcba590b80fc2f9047176a3109b88927a42 100644 --- a/glslang/MachineIndependent/glslang_tab.cpp.h +++ b/glslang/MachineIndependent/glslang_tab.cpp.h @@ -128,324 +128,326 @@ extern int yydebug; PAYLOADNV = 338, PAYLOADINNV = 339, HITATTRNV = 340, - COHERENT = 341, - VOLATILE = 342, - RESTRICT = 343, - READONLY = 344, - WRITEONLY = 345, - DEVICECOHERENT = 346, - QUEUEFAMILYCOHERENT = 347, - WORKGROUPCOHERENT = 348, - SUBGROUPCOHERENT = 349, - NONPRIVATE = 350, - DVEC2 = 351, - DVEC3 = 352, - DVEC4 = 353, - DMAT2 = 354, - DMAT3 = 355, - DMAT4 = 356, - F16VEC2 = 357, - F16VEC3 = 358, - F16VEC4 = 359, - F16MAT2 = 360, - F16MAT3 = 361, - F16MAT4 = 362, - F32VEC2 = 363, - F32VEC3 = 364, - F32VEC4 = 365, - F32MAT2 = 366, - F32MAT3 = 367, - F32MAT4 = 368, - F64VEC2 = 369, - F64VEC3 = 370, - F64VEC4 = 371, - F64MAT2 = 372, - F64MAT3 = 373, - F64MAT4 = 374, - NOPERSPECTIVE = 375, - FLAT = 376, - SMOOTH = 377, - LAYOUT = 378, - EXPLICITINTERPAMD = 379, - PERVERTEXNV = 380, - PERPRIMITIVENV = 381, - PERVIEWNV = 382, - PERTASKNV = 383, - MAT2X2 = 384, - MAT2X3 = 385, - MAT2X4 = 386, - MAT3X2 = 387, - MAT3X3 = 388, - MAT3X4 = 389, - MAT4X2 = 390, - MAT4X3 = 391, - MAT4X4 = 392, - DMAT2X2 = 393, - DMAT2X3 = 394, - DMAT2X4 = 395, - DMAT3X2 = 396, - DMAT3X3 = 397, - DMAT3X4 = 398, - DMAT4X2 = 399, - DMAT4X3 = 400, - DMAT4X4 = 401, - F16MAT2X2 = 402, - F16MAT2X3 = 403, - F16MAT2X4 = 404, - F16MAT3X2 = 405, - F16MAT3X3 = 406, - F16MAT3X4 = 407, - F16MAT4X2 = 408, - F16MAT4X3 = 409, - F16MAT4X4 = 410, - F32MAT2X2 = 411, - F32MAT2X3 = 412, - F32MAT2X4 = 413, - F32MAT3X2 = 414, - F32MAT3X3 = 415, - F32MAT3X4 = 416, - F32MAT4X2 = 417, - F32MAT4X3 = 418, - F32MAT4X4 = 419, - F64MAT2X2 = 420, - F64MAT2X3 = 421, - F64MAT2X4 = 422, - F64MAT3X2 = 423, - F64MAT3X3 = 424, - F64MAT3X4 = 425, - F64MAT4X2 = 426, - F64MAT4X3 = 427, - F64MAT4X4 = 428, - ATOMIC_UINT = 429, - ACCSTRUCTNV = 430, - SAMPLER1D = 431, - SAMPLER2D = 432, - SAMPLER3D = 433, - SAMPLERCUBE = 434, - SAMPLER1DSHADOW = 435, - SAMPLER2DSHADOW = 436, - SAMPLERCUBESHADOW = 437, - SAMPLER1DARRAY = 438, - SAMPLER2DARRAY = 439, - SAMPLER1DARRAYSHADOW = 440, - SAMPLER2DARRAYSHADOW = 441, - ISAMPLER1D = 442, - ISAMPLER2D = 443, - ISAMPLER3D = 444, - ISAMPLERCUBE = 445, - ISAMPLER1DARRAY = 446, - ISAMPLER2DARRAY = 447, - USAMPLER1D = 448, - USAMPLER2D = 449, - USAMPLER3D = 450, - USAMPLERCUBE = 451, - USAMPLER1DARRAY = 452, - USAMPLER2DARRAY = 453, - SAMPLER2DRECT = 454, - SAMPLER2DRECTSHADOW = 455, - ISAMPLER2DRECT = 456, - USAMPLER2DRECT = 457, - SAMPLERBUFFER = 458, - ISAMPLERBUFFER = 459, - USAMPLERBUFFER = 460, - SAMPLERCUBEARRAY = 461, - SAMPLERCUBEARRAYSHADOW = 462, - ISAMPLERCUBEARRAY = 463, - USAMPLERCUBEARRAY = 464, - SAMPLER2DMS = 465, - ISAMPLER2DMS = 466, - USAMPLER2DMS = 467, - SAMPLER2DMSARRAY = 468, - ISAMPLER2DMSARRAY = 469, - USAMPLER2DMSARRAY = 470, - SAMPLEREXTERNALOES = 471, - F16SAMPLER1D = 472, - F16SAMPLER2D = 473, - F16SAMPLER3D = 474, - F16SAMPLER2DRECT = 475, - F16SAMPLERCUBE = 476, - F16SAMPLER1DARRAY = 477, - F16SAMPLER2DARRAY = 478, - F16SAMPLERCUBEARRAY = 479, - F16SAMPLERBUFFER = 480, - F16SAMPLER2DMS = 481, - F16SAMPLER2DMSARRAY = 482, - F16SAMPLER1DSHADOW = 483, - F16SAMPLER2DSHADOW = 484, - F16SAMPLER1DARRAYSHADOW = 485, - F16SAMPLER2DARRAYSHADOW = 486, - F16SAMPLER2DRECTSHADOW = 487, - F16SAMPLERCUBESHADOW = 488, - F16SAMPLERCUBEARRAYSHADOW = 489, - SAMPLER = 490, - SAMPLERSHADOW = 491, - TEXTURE1D = 492, - TEXTURE2D = 493, - TEXTURE3D = 494, - TEXTURECUBE = 495, - TEXTURE1DARRAY = 496, - TEXTURE2DARRAY = 497, - ITEXTURE1D = 498, - ITEXTURE2D = 499, - ITEXTURE3D = 500, - ITEXTURECUBE = 501, - ITEXTURE1DARRAY = 502, - ITEXTURE2DARRAY = 503, - UTEXTURE1D = 504, - UTEXTURE2D = 505, - UTEXTURE3D = 506, - UTEXTURECUBE = 507, - UTEXTURE1DARRAY = 508, - UTEXTURE2DARRAY = 509, - TEXTURE2DRECT = 510, - ITEXTURE2DRECT = 511, - UTEXTURE2DRECT = 512, - TEXTUREBUFFER = 513, - ITEXTUREBUFFER = 514, - UTEXTUREBUFFER = 515, - TEXTURECUBEARRAY = 516, - ITEXTURECUBEARRAY = 517, - UTEXTURECUBEARRAY = 518, - TEXTURE2DMS = 519, - ITEXTURE2DMS = 520, - UTEXTURE2DMS = 521, - TEXTURE2DMSARRAY = 522, - ITEXTURE2DMSARRAY = 523, - UTEXTURE2DMSARRAY = 524, - F16TEXTURE1D = 525, - F16TEXTURE2D = 526, - F16TEXTURE3D = 527, - F16TEXTURE2DRECT = 528, - F16TEXTURECUBE = 529, - F16TEXTURE1DARRAY = 530, - F16TEXTURE2DARRAY = 531, - F16TEXTURECUBEARRAY = 532, - F16TEXTUREBUFFER = 533, - F16TEXTURE2DMS = 534, - F16TEXTURE2DMSARRAY = 535, - SUBPASSINPUT = 536, - SUBPASSINPUTMS = 537, - ISUBPASSINPUT = 538, - ISUBPASSINPUTMS = 539, - USUBPASSINPUT = 540, - USUBPASSINPUTMS = 541, - F16SUBPASSINPUT = 542, - F16SUBPASSINPUTMS = 543, - IMAGE1D = 544, - IIMAGE1D = 545, - UIMAGE1D = 546, - IMAGE2D = 547, - IIMAGE2D = 548, - UIMAGE2D = 549, - IMAGE3D = 550, - IIMAGE3D = 551, - UIMAGE3D = 552, - IMAGE2DRECT = 553, - IIMAGE2DRECT = 554, - UIMAGE2DRECT = 555, - IMAGECUBE = 556, - IIMAGECUBE = 557, - UIMAGECUBE = 558, - IMAGEBUFFER = 559, - IIMAGEBUFFER = 560, - UIMAGEBUFFER = 561, - IMAGE1DARRAY = 562, - IIMAGE1DARRAY = 563, - UIMAGE1DARRAY = 564, - IMAGE2DARRAY = 565, - IIMAGE2DARRAY = 566, - UIMAGE2DARRAY = 567, - IMAGECUBEARRAY = 568, - IIMAGECUBEARRAY = 569, - UIMAGECUBEARRAY = 570, - IMAGE2DMS = 571, - IIMAGE2DMS = 572, - UIMAGE2DMS = 573, - IMAGE2DMSARRAY = 574, - IIMAGE2DMSARRAY = 575, - UIMAGE2DMSARRAY = 576, - F16IMAGE1D = 577, - F16IMAGE2D = 578, - F16IMAGE3D = 579, - F16IMAGE2DRECT = 580, - F16IMAGECUBE = 581, - F16IMAGE1DARRAY = 582, - F16IMAGE2DARRAY = 583, - F16IMAGECUBEARRAY = 584, - F16IMAGEBUFFER = 585, - F16IMAGE2DMS = 586, - F16IMAGE2DMSARRAY = 587, - STRUCT = 588, - VOID = 589, - WHILE = 590, - IDENTIFIER = 591, - TYPE_NAME = 592, - FLOATCONSTANT = 593, - DOUBLECONSTANT = 594, - INT16CONSTANT = 595, - UINT16CONSTANT = 596, - INT32CONSTANT = 597, - UINT32CONSTANT = 598, - INTCONSTANT = 599, - UINTCONSTANT = 600, - INT64CONSTANT = 601, - UINT64CONSTANT = 602, - BOOLCONSTANT = 603, - FLOAT16CONSTANT = 604, - LEFT_OP = 605, - RIGHT_OP = 606, - INC_OP = 607, - DEC_OP = 608, - LE_OP = 609, - GE_OP = 610, - EQ_OP = 611, - NE_OP = 612, - AND_OP = 613, - OR_OP = 614, - XOR_OP = 615, - MUL_ASSIGN = 616, - DIV_ASSIGN = 617, - ADD_ASSIGN = 618, - MOD_ASSIGN = 619, - LEFT_ASSIGN = 620, - RIGHT_ASSIGN = 621, - AND_ASSIGN = 622, - XOR_ASSIGN = 623, - OR_ASSIGN = 624, - SUB_ASSIGN = 625, - LEFT_PAREN = 626, - RIGHT_PAREN = 627, - LEFT_BRACKET = 628, - RIGHT_BRACKET = 629, - LEFT_BRACE = 630, - RIGHT_BRACE = 631, - DOT = 632, - COMMA = 633, - COLON = 634, - EQUAL = 635, - SEMICOLON = 636, - BANG = 637, - DASH = 638, - TILDE = 639, - PLUS = 640, - STAR = 641, - SLASH = 642, - PERCENT = 643, - LEFT_ANGLE = 644, - RIGHT_ANGLE = 645, - VERTICAL_BAR = 646, - CARET = 647, - AMPERSAND = 648, - QUESTION = 649, - INVARIANT = 650, - PRECISE = 651, - HIGH_PRECISION = 652, - MEDIUM_PRECISION = 653, - LOW_PRECISION = 654, - PRECISION = 655, - PACKED = 656, - RESOURCE = 657, - SUPERP = 658 + CALLDATANV = 341, + CALLDATAINNV = 342, + COHERENT = 343, + VOLATILE = 344, + RESTRICT = 345, + READONLY = 346, + WRITEONLY = 347, + DEVICECOHERENT = 348, + QUEUEFAMILYCOHERENT = 349, + WORKGROUPCOHERENT = 350, + SUBGROUPCOHERENT = 351, + NONPRIVATE = 352, + DVEC2 = 353, + DVEC3 = 354, + DVEC4 = 355, + DMAT2 = 356, + DMAT3 = 357, + DMAT4 = 358, + F16VEC2 = 359, + F16VEC3 = 360, + F16VEC4 = 361, + F16MAT2 = 362, + F16MAT3 = 363, + F16MAT4 = 364, + F32VEC2 = 365, + F32VEC3 = 366, + F32VEC4 = 367, + F32MAT2 = 368, + F32MAT3 = 369, + F32MAT4 = 370, + F64VEC2 = 371, + F64VEC3 = 372, + F64VEC4 = 373, + F64MAT2 = 374, + F64MAT3 = 375, + F64MAT4 = 376, + NOPERSPECTIVE = 377, + FLAT = 378, + SMOOTH = 379, + LAYOUT = 380, + EXPLICITINTERPAMD = 381, + PERVERTEXNV = 382, + PERPRIMITIVENV = 383, + PERVIEWNV = 384, + PERTASKNV = 385, + MAT2X2 = 386, + MAT2X3 = 387, + MAT2X4 = 388, + MAT3X2 = 389, + MAT3X3 = 390, + MAT3X4 = 391, + MAT4X2 = 392, + MAT4X3 = 393, + MAT4X4 = 394, + DMAT2X2 = 395, + DMAT2X3 = 396, + DMAT2X4 = 397, + DMAT3X2 = 398, + DMAT3X3 = 399, + DMAT3X4 = 400, + DMAT4X2 = 401, + DMAT4X3 = 402, + DMAT4X4 = 403, + F16MAT2X2 = 404, + F16MAT2X3 = 405, + F16MAT2X4 = 406, + F16MAT3X2 = 407, + F16MAT3X3 = 408, + F16MAT3X4 = 409, + F16MAT4X2 = 410, + F16MAT4X3 = 411, + F16MAT4X4 = 412, + F32MAT2X2 = 413, + F32MAT2X3 = 414, + F32MAT2X4 = 415, + F32MAT3X2 = 416, + F32MAT3X3 = 417, + F32MAT3X4 = 418, + F32MAT4X2 = 419, + F32MAT4X3 = 420, + F32MAT4X4 = 421, + F64MAT2X2 = 422, + F64MAT2X3 = 423, + F64MAT2X4 = 424, + F64MAT3X2 = 425, + F64MAT3X3 = 426, + F64MAT3X4 = 427, + F64MAT4X2 = 428, + F64MAT4X3 = 429, + F64MAT4X4 = 430, + ATOMIC_UINT = 431, + ACCSTRUCTNV = 432, + SAMPLER1D = 433, + SAMPLER2D = 434, + SAMPLER3D = 435, + SAMPLERCUBE = 436, + SAMPLER1DSHADOW = 437, + SAMPLER2DSHADOW = 438, + SAMPLERCUBESHADOW = 439, + SAMPLER1DARRAY = 440, + SAMPLER2DARRAY = 441, + SAMPLER1DARRAYSHADOW = 442, + SAMPLER2DARRAYSHADOW = 443, + ISAMPLER1D = 444, + ISAMPLER2D = 445, + ISAMPLER3D = 446, + ISAMPLERCUBE = 447, + ISAMPLER1DARRAY = 448, + ISAMPLER2DARRAY = 449, + USAMPLER1D = 450, + USAMPLER2D = 451, + USAMPLER3D = 452, + USAMPLERCUBE = 453, + USAMPLER1DARRAY = 454, + USAMPLER2DARRAY = 455, + SAMPLER2DRECT = 456, + SAMPLER2DRECTSHADOW = 457, + ISAMPLER2DRECT = 458, + USAMPLER2DRECT = 459, + SAMPLERBUFFER = 460, + ISAMPLERBUFFER = 461, + USAMPLERBUFFER = 462, + SAMPLERCUBEARRAY = 463, + SAMPLERCUBEARRAYSHADOW = 464, + ISAMPLERCUBEARRAY = 465, + USAMPLERCUBEARRAY = 466, + SAMPLER2DMS = 467, + ISAMPLER2DMS = 468, + USAMPLER2DMS = 469, + SAMPLER2DMSARRAY = 470, + ISAMPLER2DMSARRAY = 471, + USAMPLER2DMSARRAY = 472, + SAMPLEREXTERNALOES = 473, + F16SAMPLER1D = 474, + F16SAMPLER2D = 475, + F16SAMPLER3D = 476, + F16SAMPLER2DRECT = 477, + F16SAMPLERCUBE = 478, + F16SAMPLER1DARRAY = 479, + F16SAMPLER2DARRAY = 480, + F16SAMPLERCUBEARRAY = 481, + F16SAMPLERBUFFER = 482, + F16SAMPLER2DMS = 483, + F16SAMPLER2DMSARRAY = 484, + F16SAMPLER1DSHADOW = 485, + F16SAMPLER2DSHADOW = 486, + F16SAMPLER1DARRAYSHADOW = 487, + F16SAMPLER2DARRAYSHADOW = 488, + F16SAMPLER2DRECTSHADOW = 489, + F16SAMPLERCUBESHADOW = 490, + F16SAMPLERCUBEARRAYSHADOW = 491, + SAMPLER = 492, + SAMPLERSHADOW = 493, + TEXTURE1D = 494, + TEXTURE2D = 495, + TEXTURE3D = 496, + TEXTURECUBE = 497, + TEXTURE1DARRAY = 498, + TEXTURE2DARRAY = 499, + ITEXTURE1D = 500, + ITEXTURE2D = 501, + ITEXTURE3D = 502, + ITEXTURECUBE = 503, + ITEXTURE1DARRAY = 504, + ITEXTURE2DARRAY = 505, + UTEXTURE1D = 506, + UTEXTURE2D = 507, + UTEXTURE3D = 508, + UTEXTURECUBE = 509, + UTEXTURE1DARRAY = 510, + UTEXTURE2DARRAY = 511, + TEXTURE2DRECT = 512, + ITEXTURE2DRECT = 513, + UTEXTURE2DRECT = 514, + TEXTUREBUFFER = 515, + ITEXTUREBUFFER = 516, + UTEXTUREBUFFER = 517, + TEXTURECUBEARRAY = 518, + ITEXTURECUBEARRAY = 519, + UTEXTURECUBEARRAY = 520, + TEXTURE2DMS = 521, + ITEXTURE2DMS = 522, + UTEXTURE2DMS = 523, + TEXTURE2DMSARRAY = 524, + ITEXTURE2DMSARRAY = 525, + UTEXTURE2DMSARRAY = 526, + F16TEXTURE1D = 527, + F16TEXTURE2D = 528, + F16TEXTURE3D = 529, + F16TEXTURE2DRECT = 530, + F16TEXTURECUBE = 531, + F16TEXTURE1DARRAY = 532, + F16TEXTURE2DARRAY = 533, + F16TEXTURECUBEARRAY = 534, + F16TEXTUREBUFFER = 535, + F16TEXTURE2DMS = 536, + F16TEXTURE2DMSARRAY = 537, + SUBPASSINPUT = 538, + SUBPASSINPUTMS = 539, + ISUBPASSINPUT = 540, + ISUBPASSINPUTMS = 541, + USUBPASSINPUT = 542, + USUBPASSINPUTMS = 543, + F16SUBPASSINPUT = 544, + F16SUBPASSINPUTMS = 545, + IMAGE1D = 546, + IIMAGE1D = 547, + UIMAGE1D = 548, + IMAGE2D = 549, + IIMAGE2D = 550, + UIMAGE2D = 551, + IMAGE3D = 552, + IIMAGE3D = 553, + UIMAGE3D = 554, + IMAGE2DRECT = 555, + IIMAGE2DRECT = 556, + UIMAGE2DRECT = 557, + IMAGECUBE = 558, + IIMAGECUBE = 559, + UIMAGECUBE = 560, + IMAGEBUFFER = 561, + IIMAGEBUFFER = 562, + UIMAGEBUFFER = 563, + IMAGE1DARRAY = 564, + IIMAGE1DARRAY = 565, + UIMAGE1DARRAY = 566, + IMAGE2DARRAY = 567, + IIMAGE2DARRAY = 568, + UIMAGE2DARRAY = 569, + IMAGECUBEARRAY = 570, + IIMAGECUBEARRAY = 571, + UIMAGECUBEARRAY = 572, + IMAGE2DMS = 573, + IIMAGE2DMS = 574, + UIMAGE2DMS = 575, + IMAGE2DMSARRAY = 576, + IIMAGE2DMSARRAY = 577, + UIMAGE2DMSARRAY = 578, + F16IMAGE1D = 579, + F16IMAGE2D = 580, + F16IMAGE3D = 581, + F16IMAGE2DRECT = 582, + F16IMAGECUBE = 583, + F16IMAGE1DARRAY = 584, + F16IMAGE2DARRAY = 585, + F16IMAGECUBEARRAY = 586, + F16IMAGEBUFFER = 587, + F16IMAGE2DMS = 588, + F16IMAGE2DMSARRAY = 589, + STRUCT = 590, + VOID = 591, + WHILE = 592, + IDENTIFIER = 593, + TYPE_NAME = 594, + FLOATCONSTANT = 595, + DOUBLECONSTANT = 596, + INT16CONSTANT = 597, + UINT16CONSTANT = 598, + INT32CONSTANT = 599, + UINT32CONSTANT = 600, + INTCONSTANT = 601, + UINTCONSTANT = 602, + INT64CONSTANT = 603, + UINT64CONSTANT = 604, + BOOLCONSTANT = 605, + FLOAT16CONSTANT = 606, + LEFT_OP = 607, + RIGHT_OP = 608, + INC_OP = 609, + DEC_OP = 610, + LE_OP = 611, + GE_OP = 612, + EQ_OP = 613, + NE_OP = 614, + AND_OP = 615, + OR_OP = 616, + XOR_OP = 617, + MUL_ASSIGN = 618, + DIV_ASSIGN = 619, + ADD_ASSIGN = 620, + MOD_ASSIGN = 621, + LEFT_ASSIGN = 622, + RIGHT_ASSIGN = 623, + AND_ASSIGN = 624, + XOR_ASSIGN = 625, + OR_ASSIGN = 626, + SUB_ASSIGN = 627, + LEFT_PAREN = 628, + RIGHT_PAREN = 629, + LEFT_BRACKET = 630, + RIGHT_BRACKET = 631, + LEFT_BRACE = 632, + RIGHT_BRACE = 633, + DOT = 634, + COMMA = 635, + COLON = 636, + EQUAL = 637, + SEMICOLON = 638, + BANG = 639, + DASH = 640, + TILDE = 641, + PLUS = 642, + STAR = 643, + SLASH = 644, + PERCENT = 645, + LEFT_ANGLE = 646, + RIGHT_ANGLE = 647, + VERTICAL_BAR = 648, + CARET = 649, + AMPERSAND = 650, + QUESTION = 651, + INVARIANT = 652, + PRECISE = 653, + HIGH_PRECISION = 654, + MEDIUM_PRECISION = 655, + LOW_PRECISION = 656, + PRECISION = 657, + PACKED = 658, + RESOURCE = 659, + SUPERP = 660 }; #endif @@ -489,7 +491,7 @@ union YYSTYPE }; } interm; -#line 493 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909 */ +#line 495 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909 */ }; typedef union YYSTYPE YYSTYPE; diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp index 5aa57761dcb91d7f8d0b3761a340dafc80eda8a2..5ad679066436c39db3000f06a028d5d197abf99b 100644 --- a/glslang/MachineIndependent/intermOut.cpp +++ b/glslang/MachineIndependent/intermOut.cpp @@ -1049,10 +1049,11 @@ bool TOutputTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break; #ifdef NV_EXTENSIONS - case EOpTraceNV: out.debug << "traceNVX"; break; - case EOpReportIntersectionNV: out.debug << "reportIntersectionNVX"; break; - case EOpIgnoreIntersectionNV: out.debug << "ignoreIntersectionNVX"; break; - case EOpTerminateRayNV: out.debug << "terminateRayNVX"; break; + case EOpTraceNV: out.debug << "traceNV"; break; + case EOpReportIntersectionNV: out.debug << "reportIntersectionNV"; break; + case EOpIgnoreIntersectionNV: out.debug << "ignoreIntersectionNV"; break; + case EOpTerminateRayNV: out.debug << "terminateRayNV"; break; + case EOpExecuteCallableNV: out.debug << "executeCallableNV"; break; case EOpWritePackedPrimitiveIndices4x8NV: out.debug << "writePackedPrimitiveIndices4x8NV"; break; #endif diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index 4f78c13509ba03e668d579a1d41761552f974c9e..8630128f75cf26942e0fd00580f7e0f042f88364 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -712,7 +712,7 @@ void TIntermediate::finalCheck(TInfoSink& infoSink, bool keepUncalled) case EShLangMissNV: case EShLangCallableNV: if (numShaderRecordNVBlocks > 1) - error(infoSink, "Only one shaderRecordNVX buffer block is allowed per stage"); + error(infoSink, "Only one shaderRecordNV buffer block is allowed per stage"); break; case EShLangMeshNV: // NV_mesh_shader doesn't allow use of both single-view and per-view builtins. diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 5f03ac1f120ebc24cfb4cc5e98d64033da38dc7d..ca558cd8bf4426e5e6af6a71001e4745f7860b7b 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -517,6 +517,8 @@ INSTANTIATE_TEST_CASE_P( "spv.ClosestHitShader_Errors.rchit", "spv.MissShader.rmiss", "spv.MissShader_Errors.rmiss", + "spv.RayCallable.rcall", + "spv.RayCallable_Errors.rcall", "spv.fragmentShaderBarycentric.frag", "spv.fragmentShaderBarycentric2.frag", "spv.computeShaderDerivatives.comp", diff --git a/known_good.json b/known_good.json index aac6853744e6a17f5c122ab02af2587108488b91..ee8288568fbfc0ca6779c8b09d0bbce8649a0389 100755 --- a/known_good.json +++ b/known_good.json @@ -5,14 +5,14 @@ "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Tools", "subdir" : "External/spirv-tools", - "commit" : "9bfe0eb25e3dfdf4f3fd86ab6c0cda009c9bd661" + "commit" : "fb996dce752507132c40c255898154cce6c072c5" }, { "name" : "spirv-tools/external/spirv-headers", "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Headers", "subdir" : "External/spirv-tools/external/spirv-headers", - "commit" : "d5b2e1255f706ce1f88812217e9a554f299848af" + "commit" : "a2c529b5dda18838ab4b52f816acfebd774eaab3" } ] }