From 8f9e1c6047e2542186ac87569934e306301c2996 Mon Sep 17 00:00:00 2001 From: Jonathan Marek Date: Tue, 25 Feb 2020 09:28:34 -0500 Subject: [PATCH] turnip: fix hw binning + render_area offset interaction Signed-off-by: Jonathan Marek Reviewed-by: Eric Anholt Part-of: --- src/freedreno/vulkan/tu_cmd_buffer.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c index 08d6e943a1f..5de52bb4721 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.c +++ b/src/freedreno/vulkan/tu_cmd_buffer.c @@ -180,10 +180,12 @@ tu_tiling_config_update_tile_layout(struct tu_tiling_config *tiling, const uint32_t tile_align_h = dev->physical_device->tile_align_h; const uint32_t max_tile_width = 1024; /* A6xx */ - tiling->tile0.offset = (VkOffset2D) { - .x = tiling->render_area.offset.x & ~(tile_align_w - 1), - .y = tiling->render_area.offset.y & ~(tile_align_h - 1), - }; + /* note: don't offset the tiling config by render_area.offset, + * because binning pass can't deal with it + * this means we might end up with more tiles than necessary, + * but load/store/etc are still scissored to the render_area + */ + tiling->tile0.offset = (VkOffset2D) {}; const uint32_t ra_width = tiling->render_area.extent.width + -- 2.30.2