Mesa (master): virgl/vtest: wait after issuing a transfer get
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Apr 18 22:45:17 UTC 2019
Module: Mesa
Branch: master
Commit: b5698562e4ae08dae5591abaa967b8eb27003e48
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5698562e4ae08dae5591abaa967b8eb27003e48
Author: Gurchetan Singh <gurchetansingh at chromium.org>
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 <gurchetansingh at chromium.org>
Reviewed-By: Gert Wollny <gert.wollny at collabora.com>
Reviewed-By: Piotr Rak <p.rak at samsung.com>
---
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);
More information about the mesa-commit
mailing list