summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i915
diff options
context:
space:
mode:
authorLucas Fryzek <lfryzek@igalia.com>2023-03-02 14:48:14 -0500
committerMarge Bot <emma+marge@anholt.net>2023-03-31 13:39:06 +0000
commit853b4801f27fcb7ef15d3109d61e95397afa0282 (patch)
tree621c2a5aa927a5a07bbe56cdd3f4cab9e071659b /src/gallium/drivers/i915
parent0f5fdd9ca44a3b937e07e7d04d83c96aab04adc8 (diff)
i915: 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/i915')
-rw-r--r--src/gallium/drivers/i915/i915_screen.c9
-rw-r--r--src/gallium/drivers/i915/i915_winsys.h5
2 files changed, 14 insertions, 0 deletions
diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c
index 2530aa73494..1240da087e4 100644
--- a/src/gallium/drivers/i915/i915_screen.c
+++ b/src/gallium/drivers/i915/i915_screen.c
@@ -639,6 +639,14 @@ i915_destroy_screen(struct pipe_screen *screen)
FREE(is);
}
+static int
+i915_screen_get_fd(struct pipe_screen *screen)
+{
+ struct i915_screen *is = i915_screen(screen);
+
+ return is->iws->get_fd(is->iws);
+}
+
/**
* Create a new i915_screen object
*/
@@ -681,6 +689,7 @@ i915_screen_create(struct i915_winsys *iws)
is->base.get_name = i915_get_name;
is->base.get_vendor = i915_get_vendor;
is->base.get_device_vendor = i915_get_device_vendor;
+ is->base.get_screen_fd = i915_screen_get_fd;
is->base.get_param = i915_get_param;
is->base.get_shader_param = i915_get_shader_param;
is->base.get_paramf = i915_get_paramf;
diff --git a/src/gallium/drivers/i915/i915_winsys.h b/src/gallium/drivers/i915/i915_winsys.h
index 1c7a501ecf0..7d99ce98804 100644
--- a/src/gallium/drivers/i915/i915_winsys.h
+++ b/src/gallium/drivers/i915/i915_winsys.h
@@ -236,6 +236,11 @@ struct i915_winsys {
* Destroy the winsys.
*/
void (*destroy)(struct i915_winsys *iws);
+
+ /**
+ * Get FD if the winsys provides one
+ */
+ int (*get_fd)(struct i915_winsys *iws);
};
#endif