diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 333593369db..09a94ca7540 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -1679,8 +1679,9 @@ void ac_print_gpu_info(FILE *f, const struct radeon_info *info, int fd) char proc_fd[32]; char dev_filename[32]; snprintf(proc_fd, sizeof(proc_fd), "/proc/self/fd/%u", fd); - if (readlink(proc_fd, dev_filename, sizeof(dev_filename)) != -1) - fprintf(f, " dev_filename = %s\n", dev_filename); + int n = readlink(proc_fd, dev_filename, sizeof(dev_filename)); + if (n != -1) + fprintf(f, " dev_filename = %.*s\n", n, dev_filename); fprintf(f, " num_se = %i\n", info->num_se); fprintf(f, " num_rb = %i\n", info->num_rb); diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h index 01833da8d6f..5277ee13637 100644 --- a/src/mesa/main/bufferobj.h +++ b/src/mesa/main/bufferobj.h @@ -161,15 +161,18 @@ _mesa_reference_buffer_object_(struct gl_context *ctx, /* Update the private ref count. */ assert(oldObj->CtxRefCount >= 1); oldObj->CtxRefCount--; + assert(oldObj->Ctx == ctx); } } if (bufObj) { /* reference new buffer */ - if (shared_binding || ctx != bufObj->Ctx) + if (shared_binding || ctx != bufObj->Ctx) { p_atomic_inc(&bufObj->RefCount); - else + } else { bufObj->CtxRefCount++; + assert(bufObj->Ctx == ctx); + } } *ptr = bufObj; diff --git a/src/mesa/main/glthread_bufferobj.c b/src/mesa/main/glthread_bufferobj.c index a92ca40a860..09b0fbebbbc 100644 --- a/src/mesa/main/glthread_bufferobj.c +++ b/src/mesa/main/glthread_bufferobj.c @@ -25,8 +25,6 @@ #include "dispatch.h" #include "main/bufferobj.h" -#define PRIVATE_REFCOUNT 1000000 - /** * Create an upload buffer. This is called from the app thread, so everything * has to be thread-safe in the driver. @@ -81,11 +79,6 @@ _mesa_glthread_release_upload_buffer(struct gl_context *ctx, bool async_release) -glthread->upload_buffer_private_refcount); glthread->upload_buffer_private_refcount = 0; } - if (glthread->upload_buffer) { - glthread->upload_buffer->Ctx = NULL; - p_atomic_add(&glthread->upload_buffer->RefCount, - -(PRIVATE_REFCOUNT - glthread->upload_buffer->CtxRefCount)); - } if (async_release) { /* Defer to avoid calling tc_resource_release from this thread. */ @@ -163,8 +156,6 @@ _mesa_glthread_upload(struct gl_context *ctx, const void *data, */ glthread->upload_buffer->RefCount += default_size; glthread->upload_buffer_private_refcount = default_size; - glthread->upload_buffer->Ctx = ctx; - glthread->upload_buffer->CtxRefCount = PRIVATE_REFCOUNT; } /* Upload data. */