v3dv: rewrite frame tiling setup

Graphics / Mesa 3D Graphics Library / Mesa - Iago Toral Quiroga [igalia.com] - 13 October 2020 21:21 UTC

So far we have been getting away with computing frame tiling information for the framebuffer object, but that is not correct, since different subpasses may access different subsets of the framebuffer, with each requiring a different configuration because the number of render targets and the maximum bpp can change for each subpass.

This adds a v3dv_frame_tiling struct to keep the frame tiling information and rewrites the code to compute this for every new job we start.

Fixes a bunch of tests in dEQP-VK.pipeline.render_to_image.*

Part-of:

2a3fa914d4a v3dv: rewrite frame tiling setup
src/broadcom/vulkan/v3dv_cmd_buffer.c | 68 +++++++++++++++++++----------
src/broadcom/vulkan/v3dv_device.c | 81 +++++++++++++++++++++++------------
src/broadcom/vulkan/v3dv_meta_clear.c | 66 ++++++++++++++++++----------
src/broadcom/vulkan/v3dv_meta_copy.c | 74 ++++++++++++++++++--------------
src/broadcom/vulkan/v3dv_private.h | 24 ++++++++---
5 files changed, 204 insertions(+), 109 deletions(-)

Upstream: cgit.freedesktop.org


  • Share