diff options
| author | 2022-06-08 16:43:16 +0000 | |
|---|---|---|
| committer | 2022-06-08 16:43:16 +0000 | |
| commit | 0a33146773bd8e076fd72697aeff2279cf7e4839 (patch) | |
| tree | 27bf7e202d3535e36726f965a392a5df273a1cb0 /libs/shaders/shaders.cpp | |
| parent | f63345b5d64dfcec8956c5f39109bf6694cd07d2 (diff) | |
| parent | 6ba7f2b4870df952ff8bb470fd52d91d9f206ae6 (diff) | |
Merge "Use the correct dataspace in shaders.cpp" into tm-dev
Diffstat (limited to 'libs/shaders/shaders.cpp')
| -rw-r--r-- | libs/shaders/shaders.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/shaders/shaders.cpp b/libs/shaders/shaders.cpp index 62745dc8d5..f80e93f6f8 100644 --- a/libs/shaders/shaders.cpp +++ b/libs/shaders/shaders.cpp @@ -469,12 +469,17 @@ std::vector<tonemap::ShaderUniform> buildLinearEffectUniforms( float currentDisplayLuminanceNits, float maxLuminance, AHardwareBuffer* buffer, aidl::android::hardware::graphics::composer3::RenderIntent renderIntent) { std::vector<tonemap::ShaderUniform> uniforms; - if (linearEffect.inputDataspace == linearEffect.outputDataspace) { + + const ui::Dataspace inputDataspace = linearEffect.fakeInputDataspace == ui::Dataspace::UNKNOWN + ? linearEffect.inputDataspace + : linearEffect.fakeInputDataspace; + + if (inputDataspace == linearEffect.outputDataspace) { uniforms.push_back({.name = "in_rgbToXyz", .value = buildUniformValue<mat4>(mat4())}); uniforms.push_back( {.name = "in_xyzToRgb", .value = buildUniformValue<mat4>(colorTransform)}); } else { - ColorSpace inputColorSpace = toColorSpace(linearEffect.inputDataspace); + ColorSpace inputColorSpace = toColorSpace(inputDataspace); ColorSpace outputColorSpace = toColorSpace(linearEffect.outputDataspace); uniforms.push_back({.name = "in_rgbToXyz", .value = buildUniformValue<mat4>(mat4(inputColorSpace.getRGBtoXYZ()))}); |