Revert "Converted texture and runtime effects to use GrMatrixEffect"
This reverts commit 4ab84eda5389bd5c706aacaf52df1ab2f39393ad.
Reason for revert: Breaking some GMs.
Original change's description:
> Converted texture and runtime effects to use GrMatrixEffect
>
> Change-Id: I6e769d52291dd29c2d06983dae5013b6058864cb
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283780
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,brianosman@google.com,ethannicholas@google.com
Change-Id: Idb2c782ae619689744e868bf38111cc4eaf0b40a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284233
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/gpu/effects/GrSkSLFP.cpp b/src/gpu/effects/GrSkSLFP.cpp
index a2e9b46..1df2df1 100644
--- a/src/gpu/effects/GrSkSLFP.cpp
+++ b/src/gpu/effects/GrSkSLFP.cpp
@@ -163,23 +163,28 @@
};
std::unique_ptr<GrSkSLFP> GrSkSLFP::Make(GrContext_Base* context, sk_sp<SkRuntimeEffect> effect,
- const char* name, sk_sp<SkData> inputs) {
+ const char* name, sk_sp<SkData> inputs,
+ const SkMatrix* matrix) {
if (inputs->size() != effect->inputSize()) {
return nullptr;
}
return std::unique_ptr<GrSkSLFP>(new GrSkSLFP(
context->priv().caps()->refShaderCaps(), context->priv().getShaderErrorHandler(),
- std::move(effect), name, std::move(inputs)));
+ std::move(effect), name, std::move(inputs), matrix));
}
GrSkSLFP::GrSkSLFP(sk_sp<const GrShaderCaps> shaderCaps, ShaderErrorHandler* shaderErrorHandler,
- sk_sp<SkRuntimeEffect> effect, const char* name, sk_sp<SkData> inputs)
+ sk_sp<SkRuntimeEffect> effect, const char* name, sk_sp<SkData> inputs,
+ const SkMatrix* matrix)
: INHERITED(kGrSkSLFP_ClassID, kNone_OptimizationFlags)
, fShaderCaps(std::move(shaderCaps))
, fShaderErrorHandler(shaderErrorHandler)
, fEffect(std::move(effect))
, fName(name)
, fInputs(std::move(inputs)) {
+ if (matrix) {
+ fCoordTransform = GrCoordTransform(*matrix);
+ }
this->addCoordTransform(&fCoordTransform);
}
@@ -190,6 +195,8 @@
, fEffect(other.fEffect)
, fName(other.fName)
, fInputs(other.fInputs) {
+ SkASSERT(other.numCoordTransforms() == 1);
+ fCoordTransform = other.fCoordTransform;
this->addCoordTransform(&fCoordTransform);
}
@@ -284,7 +291,7 @@
auto result = GrSkSLFP::Make(d->context(), effect, "Arithmetic",
SkData::MakeWithCopy(&inputs, sizeof(inputs)));
result->addChild(GrConstColorProcessor::Make(
- SK_PMColor4fWHITE, GrConstColorProcessor::InputMode::kIgnore));
+ SK_PMColor4fWHITE, GrConstColorProcessor::InputMode::kIgnore));
return std::unique_ptr<GrFragmentProcessor>(result.release());
}
case 2: {