Mesa (main): crocus: plumb device/driver UUID generators
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jun 15 00:13:26 UTC 2021
Module: Mesa
Branch: main
Commit: 4a9da4dade13034ada4895186cc7abf592500bfc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a9da4dade13034ada4895186cc7abf592500bfc
Author: Dave Airlie <airlied at gmail.com>
Date: Mon Jun 14 13:25:57 2021 +1000
crocus: plumb device/driver UUID generators
Ports 456fa9b8385b14d6f2d4bea16e89bf280c4d5b3f from iris.
Use the same generators as used in anv driver so both Vulkan and OpenGL
drivers can share the same external memory objects.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11352>
---
src/gallium/drivers/crocus/crocus_screen.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/gallium/drivers/crocus/crocus_screen.c b/src/gallium/drivers/crocus/crocus_screen.c
index d5331d66730..54aad8ff854 100644
--- a/src/gallium/drivers/crocus/crocus_screen.c
+++ b/src/gallium/drivers/crocus/crocus_screen.c
@@ -54,6 +54,7 @@
#include "intel/compiler/brw_compiler.h"
#include "intel/common/intel_gem.h"
#include "intel/common/intel_l3_config.h"
+#include "intel/common/intel_uuid.h"
#include "crocus_monitor.h"
#define genX_call(devinfo, func, ...) \
@@ -101,6 +102,24 @@ crocus_get_device_vendor(struct pipe_screen *pscreen)
return "Intel";
}
+static void
+crocus_get_device_uuid(struct pipe_screen *pscreen, char *uuid)
+{
+ struct crocus_screen *screen = (struct crocus_screen *)pscreen;
+ const struct isl_device *isldev = &screen->isl_dev;
+
+ intel_uuid_compute_device_id((uint8_t *)uuid, isldev, PIPE_UUID_SIZE);
+}
+
+static void
+crocus_get_driver_uuid(struct pipe_screen *pscreen, char *uuid)
+{
+ struct crocus_screen *screen = (struct crocus_screen *)pscreen;
+ const struct intel_device_info *devinfo = &screen->devinfo;
+
+ intel_uuid_compute_driver_id((uint8_t *)uuid, devinfo, PIPE_UUID_SIZE);
+}
+
static const char *
crocus_get_name(struct pipe_screen *pscreen)
{
@@ -814,6 +833,8 @@ crocus_screen_create(int fd, const struct pipe_screen_config *config)
pscreen->get_compute_param = crocus_get_compute_param;
pscreen->get_paramf = crocus_get_paramf;
pscreen->get_compiler_options = crocus_get_compiler_options;
+ pscreen->get_device_uuid = crocus_get_device_uuid;
+ pscreen->get_driver_uuid = crocus_get_driver_uuid;
pscreen->get_disk_shader_cache = crocus_get_disk_shader_cache;
pscreen->is_format_supported = crocus_is_format_supported;
pscreen->context_create = crocus_create_context;
More information about the mesa-commit
mailing list