From: Aric Cyr <aric....@amd.com>

[Why]
3DLUT not updated due to missing condition

[How]
Check if 3DLUT update is needed


Reviewed-by: Anthony Koo <anthony....@amd.com>
Acked-by: Solomon Chiu <solomon.c...@amd.com>
Signed-off-by: Aric Cyr <aric....@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 0f0440408a16..8e0bcd4fd000 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -2187,6 +2187,9 @@ static enum surface_update_type det_surface_update(const 
struct dc *dc,
                        update_flags->bits.gamma_change = 1;
        }
 
+       if (u->lut3d_func || u->func_shaper)
+               update_flags->bits.lut_3d = 1;
+
        if (u->hdr_mult.value)
                if (u->hdr_mult.value != u->surface->hdr_mult.value) {
                        update_flags->bits.hdr_mult = 1;
@@ -2200,6 +2203,7 @@ static enum surface_update_type det_surface_update(const 
struct dc *dc,
 
        if (update_flags->bits.input_csc_change
                        || update_flags->bits.coeff_reduction_change
+                       || update_flags->bits.lut_3d
                        || update_flags->bits.gamma_change
                        || update_flags->bits.gamut_remap_change) {
                type = UPDATE_TYPE_FULL;
-- 
2.25.1

Reply via email to