nouveau: Add support for `get_screen_fd`
authorLucas Fryzek <lfryzek@igalia.com>
Thu, 2 Mar 2023 19:46:29 +0000 (14:46 -0500)
committerMarge Bot <emma+marge@anholt.net>
Fri, 31 Mar 2023 13:39:06 +0000 (13:39 +0000)
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21654>

src/gallium/drivers/nouveau/nouveau_screen.c

index 4caa3df..c856c5c 100644 (file)
@@ -259,6 +259,14 @@ nouveau_check_for_uma(int chipset, struct nouveau_object *obj)
    return (info.platform == NV_DEVICE_INFO_V0_IGP) || (info.platform == NV_DEVICE_INFO_V0_SOC);
 }
 
+static int
+nouveau_screen_get_fd(struct pipe_screen *pscreen)
+{
+   const struct nouveau_screen *screen = nouveau_screen(pscreen);
+
+   return screen->drm->fd;
+}
+
 int
 nouveau_screen_init(struct nouveau_screen *screen, struct nouveau_device *dev)
 {
@@ -388,6 +396,7 @@ nouveau_screen_init(struct nouveau_screen *screen, struct nouveau_device *dev)
 
    snprintf(screen->chipset_name, sizeof(screen->chipset_name), "NV%02X", dev->chipset);
    pscreen->get_name = nouveau_screen_get_name;
+   pscreen->get_screen_fd = nouveau_screen_get_fd;
    pscreen->get_vendor = nouveau_screen_get_vendor;
    pscreen->get_device_vendor = nouveau_screen_get_device_vendor;
    pscreen->get_disk_shader_cache = nouveau_screen_get_disk_shader_cache;