i965: plumb device/driver UUID generators

Use the same generators as used in anv driver so both Vulkan and OpenGL
drivers can share the same external memory objects.

Signed-off-by: Rohan Garg <rohan.garg@collabora.com>
Reviewed-by: Eleni Maria Stea <estea@igalia.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5594>
This commit is contained in:
Rohan Garg 2020-06-08 11:57:12 +02:00 committed by Rohan Garg
parent 41a42955d5
commit 62b51bb43b
1 changed files with 27 additions and 0 deletions

View File

@ -79,6 +79,7 @@
#include "isl/isl.h"
#include "common/intel_defines.h"
#include "common/intel_uuid.h"
#include "compiler/spirv/nir_spirv.h"
/***************************************
@ -323,6 +324,29 @@ brw_finish(struct gl_context * ctx)
brw_bo_wait_rendering(brw->batch.last_bo);
}
static void
brw_get_device_uuid(struct gl_context *ctx, char *uuid)
{
struct brw_context *brw = brw_context(ctx);
struct brw_screen *screen = brw->screen;
assert(GL_UUID_SIZE_EXT >= PIPE_UUID_SIZE);
memset(uuid, 0, GL_UUID_SIZE_EXT);
intel_uuid_compute_device_id((uint8_t *)uuid, &screen->isl_dev, PIPE_UUID_SIZE);
}
static void
brw_get_driver_uuid(struct gl_context *ctx, char *uuid)
{
struct brw_context *brw = brw_context(ctx);
struct brw_screen *screen = brw->screen;
assert(GL_UUID_SIZE_EXT >= PIPE_UUID_SIZE);
memset(uuid, 0, GL_UUID_SIZE_EXT);
intel_uuid_compute_driver_id((uint8_t *)uuid, &screen->devinfo, PIPE_UUID_SIZE);
}
static void
brw_init_driver_functions(struct brw_context *brw,
struct dd_function_table *functions)
@ -412,6 +436,9 @@ brw_init_driver_functions(struct brw_context *brw,
}
functions->SetBackgroundContext = brw_set_background_context;
functions->GetDeviceUuid = brw_get_device_uuid;
functions->GetDriverUuid = brw_get_driver_uuid;
}
static void