Remove one layer of arrayness on geometry shader inputs before checking for location overlaps. I think there is a spec. bug here.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24377 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
0b39137009
commit
521ca375e0
4 changed files with 19 additions and 5 deletions
|
|
@ -465,8 +465,14 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ
|
|||
size = type.getArraySize();
|
||||
else
|
||||
size = 1;
|
||||
} else
|
||||
size = computeTypeLocationSize(type);
|
||||
} else {
|
||||
if (language == EShLangGeometry && qualifier.isPipeInput()) {
|
||||
assert(type.isArray());
|
||||
TType elementType(type, 0);
|
||||
size = computeTypeLocationSize(elementType);
|
||||
} else
|
||||
size = computeTypeLocationSize(type);
|
||||
}
|
||||
|
||||
TRange range = { qualifier.layoutSlotLocation, qualifier.layoutSlotLocation + size - 1 };
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue