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

Commit 0b3f331e authored by John Reck's avatar John Reck
Browse files

Address VRI review comments

Test: make
Bug: 266628247
Change-Id: I8652d1e33ad01be48a2efa4c323f60f6f65e73bd
parent 91f6cdac
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -668,7 +668,7 @@ public class HardwareRenderer {

    /** @hide */
    public void setTargetSdrHdrRatio(float ratio) {
        if (ratio < 1.f || Float.isNaN(ratio) || Float.isInfinite(ratio)) ratio = 1.f;
        if (ratio < 1.f || !Float.isFinite(ratio)) ratio = 1.f;
        nSetTargetSdrHdrRatio(mNativeProxy, ratio);
    }

+3 −0
Original line number Diff line number Diff line
@@ -27,6 +27,9 @@ enum class ColorMode {
    WideColorGamut = 1,
    // Extended range Display P3
    Hdr = 2,
    // Extended range Display P3 10-bit
    // for test purposes only, not shippable due to insuffient alpha
    Hdr10 = 3,
    // Alpha 8
    A8 = 4,
};
+6 −1
Original line number Diff line number Diff line
@@ -621,6 +621,11 @@ void SkiaPipeline::setSurfaceColorProperties(ColorMode colorMode) {
            mSurfaceColorSpace = SkColorSpace::MakeRGB(
                    GetExtendedTransferFunction(mTargetSdrHdrRatio), SkNamedGamut::kDisplayP3);
            break;
        case ColorMode::Hdr10:
            mSurfaceColorType = SkColorType::kRGBA_1010102_SkColorType;
            mSurfaceColorSpace = SkColorSpace::MakeRGB(
                    GetExtendedTransferFunction(mTargetSdrHdrRatio), SkNamedGamut::kDisplayP3);
            break;
        case ColorMode::A8:
            mSurfaceColorType = SkColorType::kAlpha_8_SkColorType;
            mSurfaceColorSpace = nullptr;
@@ -629,7 +634,7 @@ void SkiaPipeline::setSurfaceColorProperties(ColorMode colorMode) {
}

void SkiaPipeline::setTargetSdrHdrRatio(float ratio) {
    if (mColorMode == ColorMode::Hdr) {
    if (mColorMode == ColorMode::Hdr || mColorMode == ColorMode::Hdr10) {
        mTargetSdrHdrRatio = ratio;
        mSurfaceColorSpace = SkColorSpace::MakeRGB(GetExtendedTransferFunction(mTargetSdrHdrRatio),
                                                   SkNamedGamut::kDisplayP3);
+5 −2
Original line number Diff line number Diff line
@@ -289,7 +289,8 @@ void CanvasContext::setOpaque(bool opaque) {

float CanvasContext::setColorMode(ColorMode mode) {
    if (mode != mColorMode) {
        if (mode == ColorMode::Hdr && !mRenderPipeline->supportsExtendedRangeHdr()) {
        const bool isHdr = mode == ColorMode::Hdr || mode == ColorMode::Hdr10;
        if (isHdr && !mRenderPipeline->supportsExtendedRangeHdr()) {
            mode = ColorMode::WideColorGamut;
        }
        mColorMode = mode;
@@ -299,13 +300,15 @@ float CanvasContext::setColorMode(ColorMode mode) {
    switch (mColorMode) {
        case ColorMode::Hdr:
            return 3.f;  // TODO: Refine this number
        case ColorMode::Hdr10:
            return 10.f;
        default:
            return 1.f;
    }
}

float CanvasContext::targetSdrHdrRatio() const {
    if (mColorMode == ColorMode::Hdr) {
    if (mColorMode == ColorMode::Hdr || mColorMode == ColorMode::Hdr10) {
        return mTargetSdrHdrRatio;
    } else {
        return 1.f;
+1 −0
Original line number Diff line number Diff line
@@ -455,6 +455,7 @@ Result<EGLSurface, EGLint> EglManager::createSurface(EGLNativeWindowType window,
                // composer3 support, just treat HDR as equivalent to wide color gamut if
                // the GLES path is still being hit
                case ColorMode::Hdr:
                case ColorMode::Hdr10:
                case ColorMode::WideColorGamut: {
                    skcms_Matrix3x3 colorGamut;
                    LOG_ALWAYS_FATAL_IF(!colorSpace->toXYZD50(&colorGamut),
Loading