• Home
  • Raw
  • Download

Lines Matching full:components

100 static String mask_string(const ComponentArray& components) {  in mask_string()  argument
102 for (int8_t component : components) { in mask_string()
110 ComponentArray components) { in optimize_constructor_swizzle() argument
115 int swizzleSize = components.size(); in optimize_constructor_swizzle()
160 for (int8_t c : components) { in optimize_constructor_swizzle()
183 for (int8_t c : components) { in optimize_constructor_swizzle()
202 // Since we know this argument uses components, it should already have at least one in optimize_constructor_swizzle()
239 ComponentArray components; in Convert() local
242 case '0': components.push_back(SwizzleComponent::ZERO); break; in Convert()
243 case '1': components.push_back(SwizzleComponent::ONE); break; in Convert()
244 case 'x': components.push_back(SwizzleComponent::X); break; in Convert()
245 case 'r': components.push_back(SwizzleComponent::R); break; in Convert()
246 case 's': components.push_back(SwizzleComponent::S); break; in Convert()
247 case 'L': components.push_back(SwizzleComponent::UL); break; in Convert()
248 case 'y': components.push_back(SwizzleComponent::Y); break; in Convert()
249 case 'g': components.push_back(SwizzleComponent::G); break; in Convert()
250 case 't': components.push_back(SwizzleComponent::T); break; in Convert()
251 case 'T': components.push_back(SwizzleComponent::UT); break; in Convert()
252 case 'z': components.push_back(SwizzleComponent::Z); break; in Convert()
253 case 'b': components.push_back(SwizzleComponent::B); break; in Convert()
254 case 'p': components.push_back(SwizzleComponent::P); break; in Convert()
255 case 'R': components.push_back(SwizzleComponent::UR); break; in Convert()
256 case 'w': components.push_back(SwizzleComponent::W); break; in Convert()
257 case 'a': components.push_back(SwizzleComponent::A); break; in Convert()
258 case 'q': components.push_back(SwizzleComponent::Q); break; in Convert()
259 case 'B': components.push_back(SwizzleComponent::UB); break; in Convert()
266 return Convert(context, std::move(base), std::move(components)); in Convert()
269 // Swizzles are complicated due to constant components. The most difficult case is a mask like
294 "too many components in swizzle mask '" + mask_string(inComponents) + "'"); in Convert()
438 ComponentArray components) { in Make() argument
442 SkASSERT(components.count() >= 1 && components.count() <= 4); in Make()
447 SkASSERT(std::all_of(components.begin(), components.end(), [](int8_t component) { in Make()
457 exprType.toCompound(context, components.size(), /*rows=*/1), in Make()
462 if (components.count() == exprType.columns()) { in Make()
464 for (int i = 0; i < components.count(); ++i) { in Make()
465 if (components[i] != i) { in Make()
479 for (int8_t c : components) { in Make()
480 combined.push_back(base.components()[c]); in Make()
493 // optimized to just `scalar`. The swizzle components don't actually matter, as every field in Make()
499 splat.type().componentType().toCompound(context, components.size(), /*rows=*/1), in Make()
506 if (auto replacement = optimize_constructor_swizzle(context, ctor, components)) { in Make()
512 return std::make_unique<Swizzle>(context, std::move(expr), components); in Make()