summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/virgl/virgl_screen.c
diff options
context:
space:
mode:
authorLucas Fryzek <lfryzek@igalia.com>2023-03-02 14:49:31 -0500
committerMarge Bot <emma+marge@anholt.net>2023-03-31 13:39:06 +0000
commit2ade6917dacb0648aff33f81da4e63418374ec7e (patch)
treede2f25f6f389b27af586e0d992b62d5010326c41 /src/gallium/drivers/virgl/virgl_screen.c
parentcf1c3c96ab666ad40d77c112d89fa7e63b996790 (diff)
virgl: Add support for `get_screen_fd`
Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21654>
Diffstat (limited to 'src/gallium/drivers/virgl/virgl_screen.c')
-rw-r--r--src/gallium/drivers/virgl/virgl_screen.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
index 2db9aef280c..87aedd9c996 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -1101,6 +1101,18 @@ virgl_get_compiler_options(struct pipe_screen *pscreen,
return &vscreen->compiler_options;
}
+static int
+virgl_screen_get_fd(struct pipe_screen *pscreen)
+{
+ struct virgl_screen *vscreen = virgl_screen(pscreen);
+ struct virgl_winsys *vws = vscreen->vws;
+
+ if (vws->get_fd)
+ return vws->get_fd(vws);
+ else
+ return -1;
+}
+
struct pipe_screen *
virgl_create_screen(struct virgl_winsys *vws, const struct pipe_screen_config *config)
{
@@ -1137,6 +1149,7 @@ virgl_create_screen(struct virgl_winsys *vws, const struct pipe_screen_config *c
screen->vws = vws;
screen->base.get_name = virgl_get_name;
screen->base.get_vendor = virgl_get_vendor;
+ screen->base.get_screen_fd = virgl_screen_get_fd;
screen->base.get_param = virgl_get_param;
screen->base.get_shader_param = virgl_get_shader_param;
screen->base.get_video_param = virgl_get_video_param;