From 9375f62a54c9e2e5ec79e544116dc1117113019d Mon Sep 17 00:00:00 2001 From: Rohan Garg Date: Tue, 27 Jul 2021 12:32:24 +0200 Subject: [PATCH] i965: Write a custom allocator for the intel memobj struct This helps ensure we're not doing out of bounds access later. Signed-off-by: Rohan Garg Reviewed-by: Jason Ekstrand Part-of: --- src/mesa/drivers/dri/i965/brw_context.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 0d4c8317ea0..097dd9cb1dc 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -139,6 +139,17 @@ brw_set_background_context(struct gl_context *ctx, backgroundCallable->setBackgroundContext(driContext->loaderPrivate); } +static struct gl_memory_object * +brw_new_memoryobj(struct gl_context *ctx, GLuint name) +{ + struct brw_memory_object *memory_object = CALLOC_STRUCT(brw_memory_object); + if (!memory_object) + return NULL; + + _mesa_initialize_memory_object(ctx, &memory_object->Base, name); + return &memory_object->Base; +} + static void brw_delete_memoryobj(struct gl_context *ctx, struct gl_memory_object *memObj) { @@ -441,6 +452,7 @@ brw_init_driver_functions(struct brw_context *brw, functions->SetBackgroundContext = brw_set_background_context; + functions->NewMemoryObject = brw_new_memoryobj; functions->DeleteMemoryObject = brw_delete_memoryobj; functions->ImportMemoryObjectFd = brw_import_memoryobj_fd; functions->GetDeviceUuid = brw_get_device_uuid;