Lines Matching defs:shader
402 // TODO: This does not work for arbitrary shader DAGs (when there is no single leaf local matrix).
404 static sk_sp<SkShader> make_post_inverse_lm(const SkShader* shader, const SkMatrix& m) {
406 if (!shader || !m.invert(&inverse)) {
416 // - the actual shader lm
420 const auto nested_shader = as_SB(shader)->makeAsALocalMatrixShader(&outer_lm);
422 // unfurl the shader
423 shader = nested_shader.get();
428 const auto lm = *as_SB(shader)->totalLocalMatrix(nullptr);
434 // Note: since we unfurled the shader above, we don't need to apply an outer_lm inverse
435 return shader->makeWithLocalMatrix(lm_inv * inverse * lm * outer_lm);
477 // (i.e. the shader that cares about the ctm) so we have to undo our little ctm
478 // trick with a localmatrixshader so that the shader draws as if there was no
553 void SkNoPixelsDevice::onClipShader(sk_sp<SkShader> shader) {