v3d: Put the dst bo first in the list of BOs for TFU calls.
authorEric Anholt <eric@anholt.net>
Wed, 19 Dec 2018 17:29:26 +0000 (09:29 -0800)
committerEric Anholt <eric@anholt.net>
Wed, 19 Dec 2018 18:26:04 +0000 (10:26 -0800)
In the UAPI, the first BO is the destination, and the one the kernel
should do an exclusive reservation on.  Currently we only do exclusive
reservations, anyway.  However, in the simulator path I was only copying
back the "destination" BO (actually src in this case), and this caused
regressions once I fixed the simulator to actually complete TFU before
returning (since otherwise, the TFU op would happen at the start of the
next CL submit and the draw would get the right contents).

Fixes: 976ea90bdca2 ("v3d: Add support for using the TFU to do some blits.")
src/gallium/drivers/v3d/v3d_blit.c

index d6d09570014ec6f597cd473b714d7811ed51cfb4..7662c63d8fe9b21413321216c09562a81f3f8e2a 100644 (file)
@@ -386,8 +386,8 @@ v3d_tfu(struct pipe_context *pctx,
         struct drm_v3d_submit_tfu tfu = {
                 .ios = (height << 16) | width,
                 .bo_handles = {
-                        src->bo->handle,
-                        src != dst ? dst->bo->handle : 0
+                        dst->bo->handle,
+                        src != dst ? src->bo->handle : 0
                 },
                 .in_sync = v3d->out_sync,
                 .out_sync = v3d->out_sync,