Mesa (staging/20.3): v3d: fix dest offset in TFU setup

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jan 15 17:19:20 UTC 2021


Module: Mesa
Branch: staging/20.3
Commit: d4a0136e268702ba1aa431298cf002d967b32e50
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d4a0136e268702ba1aa431298cf002d967b32e50

Author: Juan A. Suarez Romero <jasuarez at igalia.com>
Date:   Tue Jan 12 18:45:49 2021 +0100

v3d: fix dest offset in TFU setup

It is using the source level instead of the destiny level (base_level)
to compute the dest offset.

This fixes `framebuffer-blit-levels draw rgba -auto -fbo` piglit test.

Fixes: 976ea90bdca ("v3d: Add support for using the TFU to do some blits.")
Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8491>
(cherry picked from commit 08b16cfe0bc4eb86c166440f70435224b9f44244)

---

 .pick_status.json                  | 2 +-
 src/gallium/drivers/v3d/v3d_blit.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index d69af64117c..8530f0a4331 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -139,7 +139,7 @@
         "description": "v3d: fix dest offset in TFU setup",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "976ea90bdca2b1fc9e7a577ddc302e810c622183"
     },
diff --git a/src/gallium/drivers/v3d/v3d_blit.c b/src/gallium/drivers/v3d/v3d_blit.c
index d1e895688bc..e79ad6af551 100644
--- a/src/gallium/drivers/v3d/v3d_blit.c
+++ b/src/gallium/drivers/v3d/v3d_blit.c
@@ -406,7 +406,7 @@ v3d_tfu(struct pipe_context *pctx,
         }
 
         uint32_t dst_offset = (dst->bo->offset +
-                               v3d_layer_offset(pdst, src_level, dst_layer));
+                               v3d_layer_offset(pdst, base_level, dst_layer));
         tfu.ioa |= dst_offset;
         if (last_level != base_level)
                 tfu.ioa |= V3D_TFU_IOA_DIMTW;



More information about the mesa-commit mailing list