v3dv: fix blit path for copies from 3D compressed images

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

The aliasing we were using was not always correct. Particularly, for 3D images, the simulator would complain about image strides not being large enough in some cases.

This patch fixes this by aliasing both src and dst images and carefully choosing the alias dimensions taking into account the format chosen for the copy and the ratio of block sizes between both images.

Playing a bit with the image dimensions used by the relevant CTS tests we confirmed this works well for all tile layouts (lineartile, ublinear1/2 and UIF).

This fixes all CTS tests involving 3D image copies from compressed formats without needing to force UIF layout for all compressed images (which would actually not work for all image sizes either).

Part-of:

c7814bcde3e v3dv: fix blit path for copies from 3D compressed images
src/broadcom/vulkan/v3dv_meta_copy.c | 130 +++++++++++++++++++++++++++++------
1 file changed, 108 insertions(+), 22 deletions(-)

Upstream: cgit.freedesktop.org


  • Share