Name 138 "@entryPointOutput"
MemberDecorate 16($Global) 0 Offset 0
MemberDecorate 16($Global) 1 Offset 4
- MemberDecorate 16($Global) 2 Offset 16
- MemberDecorate 16($Global) 3 Offset 32
+ MemberDecorate 16($Global) 2 Offset 8
+ MemberDecorate 16($Global) 3 Offset 12
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
Decorate 138(@entryPointOutput) Location 0
if (type.isVector()) {
int scalarAlign = getBaseAlignmentScalar(type, size);
switch (type.getVectorSize()) {
+ case 1: // HLSL has this, GLSL does not
+ return scalarAlign;
case 2:
size *= 2;
return 2 * scalarAlign;
} else {
// at least one of base and index is variable...
- if (base->getAsSymbolNode() && wasFlattened(base)) {
+ if (base->getType().isScalarOrVec1())
+ result = base;
+ else if (base->getAsSymbolNode() && wasFlattened(base)) {
if (index->getQualifier().storage != EvqConst)
error(loc, "Invalid variable index to flattened array", base->getAsSymbolNode()->getName().c_str(), "");