Merge pull request #1375 from Igalia/nroberts/aml-arrayio
Skip outermost array when assigning locations to auto-array interfaces
This commit is contained in:
commit
2fb966aad2
@ -478,7 +478,16 @@ struct TDefaultIoResolverBase : public glslang::TIoMapResolver
|
|||||||
// Placeholder. This does not do proper cross-stage lining up, nor
|
// Placeholder. This does not do proper cross-stage lining up, nor
|
||||||
// work with mixed location/no-location declarations.
|
// work with mixed location/no-location declarations.
|
||||||
int location = nextLocation;
|
int location = nextLocation;
|
||||||
nextLocation += TIntermediate::computeTypeLocationSize(type, stage);
|
int typeLocationSize;
|
||||||
|
// Don’t take into account the outer-most array if the stage’s
|
||||||
|
// interface is automatically an array.
|
||||||
|
if (type.getQualifier().isArrayedIo(stage)) {
|
||||||
|
TType elementType(type, 0);
|
||||||
|
typeLocationSize = TIntermediate::computeTypeLocationSize(elementType, stage);
|
||||||
|
} else {
|
||||||
|
typeLocationSize = TIntermediate::computeTypeLocationSize(type, stage);
|
||||||
|
}
|
||||||
|
nextLocation += typeLocationSize;
|
||||||
|
|
||||||
return location;
|
return location;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user