Lines Matching refs:baseExpression
2507 TIntermTyped *TParseContext::addIndexExpression(TIntermTyped *baseExpression, const TSourceLoc &loc… in addIndexExpression() argument
2511 if(!baseExpression->isArray() && !baseExpression->isMatrix() && !baseExpression->isVector()) in addIndexExpression()
2513 if(baseExpression->getAsSymbolNode()) in addIndexExpression()
2516 baseExpression->getAsSymbolNode()->getSymbol().c_str()); in addIndexExpression()
2539 if(baseExpression->getType().getQualifier() == EvqConstExpr) in addIndexExpression()
2541 if(baseExpression->isArray()) in addIndexExpression()
2544 indexedExpression = addConstArrayNode(index, baseExpression, location); in addIndexExpression()
2546 else if(baseExpression->isVector()) in addIndexExpression()
2552 indexedExpression = addConstVectorNode(fields, baseExpression, location); in addIndexExpression()
2554 else if(baseExpression->isMatrix()) in addIndexExpression()
2557 indexedExpression = addConstMatrixNode(index, baseExpression, location); in addIndexExpression()
2564 if(baseExpression->isArray()) in addIndexExpression()
2566 if(index >= baseExpression->getType().getArraySize()) in addIndexExpression()
2573 safeIndex = baseExpression->getType().getArraySize() - 1; in addIndexExpression()
2576 else if((baseExpression->isVector() || baseExpression->isMatrix()) && in addIndexExpression()
2577 baseExpression->getType().getNominalSize() <= index) in addIndexExpression()
2584 safeIndex = baseExpression->getType().getNominalSize() - 1; in addIndexExpression()
2596 …indexedExpression = intermediate.addIndex(EOpIndexDirect, baseExpression, indexExpression, locatio… in addIndexExpression()
2601 if(baseExpression->isInterfaceBlock()) in addIndexExpression()
2607 else if(baseExpression->getQualifier() == EvqFragmentOut) in addIndexExpression()
2613 …indexedExpression = intermediate.addIndex(EOpIndexIndirect, baseExpression, indexExpression, locat… in addIndexExpression()
2622 else if(baseExpression->isArray()) in addIndexExpression()
2624 const TType &baseType = baseExpression->getType(); in addIndexExpression()
2637 indexedExpression->setType(TType(baseExpression->getBasicType(), baseExpression->getPrecision(), in addIndexExpression()
2638 EvqTemporary, static_cast<unsigned char>(baseExpression->getNominalSize()), in addIndexExpression()
2639 static_cast<unsigned char>(baseExpression->getSecondarySize()))); in addIndexExpression()
2642 if(baseExpression->getType().getQualifier() == EvqConstExpr) in addIndexExpression()
2647 else if(baseExpression->isMatrix()) in addIndexExpression()
2649 …TQualifier qualifier = baseExpression->getType().getQualifier() == EvqConstExpr ? EvqConstExpr : E… in addIndexExpression()
2650 indexedExpression->setType(TType(baseExpression->getBasicType(), baseExpression->getPrecision(), in addIndexExpression()
2651 qualifier, static_cast<unsigned char>(baseExpression->getSecondarySize()))); in addIndexExpression()
2653 else if(baseExpression->isVector()) in addIndexExpression()
2655 …TQualifier qualifier = baseExpression->getType().getQualifier() == EvqConstExpr ? EvqConstExpr : E… in addIndexExpression()
2656 …indexedExpression->setType(TType(baseExpression->getBasicType(), baseExpression->getPrecision(), q… in addIndexExpression()
2660 indexedExpression->setType(baseExpression->getType()); in addIndexExpression()
2666 TIntermTyped *TParseContext::addFieldSelectionExpression(TIntermTyped *baseExpression, const TSourc… in addFieldSelectionExpression() argument
2671 if(baseExpression->isArray()) in addFieldSelectionExpression()
2677 if(baseExpression->isVector()) in addFieldSelectionExpression()
2680 if(!parseVectorFields(fieldString, baseExpression->getNominalSize(), fields, fieldLocation)) in addFieldSelectionExpression()
2687 if(baseExpression->getAsConstantUnion()) in addFieldSelectionExpression()
2690 indexedExpression = addConstVectorNode(fields, baseExpression, fieldLocation); in addFieldSelectionExpression()
2694 indexedExpression = baseExpression; in addFieldSelectionExpression()
2698 indexedExpression->setType(TType(baseExpression->getBasicType(), baseExpression->getPrecision(), in addFieldSelectionExpression()
2706 indexedExpression = intermediate.addIndex(EOpVectorSwizzle, baseExpression, index, dotLocation); in addFieldSelectionExpression()
2707 indexedExpression->setType(TType(baseExpression->getBasicType(), baseExpression->getPrecision(), in addFieldSelectionExpression()
2708 …baseExpression->getQualifier() == EvqConstExpr ? EvqConstExpr : EvqTemporary, (unsigned char)vecto… in addFieldSelectionExpression()
2711 else if(baseExpression->isMatrix()) in addFieldSelectionExpression()
2714 …if(!parseMatrixFields(fieldString, baseExpression->getNominalSize(), baseExpression->getSecondaryS… in addFieldSelectionExpression()
2731 indexedExpression = intermediate.addIndex(EOpIndexDirect, baseExpression, index, dotLocation); in addFieldSelectionExpression()
2732 indexedExpression->setType(TType(baseExpression->getBasicType(), baseExpression->getPrecision(), in addFieldSelectionExpression()
2733 EvqTemporary, static_cast<unsigned char>(baseExpression->getNominalSize()), in addFieldSelectionExpression()
2734 static_cast<unsigned char>(baseExpression->getSecondarySize()))); in addFieldSelectionExpression()
2739 unionArray->setIConst(fields.col * baseExpression->getSecondarySize() + fields.row); in addFieldSelectionExpression()
2742 indexedExpression = intermediate.addIndex(EOpIndexDirect, baseExpression, index, dotLocation); in addFieldSelectionExpression()
2743 … indexedExpression->setType(TType(baseExpression->getBasicType(), baseExpression->getPrecision())); in addFieldSelectionExpression()
2746 else if(baseExpression->getBasicType() == EbtStruct) in addFieldSelectionExpression()
2749 const TFieldList &fields = baseExpression->getType().getStruct()->fields(); in addFieldSelectionExpression()
2754 indexedExpression = baseExpression; in addFieldSelectionExpression()
2769 if(baseExpression->getType().getQualifier() == EvqConstExpr) in addFieldSelectionExpression()
2771 indexedExpression = addConstStruct(fieldString, baseExpression, dotLocation); in addFieldSelectionExpression()
2775 indexedExpression = baseExpression; in addFieldSelectionExpression()
2789 …indexedExpression = intermediate.addIndex(EOpIndexDirectStruct, baseExpression, index, dotLocation… in addFieldSelectionExpression()
2797 indexedExpression = baseExpression; in addFieldSelectionExpression()
2801 else if(baseExpression->isInterfaceBlock()) in addFieldSelectionExpression()
2804 const TFieldList &fields = baseExpression->getType().getInterfaceBlock()->fields(); in addFieldSelectionExpression()
2809 indexedExpression = baseExpression; in addFieldSelectionExpression()
2827 indexedExpression = intermediate.addIndex(EOpIndexDirectInterfaceBlock, baseExpression, index, in addFieldSelectionExpression()
2835 indexedExpression = baseExpression; in addFieldSelectionExpression()
2853 indexedExpression = baseExpression; in addFieldSelectionExpression()