• Nicholas Kazlauskas's avatar
    drm/amd/display: Only enable cursor on pipes that need it · c6a228be
    Nicholas Kazlauskas authored
    [Why]
    In current code we're essentially drawing the cursor on every pipe
    that contains it. This only works when the planes have the same
    scaling for src to dest rect, otherwise we'll get "double cursor" where
    one cursor is incorrectly filtered and offset from the real position.
    
    [How]
    Without dedicated cursor planes on DCN we require at least one pipe
    that matches the scaling of the current timing.
    
    This is an optimization and workaround for the most common case where
    the top-most plane is not scaled but the bottom-most plane is scaled.
    
    Whenever a pipe has a parent pipe in the blending tree whose recout
    fully contains the current pipe we can disable the pipe.
    
    This only applies when the pipe is actually visible of course.
    Signed-off-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
    Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    c6a228be
dcn10_hw_sequencer.c 99.1 KB