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:
John Kessenich 2013-12-05 20:58:16 +00:00
parent 0b39137009
commit 521ca375e0
4 changed files with 19 additions and 5 deletions

View file

@ -9,5 +9,5 @@
// source have to figure out how to create revision.h just to get a build
// going. However, if it is not updated, it can be a version behind.
#define GLSLANG_REVISION "24356"
#define GLSLANG_DATE "2013/12/04 14:50:38"
#define GLSLANG_REVISION "24376"
#define GLSLANG_DATE "2013/12/05 13:07:56"

View file

@ -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 };