Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8088f8e5 authored by John Reck's avatar John Reck
Browse files

Add some more scenes, replace linear with uniform

Test: this
Bug: 187718492
Change-Id: I171b5c15cd18645c2da1cffffa9635f83f8877e6
parent 66e06d4f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ static inline void applyMatrix(const SkMatrix& transform, SkRect* rect) {
static inline void mapRect(const RenderProperties& props, const SkRect& in, SkRect* out) {
    if (in.isEmpty()) return;
    SkRect temp(in);
    if (Properties::stretchEffectBehavior == StretchEffectBehavior::LinearScale) {
    if (Properties::stretchEffectBehavior == StretchEffectBehavior::UniformScale) {
        const StretchEffect& stretch = props.layerProperties().getStretchEffect();
        if (!stretch.isEmpty()) {
            applyMatrix(stretch.makeLinearStretch(props.getWidth(), props.getHeight()), &temp);
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ bool Properties::load() {
    if (targetCpuTimePercentage <= 0 || targetCpuTimePercentage > 100) targetCpuTimePercentage = 70;

    int stretchType = base::GetIntProperty(PROPERTY_STRETCH_EFFECT_TYPE, 0);
    stretchType = std::clamp(stretchType, 0, static_cast<int>(StretchEffectBehavior::LinearScale));
    stretchType = std::clamp(stretchType, 0, static_cast<int>(StretchEffectBehavior::UniformScale));
    stretchEffectBehavior = static_cast<StretchEffectBehavior>(stretchType);

    return (prevDebugLayersUpdates != debugLayersUpdates) || (prevDebugOverdraw != debugOverdraw);
+3 −3
Original line number Diff line number Diff line
@@ -202,7 +202,7 @@ enum class RenderPipelineType { SkiaGL, SkiaVulkan, NotInitialized = 128 };
enum class StretchEffectBehavior {
    ShaderHWUI,   // Stretch shader in HWUI only, matrix scale in SF
    Shader,       // Stretch shader in both HWUI and SF
    LinearScale // Linear stretch everywhere
    UniformScale  // Uniform scale stretch everywhere
};

/**
+1 −1
Original line number Diff line number Diff line
@@ -478,7 +478,7 @@ void RenderNode::applyViewPropertyTransforms(mat4& matrix, bool true3dTransform)
        }
    }

    if (Properties::stretchEffectBehavior == StretchEffectBehavior::LinearScale) {
    if (Properties::stretchEffectBehavior == StretchEffectBehavior::UniformScale) {
        const StretchEffect& stretch = properties().layerProperties().getStretchEffect();
        if (!stretch.isEmpty()) {
            matrix.multiply(
+1 −1
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ public:

    bool requiresLayer() const {
        return !(isEmpty() ||
                 Properties::stretchEffectBehavior == StretchEffectBehavior::LinearScale);
                 Properties::stretchEffectBehavior == StretchEffectBehavior::UniformScale);
    }

private:
Loading