Unverified Commit 83af4695 by John Kessenich Committed by GitHub

Merge pull request #2001 from mbechard/master

Fix #1981
parents 38b4db48 dd9e570d
...@@ -192,12 +192,14 @@ void TIntermediate::mergeModes(TInfoSink& infoSink, TIntermediate& unit) ...@@ -192,12 +192,14 @@ void TIntermediate::mergeModes(TInfoSink& infoSink, TIntermediate& unit)
MERGE_TRUE(pointMode); MERGE_TRUE(pointMode);
for (int i = 0; i < 3; ++i) { for (int i = 0; i < 3; ++i) {
if (localSize[i] > 1) if (!localSizeNotDefault[i] && unit.localSizeNotDefault[i]) {
localSize[i] = unit.localSize[i]; localSize[i] = unit.localSize[i];
localSizeNotDefault[i] = true;
}
else if (localSize[i] != unit.localSize[i]) else if (localSize[i] != unit.localSize[i])
error(infoSink, "Contradictory local size"); error(infoSink, "Contradictory local size");
if (localSizeSpecId[i] != TQualifier::layoutNotSet) if (localSizeSpecId[i] == TQualifier::layoutNotSet)
localSizeSpecId[i] = unit.localSizeSpecId[i]; localSizeSpecId[i] = unit.localSizeSpecId[i];
else if (localSizeSpecId[i] != unit.localSizeSpecId[i]) else if (localSizeSpecId[i] != unit.localSizeSpecId[i])
error(infoSink, "Contradictory local size specialization ids"); error(infoSink, "Contradictory local size specialization ids");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment