File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -544,9 +544,18 @@ sk_sp<SkShader> SkiaRenderEngine::createRuntimeEffectShader(
544544 }
545545
546546 if (graphicBuffer && parameters.layer .luts ) {
547+ const bool dimInLinearSpace = parameters.display .dimmingStage !=
548+ aidl::android::hardware::graphics::composer3::DimmingStage::GAMMA_OETF;
549+ const ui::Dataspace runtimeEffectDataspace = !dimInLinearSpace
550+ ? static_cast <ui::Dataspace>(
551+ (parameters.outputDataSpace & ui::Dataspace::STANDARD_MASK) |
552+ ui::Dataspace::TRANSFER_GAMMA2_2 |
553+ (parameters.outputDataSpace & ui::Dataspace::RANGE_MASK))
554+ : parameters.outputDataSpace ;
555+
547556 shader = mLutShader .lutShader (shader, parameters.layer .luts ,
548557 parameters.layer .sourceDataspace ,
549- toSkColorSpace (parameters. outputDataSpace ));
558+ toSkColorSpace (runtimeEffectDataspace ));
550559 }
551560
552561 if (parameters.requiresLinearEffect ) {
You can’t perform that action at this time.
0 commit comments