summaryrefslogtreecommitdiffstats
path: root/src/freedreno
diff options
context:
space:
mode:
authorJonathan Marek <[email protected]>2020-02-25 09:28:34 -0500
committerMarge Bot <[email protected]>2020-02-28 14:04:20 +0000
commit8f9e1c6047e2542186ac87569934e306301c2996 (patch)
treec4a62c58ab1ec4c551ed231cfcaa4f9ad79378a8 /src/freedreno
parentde33c23370bf37b2a2fdf5be1daab6007d054c08 (diff)
turnip: fix hw binning + render_area offset interaction
Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3979>
Diffstat (limited to 'src/freedreno')
-rw-r--r--src/freedreno/vulkan/tu_cmd_buffer.c10
1 files 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 +