freedreno/layout: fix explicit layout offset not added to slice offset
authorJonathan Marek <jonathan@marek.ca>
Sun, 5 Jul 2020 18:38:30 +0000 (14:38 -0400)
committerMarge Bot <eric+marge@anholt.net>
Mon, 6 Jul 2020 11:24:59 +0000 (11:24 +0000)
Accidentally broke this when rebasing the offending commit.

My use case with non-zero explicit offset is UV plane of UBWC NV12, and
only the UBWC slice offset is used for the UBWC sampler, so I didn't catch
it immediately.

Fixes: d53dc6c37680eba8e8 ("freedreno/fdl6: rework layout code a bit (reduce linear align to 64 bytes)")
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5761>

src/freedreno/fdl/fd6_layout.c

index b5ffde5f8fe7e8956867300e51227b4ff3a8cd83..47a6c852da7bbd297618842ea1a1444ae699016e 100644 (file)
@@ -218,7 +218,7 @@ fdl6_layout(struct fdl_layout *layout,
                if (level == mip_levels - 1)
                        height = align(nblocksy, 4);
 
-               slice->offset = layout->size;
+               slice->offset = offset + layout->size;
                slice->pitch = align(u_minify(pitch0, level), pitchalign);
 
                /* 1d array and 2d array textures must all have the same layer size