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

Commit 5432e532 authored by Devin Cody's avatar Devin Cody Committed by Android (Google) Code Review
Browse files

Revert "Tonemap in RecordingCanvas"

This reverts commit 9776d3e3.

Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=errorprone&lkgb=9546489&lkbb=9546754&fkbb=9546547, bug b/267342770

Change-Id: I58f6a0350287a92199a9426f3d3d908a279821d8
parent 9776d3e3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -212,9 +212,9 @@ public abstract class ColorSpace {
            new Rgb.TransferParameters(1 / 1.055, 0.055 / 1.055, 1 / 12.92, 0.04045, 2.4);
    private static final Rgb.TransferParameters BT2020_HLG_TRANSFER_PARAMETERS =
            new Rgb.TransferParameters(2.0f, 2.0f, 1 / 0.17883277f,
                0.28466892f, 0.5599107f, -11 / 12.0f, -3.0f, true);
                0.28466892f, 0.5599107f, 0.0f, -3.0f, true);
    private static final Rgb.TransferParameters BT2020_PQ_TRANSFER_PARAMETERS =
            new Rgb.TransferParameters(-107 / 128.0f, 1.0f, 32 / 2523.0f,
            new Rgb.TransferParameters(107 / 128.0f, 1.0f, 32 / 2523.0f,
                2413 / 128.0f, -2392 / 128.0f, 8192 / 1305.0f, -2.0f, true);

    // See static initialization block next to #get(Named)
+1 −1
Original line number Diff line number Diff line
@@ -536,7 +536,6 @@ cc_defaults {
        "RootRenderNode.cpp",
        "SkiaCanvas.cpp",
        "SkiaInterpolator.cpp",
        "Tonemapper.cpp",
        "VectorDrawable.cpp",
    ],

@@ -595,6 +594,7 @@ cc_defaults {
                "ProfileData.cpp",
                "ProfileDataContainer.cpp",
                "Readback.cpp",
                "Tonemapper.cpp",
                "TreeInfo.cpp",
                "WebViewFunctorManager.cpp",
                "protos/graphicsstats.proto",
+1 −1
Original line number Diff line number Diff line
@@ -45,4 +45,4 @@ bool transformPaint(ColorTransform transform, SkPaint* paint, BitmapPalette pale
SkColor transformColor(ColorTransform transform, SkColor color);
SkColor transformColorInverse(ColorTransform transform, SkColor color);

}  // namespace android::uirenderer
}  // namespace android::uirenderer;
 No newline at end of file
+4 −11
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@
#include "SkRegion.h"
#include "SkTextBlob.h"
#include "SkVertices.h"
#include "Tonemapper.h"
#include "VectorDrawable.h"
#include "pipeline/skia/AnimatedDrawables.h"
#include "pipeline/skia/FunctorDrawable.h"
@@ -335,9 +334,7 @@ struct DrawImage final : Op {
    SkPaint paint;
    BitmapPalette palette;
    void draw(SkCanvas* c, const SkMatrix&) const {
        SkPaint newPaint = paint;
        tonemapPaint(image->imageInfo(), c->imageInfo(), -1, newPaint);
        c->drawImage(image.get(), x, y, sampling, &newPaint);
        c->drawImage(image.get(), x, y, sampling, &paint);
    }
};
struct DrawImageRect final : Op {
@@ -359,9 +356,7 @@ struct DrawImageRect final : Op {
    SkCanvas::SrcRectConstraint constraint;
    BitmapPalette palette;
    void draw(SkCanvas* c, const SkMatrix&) const {
        SkPaint newPaint = paint;
        tonemapPaint(image->imageInfo(), c->imageInfo(), -1, newPaint);
        c->drawImageRect(image.get(), src, dst, sampling, &newPaint, constraint);
        c->drawImageRect(image.get(), src, dst, sampling, &paint, constraint);
    }
};
struct DrawImageLattice final : Op {
@@ -394,10 +389,8 @@ struct DrawImageLattice final : Op {
        auto flags =
                (0 == fs) ? nullptr : pod<SkCanvas::Lattice::RectType>(
                                              this, (xs + ys) * sizeof(int) + fs * sizeof(SkColor));
        SkPaint newPaint = paint;
        tonemapPaint(image->imageInfo(), c->imageInfo(), -1, newPaint);
        c->drawImageLattice(image.get(), {xdivs, ydivs, flags, xs, ys, &src, colors}, dst, filter,
                            &newPaint);
        c->drawImageLattice(image.get(), {xdivs, ydivs, flags, xs, ys, &src, colors}, dst,
                            filter, &paint);
    }
};

+3 −14
Original line number Diff line number Diff line
@@ -18,10 +18,7 @@

#include <SkRuntimeEffect.h>
#include <log/log.h>
// libshaders only exists on Android devices
#ifdef __ANDROID__
#include <shaders/shaders.h>
#endif

#include "utils/Color.h"

@@ -29,8 +26,6 @@ namespace android::uirenderer {

namespace {

// custom tonemapping only exists on Android devices
#ifdef __ANDROID__
class ColorFilterRuntimeEffectBuilder : public SkRuntimeEffectBuilder {
public:
    explicit ColorFilterRuntimeEffectBuilder(sk_sp<SkRuntimeEffect> effect)
@@ -64,21 +59,20 @@ static sk_sp<SkColorFilter> createLinearEffectColorFilter(const shaders::LinearE
    return effectBuilder.makeColorFilter();
}

static ui::Dataspace extractTransfer(ui::Dataspace dataspace) {
    return static_cast<ui::Dataspace>(dataspace & HAL_DATASPACE_TRANSFER_MASK);
static bool extractTransfer(ui::Dataspace dataspace) {
    return dataspace & HAL_DATASPACE_TRANSFER_MASK;
}

static bool isHdrDataspace(ui::Dataspace dataspace) {
    const auto transfer = extractTransfer(dataspace);

    return transfer == ui::Dataspace::TRANSFER_ST2084 || transfer == ui::Dataspace::TRANSFER_HLG;
    return transfer == HAL_DATASPACE_TRANSFER_ST2084 || transfer == HAL_DATASPACE_TRANSFER_HLG;
}

static ui::Dataspace getDataspace(const SkImageInfo& image) {
    return static_cast<ui::Dataspace>(
            ColorSpaceToADataSpace(image.colorSpace(), image.colorType()));
}
#endif

}  // namespace

@@ -86,8 +80,6 @@ static ui::Dataspace getDataspace(const SkImageInfo& image) {
// shader and tag it on the supplied paint.
void tonemapPaint(const SkImageInfo& source, const SkImageInfo& destination, float maxLuminanceNits,
                  SkPaint& paint) {
// custom tonemapping only exists on Android devices
#ifdef __ANDROID__
    const auto sourceDataspace = getDataspace(source);
    const auto destinationDataspace = getDataspace(destination);

@@ -110,9 +102,6 @@ void tonemapPaint(const SkImageInfo& source, const SkImageInfo& destination, flo
            paint.setColorFilter(colorFilter);
        }
    }
#else
    return;
#endif
}

}  // namespace android::uirenderer
Loading