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

Commit 27aa241b authored by Sally Qi's avatar Sally Qi
Browse files

[Lut shader] in Adaptive mode, GPU path outputs gamma 2p2 encoding for

HDR layer.

Relnote: apply a gamma2.2 compensation when a gamma_oetf dimming stage
is used.

Bug: 380894872
Test: builds
Flag: EXEMPT no flag needed

Change-Id: I048d370725a7f78732689b3fef674772a874e0f3
parent a9464874
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -544,9 +544,18 @@ sk_sp<SkShader> SkiaRenderEngine::createRuntimeEffectShader(
    }

    if (graphicBuffer && parameters.layer.luts) {
        const bool dimInLinearSpace = parameters.display.dimmingStage !=
                aidl::android::hardware::graphics::composer3::DimmingStage::GAMMA_OETF;
        const ui::Dataspace runtimeEffectDataspace = !dimInLinearSpace
                ? static_cast<ui::Dataspace>(
                          (parameters.outputDataSpace & ui::Dataspace::STANDARD_MASK) |
                          ui::Dataspace::TRANSFER_GAMMA2_2 |
                          (parameters.outputDataSpace & ui::Dataspace::RANGE_MASK))
                : parameters.outputDataSpace;

        shader = mLutShader.lutShader(shader, parameters.layer.luts,
                                      parameters.layer.sourceDataspace,
                                      toSkColorSpace(parameters.outputDataSpace));
                                      toSkColorSpace(runtimeEffectDataspace));
    }

    if (parameters.requiresLinearEffect) {