Mesa (master): freedreno: Implement pipe screen's get_device/driver_uuid()

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 18 20:57:08 UTC 2020


Module: Mesa
Branch: master
Commit: e3c39e5052233aecfd1748be9d0185ee23604c22
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3c39e5052233aecfd1748be9d0185ee23604c22

Author: Eduardo Lima Mitev <elima at igalia.com>
Date:   Thu Jun 11 18:54:10 2020 +0200

freedreno: Implement pipe screen's get_device/driver_uuid()

v2: Don't need to prefix included uuid headers path with
    'freedreno'. (Rob Clark)

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

---

 src/gallium/drivers/freedreno/freedreno_screen.c | 19 +++++++++++++++++++
 src/gallium/drivers/freedreno/meson.build        |  2 +-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c
index ef542a7446e..0cd76f8dd50 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -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;
diff --git a/src/gallium/drivers/freedreno/meson.build b/src/gallium/drivers/freedreno/meson.build
index 1445e903de4..9a3638239f1 100644
--- a/src/gallium/drivers/freedreno/meson.build
+++ b/src/gallium/drivers/freedreno/meson.build
@@ -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(



More information about the mesa-commit mailing list