Lines Matching refs:slots
69 explicit Value(size_t slots) {
70 fVals.resize(slots);
77 size_t slots() const { return fVals.size(); }
156 * getSlot returning the start of the contiguous chunk of slots.
183 skvm::F32 f32(const Value& v) { SkASSERT(v.slots() == 1); return f32(v[0]); }
184 skvm::I32 i32(const Value& v) { SkASSERT(v.slots() == 1); return i32(v[0]); }
188 Value result(v.slots());
189 for (size_t i = 0; i < v.slots(); ++i) {
562 // Append slots for this variable to our debug slot-info table.
566 // Confirm that we added the expected number of slots.
570 // Create zeroed-out slots for this new variable.
650 SkASSERT(resultIdx == result.slots());
654 size_t nslots = std::max(lVal.slots(), rVal.slots());
660 skvm::Val L = lVal.slots() == 1 ? lVal[0] : lVal[i],
661 R = rVal.slots() == 1 ? rVal[0] : rVal[i];
753 for (size_t tmpSlot = 0; tmpSlot < tmp.slots(); ++tmpSlot) {
769 Value dst(src.slots());
774 for (size_t i = 0; i < src.slots(); ++i) {
781 for (size_t i = 0; i < src.slots(); ++i) {
791 for (size_t i = 0; i < src.slots(); ++i) {
798 for (size_t i = 0; i < src.slots(); ++i) {
808 for (size_t i = 0; i < src.slots(); ++i) {
815 for (size_t i = 0; i < src.slots(); ++i) {
873 SkASSERT(dstIndex == dst.slots());
895 SkASSERT(dstIndex == dst.slots());
911 for (size_t i = 0; i < field.slots(); ++i) {
935 for (size_t i = 0; i < element.slots(); ++i) {
944 for (size_t i = 0; i < val.slots(); ++i) {
951 SkASSERT(m.slots() == 4);
958 Value result(m.slots());
967 SkASSERT(m.slots() == 9);
974 Value result(m.slots());
988 SkASSERT(m.slots() == 16);
1022 Value result(m.slots());
1111 size_t nslots = std::max(args[0].slots(), args[1].slots());
1113 SkASSERT(args[0].slots() == nslots || args[0].slots() == 1);
1114 SkASSERT(args[1].slots() == nslots || args[1].slots() == 1);
1117 result[i] = fn({fBuilder, args[0][args[0].slots() == 1 ? 0 : i]},
1118 {fBuilder, args[1][args[1].slots() == 1 ? 0 : i]});
1125 size_t nslots = std::max({args[0].slots(), args[1].slots(), args[2].slots()});
1127 SkASSERT(args[0].slots() == nslots || args[0].slots() == 1);
1128 SkASSERT(args[1].slots() == nslots || args[1].slots() == 1);
1129 SkASSERT(args[2].slots() == nslots || args[2].slots() == 1);
1132 result[i] = fn({fBuilder, args[0][args[0].slots() == 1 ? 0 : i]},
1133 {fBuilder, args[1][args[1].slots() == 1 ? 0 : i]},
1134 {fBuilder, args[2][args[2].slots() == 1 ? 0 : i]});
1140 SkASSERT(x.slots() == y.slots());
1142 for (size_t i = 1; i < x.slots(); ++i) {
1256 switch (args[0].slots()) {
1294 for (size_t i = 1; i < args[0].slots(); ++i) {
1301 for (size_t i = 1; i < args[0].slots(); ++i) {
1326 for (size_t i = 0; i < v.slots(); ++i) {
1373 for (size_t i = 0; i < v.slots(); ++i) {
1451 SkASSERT(val.slots() == 1);
1496 size_t nslots = ifTrue.slots();
1497 SkASSERT(nslots == ifFalse.slots());
1555 SkASSERTF(rhs.slots() == lhs.type().slotCount(),
1557 lhs.type().description().c_str(), lhs.description().c_str(), rhs.slots());
1559 // We need to figure out the collection of slots that we're storing into. The l-value (lhs)
1561 // IndexExpressions. The underlying VariableReference has a range of slots for its storage,
1562 // and each expression wrapped around that selects a sub-set of those slots (Field/Index),
1564 SkSTArray<4, size_t, true> slots;
1565 slots.resize(rhs.slots());
1568 // slots [0, 1, 2 ... N] of the lhs.
1569 for (size_t i = 0; i < slots.size(); ++i) {
1570 slots[i] = i;
1573 // Now, as we peel off each outer expression, adjust 'slots' to be the locations relative to
1581 for (size_t& s : slots) {
1589 for (size_t& s : slots) {
1596 for (size_t& s : slots) {
1608 // When we get here, 'slots' are all relative to the first slot holding 'var's storage
1611 for (size_t& slot : slots) {
1616 // `slots` are now absolute indices into `fSlots`.
1618 for (size_t i = 0; i < rhs.slots(); ++i) {
1619 int slotNum = slots[i];
1879 size_t slots = p->type().slotCount();
1880 signature->fParameterSlots += slots;
1881 for (size_t i = 0; i < slots; ++i) {