freedreno: Implement pipe screen's get_device/driver_uuid()
authorEduardo Lima Mitev <elima@igalia.com>
Thu, 11 Jun 2020 16:54:10 +0000 (18:54 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 18 Aug 2020 20:40:40 +0000 (20:40 +0000)
v2: Don't need to prefix included uuid headers path with
    'freedreno'. (Rob Clark)

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4565>

src/gallium/drivers/freedreno/freedreno_screen.c
src/gallium/drivers/freedreno/meson.build

index ef542a7446edeecfd0b4bac8d9e24d0ff2fe1fa5..0cd76f8dd50a34ccd08a84e5a13c094cbde138f4 100644 (file)
@@ -57,6 +57,8 @@
 #include "a5xx/fd5_screen.h"
 #include "a6xx/fd6_screen.h"
 
+/* for fd_get_driver/device_uuid() */
+#include "common/freedreno_uuid.h"
 
 #include "ir3/ir3_nir.h"
 #include "ir3/ir3_compiler.h"
@@ -820,6 +822,20 @@ static void _fd_fence_ref(struct pipe_screen *pscreen,
        fd_fence_ref(ptr, pfence);
 }
 
+static void
+fd_screen_get_device_uuid(struct pipe_screen *pscreen, char *uuid)
+{
+       struct fd_screen *screen = fd_screen(pscreen);
+
+       fd_get_device_uuid(uuid, screen->gpu_id);
+}
+
+static void
+fd_screen_get_driver_uuid(struct pipe_screen *pscreen, char *uuid)
+{
+       fd_get_driver_uuid(uuid);
+}
+
 struct pipe_screen *
 fd_screen_create(struct fd_device *dev, struct renderonly *ro)
 {
@@ -1027,6 +1043,9 @@ fd_screen_create(struct fd_device *dev, struct renderonly *ro)
 
        pscreen->query_dmabuf_modifiers = fd_screen_query_dmabuf_modifiers;
 
+       pscreen->get_device_uuid = fd_screen_get_device_uuid;
+       pscreen->get_driver_uuid = fd_screen_get_driver_uuid;
+
        slab_create_parent(&screen->transfer_pool, sizeof(struct fd_transfer), 16);
 
        return pscreen;
index 1445e903de4b0ffa189eef151455bc281c5a7846..9a3638239f1ba8cb8d2237a780c5df457c91d579 100644 (file)
@@ -240,7 +240,7 @@ libfreedreno = static_library(
   c_args : [freedreno_c_args],
   cpp_args : [freedreno_cpp_args],
   gnu_symbol_visibility : 'hidden',
-  dependencies : [dep_libdrm, idep_nir_headers],
+  dependencies : [dep_libdrm, idep_nir_headers, idep_libfreedreno_common],
 )
 
 driver_freedreno = declare_dependency(