Mesa (master): virgl/vtest: plumb support for shared memory
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Apr 18 22:45:16 UTC 2019
Module: Mesa
Branch: master
Commit: 9a638bc7c2626e757321655068169b0cd588d88b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a638bc7c2626e757321655068169b0cd588d88b
Author: Gurchetan Singh <gurchetansingh at chromium.org>
Date: Wed Dec 12 10:08:06 2018 -0800
virgl/vtest: plumb support for shared memory
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_socket.c | 9 ++++++---
src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c | 3 ++-
src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h | 4 ++--
3 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/gallium/winsys/virgl/vtest/virgl_vtest_socket.c b/src/gallium/winsys/virgl/vtest/virgl_vtest_socket.c
index 5baeaf4c952..71c10d9c523 100644
--- a/src/gallium/winsys/virgl/vtest/virgl_vtest_socket.c
+++ b/src/gallium/winsys/virgl/vtest/virgl_vtest_socket.c
@@ -278,7 +278,8 @@ static int virgl_vtest_send_resource_create2(struct virgl_vtest_winsys *vws,
uint32_t array_size,
uint32_t last_level,
uint32_t nr_samples,
- uint32_t size)
+ uint32_t size,
+ int *out_fd)
{
uint32_t res_create_buf[VCMD_RES_CREATE2_SIZE], vtest_hdr[VTEST_HDR_SIZE];
@@ -299,6 +300,7 @@ static int virgl_vtest_send_resource_create2(struct virgl_vtest_winsys *vws,
virgl_block_write(vws->sock_fd, &vtest_hdr, sizeof(vtest_hdr));
virgl_block_write(vws->sock_fd, &res_create_buf, sizeof(res_create_buf));
+ *out_fd = -1;
return 0;
}
@@ -314,7 +316,8 @@ int virgl_vtest_send_resource_create(struct virgl_vtest_winsys *vws,
uint32_t array_size,
uint32_t last_level,
uint32_t nr_samples,
- uint32_t size)
+ uint32_t size,
+ int *out_fd)
{
uint32_t res_create_buf[VCMD_RES_CREATE_SIZE], vtest_hdr[VTEST_HDR_SIZE];
@@ -322,7 +325,7 @@ int virgl_vtest_send_resource_create(struct virgl_vtest_winsys *vws,
return virgl_vtest_send_resource_create2(vws, handle, target, format,
bind, width, height, depth,
array_size, last_level,
- nr_samples, size);
+ nr_samples, size, out_fd);
vtest_hdr[VTEST_CMD_LEN] = VCMD_RES_CREATE_SIZE;
vtest_hdr[VTEST_CMD_ID] = VCMD_RESOURCE_CREATE;
diff --git a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
index 681c0c25e6b..2952189dfb7 100644
--- a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
+++ b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
@@ -231,6 +231,7 @@ virgl_vtest_winsys_resource_create(struct virgl_winsys *vws,
struct virgl_vtest_winsys *vtws = virgl_vtest_winsys(vws);
struct virgl_hw_res *res;
static int handle = 1;
+ int fd = -1;
res = CALLOC_STRUCT(virgl_hw_res);
if (!res)
@@ -256,7 +257,7 @@ virgl_vtest_winsys_resource_create(struct virgl_winsys *vws,
res->size = size;
virgl_vtest_send_resource_create(vtws, handle, target, format, bind,
width, height, depth, array_size,
- last_level, nr_samples, size);
+ last_level, nr_samples, size, &fd);
res->res_handle = handle++;
pipe_reference_init(&res->reference, 1);
diff --git a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h
index 012aa1c98b1..f5d8eb26e7c 100644
--- a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h
+++ b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.h
@@ -73,7 +73,6 @@ struct virgl_hw_res {
uint32_t bind;
boolean cacheable;
int64_t start, end;
-
};
struct virgl_vtest_cmd_buf {
@@ -122,7 +121,8 @@ int virgl_vtest_send_resource_create(struct virgl_vtest_winsys *vws,
uint32_t array_size,
uint32_t last_level,
uint32_t nr_samples,
- uint32_t size);
+ uint32_t size,
+ int *out_fd);
int virgl_vtest_send_resource_unref(struct virgl_vtest_winsys *vws,
uint32_t handle);
More information about the mesa-commit
mailing list