Lines Matching refs:left

202     spv::Id createBinaryOperation(glslang::TOperator op, OpDecorations&, spv::Id typeId, spv::Id left, spv::Id right,
204 spv::Id createBinaryMatrixOperation(spv::Op, OpDecorations&, spv::Id typeId, spv::Id left, spv::Id right);
234 spv::Id createShortCircuit(glslang::TOperator, glslang::TIntermTyped& left, glslang::TIntermTyped& right);
2074 // L-value chains will be computed left to right. We're on the symbol now,
2075 // which is the left-most part of the access chain, so now is "clear" time,
2162 // says to evaluate the left before the right. So, always, left
2165 // get the left l-value, save it away
2179 // the left is also an r-value
2210 // Get the left part of the access chain.
2240 spv::Id left = accessChainLoad(node->getLeft()->getType());
2242 builder.setAccessChainLValue(left);
2283 // This adapter is building access chains left to right.
2284 // Set up the access chain to the left.
2356 spv::Id left = accessChainLoad(node->getLeft()->getType());
2358 // get left operand
2368 convertGlslangToSpvType(node->getType()), left, right,
2918 // processing from left to right naturally leaves the right-most
3352 glslang::TIntermTyped* left = node->getSequence()[0]->getAsTyped();
3354 assert(left && right);
3357 left->traverse(this);
3358 spv::Id leftId = accessChainLoad(left->getType());
3370 left->getType().getBasicType(), reduceComparison);
6425 spv::Id typeId, spv::Id left, spv::Id right,
6460 if (isFloat && (builder.isVector(left) || builder.isVector(right))) {
6462 std::swap(left, right);
6586 if (builder.isMatrix(left) || builder.isMatrix(right) ||
6587 builder.isCooperativeMatrix(left) || builder.isCooperativeMatrix(right))
6588 return createBinaryMatrixOperation(binOp, decorations, typeId, left, right);
6592 builder.promoteScalar(decorations.precision, left, right);
6594 spv::Id result = builder.createBinOp(binOp, typeId, left, right);
6606 && (builder.isVector(left) || builder.isMatrix(left) || builder.isAggregate(left))) {
6607 spv::Id result = builder.createCompositeCompare(decorations.precision, left, right, op == glslang::EOpEqual);
6668 spv::Id result = builder.createBinOp(binOp, typeId, left, right);
6692 spv::Id left, spv::Id right)
6699 if (builder.isMatrix(left) && builder.isScalar(right)) {
6709 std::swap(left, right);
6713 assert(builder.isVector(left));
6717 assert(builder.isMatrix(left));
6721 assert(builder.isMatrix(left));
6729 if (builder.isCooperativeMatrix(left) || builder.isCooperativeMatrix(right))
6733 spv::Id result = builder.createBinOp(op, typeId, left, right);
6754 bool leftMat = builder.isMatrix(left);
6756 unsigned int numCols = leftMat ? builder.getNumColumns(left) : builder.getNumColumns(right);
6757 int numRows = leftMat ? builder.getNumRows(left) : builder.getNumRows(right);
6762 if (builder.isScalar(left))
6763 smearVec = builder.smearScalar(decorations.precision, left, vecType);
6771 spv::Id leftVec = leftMat ? builder.createCompositeExtract( left, vecType, indexes) : smearVec;
10015 // the left side is true (for &&) or false (for ||).
10016 spv::Id TGlslangToSpvTraverser::createShortCircuit(glslang::TOperator op, glslang::TIntermTyped& left,
10021 // emit left operand
10023 left.traverse(this);
10024 spv::Id leftId = accessChainLoad(left.getType());
10028 // accumulate left operand's phi information
10033 // || => emit "if (! left) result = right"
10034 // && => emit "if ( left) result = right"
10041 // make an "if" based on the left value
10049 // accumulate left operand's phi information