Merge pull request #2587 from mbechard/master
Don't check precision qualifiers on cross-stage checks
This commit is contained in:
commit
b50ac578dd
@ -871,12 +871,13 @@ void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& sy
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Qualifiers have to (almost) match
|
bool isInOut = crossStage &&
|
||||||
|
((symbol.getQualifier().storage == EvqVaryingIn && unitSymbol.getQualifier().storage == EvqVaryingOut) ||
|
||||||
|
(symbol.getQualifier().storage == EvqVaryingOut && unitSymbol.getQualifier().storage == EvqVaryingIn));
|
||||||
|
|
||||||
|
// Qualifiers have to (almost) match
|
||||||
// Storage...
|
// Storage...
|
||||||
if (symbol.getQualifier().storage != unitSymbol.getQualifier().storage &&
|
if (!isInOut && symbol.getQualifier().storage != unitSymbol.getQualifier().storage) {
|
||||||
!((crossStage && symbol.getQualifier().storage == EvqVaryingIn && unitSymbol.getQualifier().storage == EvqVaryingOut) ||
|
|
||||||
(crossStage && symbol.getQualifier().storage == EvqVaryingOut && unitSymbol.getQualifier().storage == EvqVaryingIn))) {
|
|
||||||
error(infoSink, "Storage qualifiers must match:");
|
error(infoSink, "Storage qualifiers must match:");
|
||||||
writeTypeComparison = true;
|
writeTypeComparison = true;
|
||||||
}
|
}
|
||||||
@ -898,7 +899,7 @@ void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& sy
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Precision...
|
// Precision...
|
||||||
if (symbol.getQualifier().precision != unitSymbol.getQualifier().precision) {
|
if (!isInOut && symbol.getQualifier().precision != unitSymbol.getQualifier().precision) {
|
||||||
error(infoSink, "Precision qualifiers must match:");
|
error(infoSink, "Precision qualifiers must match:");
|
||||||
writeTypeComparison = true;
|
writeTypeComparison = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user