void ShaderVariable::indexIntoArray(unsigned int arrayIndex) { ASSERT(isArray()); flattenedOffsetInParentArrays = arrayIndex + getOutermostArraySize() * flattenedOffsetInParentArrays; arraySizes.pop_back(); }
unsigned int ShaderVariable::getBasicTypeElementCount() const { // GLES 3.1 Nov 2016 section 7.3.1.1 page 77 specifies that a separate entry should be generated // for each array element when dealing with an array of arrays or an array of structs. ASSERT(!isArrayOfArrays()); ASSERT(!isStruct() || !isArray()); // GLES 3.1 Nov 2016 page 82. if (isArray()) { return getOutermostArraySize(); } return 1u; }