|
@@ -4191,8 +4191,8 @@ void TParseContext::mergeQualifiers(const TSourceLoc& loc, TQualifier& dst, cons
|
|
dst.spirvStorageClass = src.spirvStorageClass;
|
|
dst.spirvStorageClass = src.spirvStorageClass;
|
|
|
|
|
|
// SPIR-V decorate qualifiers (GL_EXT_spirv_intrinsics)
|
|
// SPIR-V decorate qualifiers (GL_EXT_spirv_intrinsics)
|
|
- if (src.hasSprivDecorate()) {
|
|
|
|
- if (dst.hasSprivDecorate()) {
|
|
|
|
|
|
+ if (src.hasSpirvDecorate()) {
|
|
|
|
+ if (dst.hasSpirvDecorate()) {
|
|
const TSpirvDecorate& srcSpirvDecorate = src.getSpirvDecorate();
|
|
const TSpirvDecorate& srcSpirvDecorate = src.getSpirvDecorate();
|
|
TSpirvDecorate& dstSpirvDecorate = dst.getSpirvDecorate();
|
|
TSpirvDecorate& dstSpirvDecorate = dst.getSpirvDecorate();
|
|
for (auto& decorate : srcSpirvDecorate.decorates) {
|
|
for (auto& decorate : srcSpirvDecorate.decorates) {
|
|
@@ -6326,8 +6326,7 @@ void TParseContext::layoutObjectCheck(const TSourceLoc& loc, const TSymbol& symb
|
|
switch (qualifier.storage) {
|
|
switch (qualifier.storage) {
|
|
case EvqVaryingIn:
|
|
case EvqVaryingIn:
|
|
case EvqVaryingOut:
|
|
case EvqVaryingOut:
|
|
- if (!type.getQualifier().isTaskMemory() &&
|
|
|
|
- !type.getQualifier().hasSprivDecorate() &&
|
|
|
|
|
|
+ if (!type.getQualifier().isTaskMemory() && !type.getQualifier().hasSpirvDecorate() &&
|
|
(type.getBasicType() != EbtBlock ||
|
|
(type.getBasicType() != EbtBlock ||
|
|
(!(*type.getStruct())[0].type->getQualifier().hasLocation() &&
|
|
(!(*type.getStruct())[0].type->getQualifier().hasLocation() &&
|
|
(*type.getStruct())[0].type->getQualifier().builtIn == EbvNone)))
|
|
(*type.getStruct())[0].type->getQualifier().builtIn == EbvNone)))
|
|
@@ -8540,7 +8539,7 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con
|
|
memberQualifier.storage = EvqtaskPayloadSharedEXT;
|
|
memberQualifier.storage = EvqtaskPayloadSharedEXT;
|
|
if (memberQualifier.storage == EvqSpirvStorageClass)
|
|
if (memberQualifier.storage == EvqSpirvStorageClass)
|
|
error(memberLoc, "member cannot have a spirv_storage_class qualifier", memberType.getFieldName().c_str(), "");
|
|
error(memberLoc, "member cannot have a spirv_storage_class qualifier", memberType.getFieldName().c_str(), "");
|
|
- if (memberQualifier.hasSprivDecorate() && !memberQualifier.getSpirvDecorate().decorateIds.empty())
|
|
|
|
|
|
+ if (memberQualifier.hasSpirvDecorate() && !memberQualifier.getSpirvDecorate().decorateIds.empty())
|
|
error(memberLoc, "member cannot have a spirv_decorate_id qualifier", memberType.getFieldName().c_str(), "");
|
|
error(memberLoc, "member cannot have a spirv_decorate_id qualifier", memberType.getFieldName().c_str(), "");
|
|
if ((currentBlockQualifier.storage == EvqUniform || currentBlockQualifier.storage == EvqBuffer) && (memberQualifier.isInterpolation() || memberQualifier.isAuxiliary()))
|
|
if ((currentBlockQualifier.storage == EvqUniform || currentBlockQualifier.storage == EvqBuffer) && (memberQualifier.isInterpolation() || memberQualifier.isAuxiliary()))
|
|
error(memberLoc, "member of uniform or buffer block cannot have an auxiliary or interpolation qualifier", memberType.getFieldName().c_str(), "");
|
|
error(memberLoc, "member of uniform or buffer block cannot have an auxiliary or interpolation qualifier", memberType.getFieldName().c_str(), "");
|