OSDN Git Service

drm/amd/display: add visual confirm colors to differentiate layer_index > 0
authorEvgenii Krasnikov <Evgenii.Krasnikov@amd.com>
Fri, 30 Apr 2021 15:00:59 +0000 (11:00 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 8 Jun 2021 16:19:15 +0000 (12:19 -0400)
[WHY]
Currently there is no way to visually identify if there is one or more
layers presented fullscreen on the display

[HOW]
Add new visual confirm colors in get_surface_visual_confirm_color for
planes with layer_index > 0

Signed-off-by: Evgenii Krasnikov <Evgenii.Krasnikov@amd.com>
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Stylon Wang <stylon.wang@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c

index e0badab..ee3eef5 100644 (file)
@@ -323,11 +323,20 @@ void get_surface_visual_confirm_color(
        case PIXEL_FORMAT_ARGB8888:
                /* set border color to red */
                color->color_r_cr = color_value;
+               if (pipe_ctx->plane_state->layer_index > 0) {
+                       /* set border color to pink */
+                       color->color_b_cb = color_value;
+                       color->color_g_y = color_value * 0.5;
+               }
                break;
 
        case PIXEL_FORMAT_ARGB2101010:
                /* set border color to blue */
                color->color_b_cb = color_value;
+               if (pipe_ctx->plane_state->layer_index > 0) {
+                       /* set border color to cyan */
+                       color->color_g_y = color_value;
+               }
                break;
        case PIXEL_FORMAT_420BPP8:
                /* set border color to green */
@@ -343,6 +352,11 @@ void get_surface_visual_confirm_color(
                color->color_r_cr = color_value;
                color->color_b_cb = color_value;
                color->color_g_y = color_value;
+               if (pipe_ctx->plane_state->layer_index > 0) {
+                       /* set border color to orange */
+                       color->color_g_y = 0.22 * color_value;
+                       color->color_b_cb = 0;
+               }
                break;
        default:
                break;