panfrost: Extend pan_fb_info to allow passing a tile enable map

We will use this tile enable map to implement KHR_partial_update and
replace the current solution where the preload process is done by
inverting damage regions, merging the resulting inverted regions and
issuing preloading draws for those rectangles.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10033>
This commit is contained in:
Boris Brezillon
2021-04-07 15:38:12 +02:00
committed by Marge Bot
parent 96b71a59c0
commit c52c3e2424
2 changed files with 10 additions and 0 deletions

View File

@@ -933,5 +933,10 @@ pan_emit_fragment_job(const struct panfrost_device *dev,
payload.bound_max_x = fb->extent.maxx >> MALI_TILE_SHIFT;
payload.bound_max_y = fb->extent.maxy >> MALI_TILE_SHIFT;
payload.framebuffer = fbd;
if (fb->tile_map.base) {
payload.has_tile_enable_map = true;
payload.tile_enable_map = fb->tile_map.base;
payload.tile_enable_map_row_stride = fb->tile_map.stride;
}
}
}

View File

@@ -102,6 +102,11 @@ struct pan_fb_info {
unsigned rt_count;
struct pan_fb_color_attachment rts[8];
struct pan_fb_zs_attachment zs;
struct {
unsigned stride;
mali_ptr base;
} tile_map;
};
unsigned