• J
    drm/i915/display/psr: Use plane damage clips to calculate damaged area · 3fea9f42
    José Roberto de Souza 提交于
    Now using plane damage clips property to calcualte the damaged area.
    Selective fetch only supports one region to be fetched so software
    needs to calculate a bounding box around all damage clips.
    
    Now that we are not complete fetching each plane, there is another
    loop needed as all the plane areas that intersect with the pipe
    damaged area needs to be fetched from memory so the complete blending
    of all planes can happen.
    
    v2:
    - do not shifting new_plane_state->uapi.dst only src is in 16.16 format
    
    v4:
    - setting plane selective fetch area using the whole pipe damage area
    - mark the whole plane area damaged if plane visibility or alpha
    changed
    
    v5:
    - taking in consideration src.y1 in the damage coordinates
    - adding to the pipe damaged area planes that were visible but are
    invisible in the new state
    
    v6:
    - consider old state plane coordinates when visibility changes or it
    moved to calculate damaged area
    - remove from damaged area the portion not in src clip
    
    v7:
    - intersec every damage clip with src to minimize damaged area
    
    v8:
    - adjust pipe_damaged area to 4 lines grouping
    - adjust calculation now that is understood that uapi.src is the
    framebuffer coordinates that plane will start to fetch from
    
    v9:
    - Only add plane dst or src to damaged_area if visible
    - Early skip plane damage calculation if it was not visible in old and
    new state
    
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
    Reviewed-by: NGwan-gyeong Mun <gwan-gyeong.mun@intel.com>
    Signed-off-by: NJosé Roberto de Souza <jose.souza@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210104205654.238928-2-jose.souza@intel.com
    3fea9f42
intel_psr.c 57.7 KB