virgl/vtest: bump up protocol version + support encoded transfers

This more accurately reflects what the drm winsys does.

Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-By: Gert Wollny <gert.wollny@collabora.com>
Reviewed-By: Piotr Rak <p.rak@samsung.com>
This commit is contained in:
Gurchetan Singh 2018-12-14 16:07:19 -08:00
parent b5698562e4
commit 1fd635862f
3 changed files with 12 additions and 3 deletions

View file

@ -559,6 +559,14 @@ static struct virgl_cmd_buf *virgl_vtest_cmd_buf_create(struct virgl_winsys *vws
FREE(cbuf);
return NULL;
}
cbuf->buf = CALLOC(size, sizeof(uint32_t));
if (!cbuf->buf) {
FREE(cbuf->res_bo);
FREE(cbuf);
return NULL;
}
cbuf->ws = vws;
cbuf->base.buf = cbuf->buf;
return &cbuf->base;
@ -570,6 +578,7 @@ static void virgl_vtest_cmd_buf_destroy(struct virgl_cmd_buf *_cbuf)
virgl_vtest_release_all_res(virgl_vtest_winsys(cbuf->ws), cbuf);
FREE(cbuf->res_bo);
FREE(cbuf->buf);
FREE(cbuf);
}
@ -760,7 +769,7 @@ virgl_vtest_winsys_wrap(struct sw_winsys *sws)
vtws->base.fence_wait = virgl_fence_wait;
vtws->base.fence_reference = virgl_fence_reference;
vtws->base.supports_fences = 0;
vtws->base.supports_encoded_transfers = 0;
vtws->base.supports_encoded_transfers = (vtws->protocol_version >= 2);
vtws->base.flush_frontbuffer = virgl_vtest_flush_frontbuffer;

View file

@ -77,7 +77,7 @@ struct virgl_hw_res {
struct virgl_vtest_cmd_buf {
struct virgl_cmd_buf base;
uint32_t buf[VIRGL_MAX_CMDBUF_DWORDS];
uint32_t *buf;
unsigned nres;
unsigned cres;
struct virgl_winsys *ws;

View file

@ -24,7 +24,7 @@
#define VTEST_PROTOCOL
#define VTEST_DEFAULT_SOCKET_NAME "/tmp/.virgl_test"
#define VTEST_PROTOCOL_VERSION 0
#define VTEST_PROTOCOL_VERSION 2
/* 32-bit length field */
/* 32-bit cmd field */