Module: Mesa
Branch: master
Commit: b5698562e4ae08dae5591abaa967b8eb27003e48
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5698562e4ae08dae5591abaa967b8eb27003e48

Author: Gurchetan Singh <[email protected]>
Date:   Fri Dec 14 16:36:07 2018 -0800

virgl/vtest: wait after issuing a transfer get

Otherwise, there's artifacts when running Unigine Valley with
protocol version 2.

We can get away with not waiting for most buffers, but let's
be conservative.

Signed-off-by: Gurchetan Singh <[email protected]>
Reviewed-By: Gert Wollny <[email protected]>
Reviewed-By: Piotr Rak <[email protected]>

---

 src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c 
b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
index 48f9c306a0e..687f4f30528 100644
--- a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
+++ b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
@@ -113,6 +113,9 @@ virgl_vtest_transfer_get_internal(struct virgl_winsys *vws,
                                  level, stride, layer_stride,
                                  box, size, buf_offset);
 
+   if (flush_front_buffer || vtws->protocol_version >= 2)
+      virgl_vtest_busy_wait(vtws, res->res_handle, VCMD_BUSY_WAIT_FLAG_WAIT);
+
    if (vtws->protocol_version >= 2) {
       if (flush_front_buffer) {
          if (box->depth > 1 || box->z > 1) {
@@ -702,8 +705,6 @@ static void virgl_vtest_flush_frontbuffer(struct 
virgl_winsys *vws,
       box.depth = 1;
    }
 
-   virgl_vtest_busy_wait(vtws, res->res_handle, VCMD_BUSY_WAIT_FLAG_WAIT);
-
    virgl_vtest_transfer_get_internal(vws, res, &box, res->stride, 0, offset,
                                      level, true);
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to