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
|
||||
// work with mixed location/no-location declarations.
|
||||
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;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user