Lines Matching defs:channels
2767 Id Builder::createRvalueSwizzle(Decoration precision, Id typeId, Id source, const std::vector<unsigned>& channels)
2769 if (channels.size() == 1)
2770 return setPrecision(createCompositeExtract(source, typeId, channels.front()), precision);
2775 return setPrecision(createSpecConstantOp(OpVectorShuffle, typeId, operands, channels), precision);
2781 for (int i = 0; i < (int)channels.size(); ++i)
2782 swizzle->addImmediateOperand(channels[i]);
2789 Id Builder::createLvalueSwizzle(Id typeId, Id target, Id source, const std::vector<unsigned>& channels)
2791 if (channels.size() == 1 && getNumComponents(source) == 1)
2792 return createCompositeInsert(source, target, typeId, channels.front());
2799 assert(getNumComponents(source) == (int)channels.size());
2810 for (int i = 0; i < (int)channels.size(); ++i)
2811 components[channels[i]] = numTargetComponents + i;
3360 std::vector<unsigned> channels;
3362 channels.push_back(row);
3372 matrixColumns.push_back(createRvalueSwizzle(precision, columnTypeId, colv, channels));