This doesn't do anything useful so just remove it. --- src/mesa/main/bufferobj.c | 33 ++++++++++----------------------- src/mesa/main/bufferobj.h | 6 ------ src/mesa/main/varray.c | 4 ++-- 3 files changed, 12 insertions(+), 31 deletions(-)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index 139efd1..58e0a50 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -1101,49 +1101,36 @@ _mesa_lookup_bufferobj_err(struct gl_context *ctx, GLuint buffer, if (!bufObj || bufObj == &DummyBufferObject) { _mesa_error(ctx, GL_INVALID_OPERATION, "%s(non-existent buffer object %u)", caller, buffer); return NULL; } return bufObj; } -void -_mesa_begin_bufferobj_lookups(struct gl_context *ctx) -{ - _mesa_HashLockMutex(ctx->Shared->BufferObjects); -} - - -void -_mesa_end_bufferobj_lookups(struct gl_context *ctx) -{ - _mesa_HashUnlockMutex(ctx->Shared->BufferObjects); -} - - /** * Look up a buffer object for a multi-bind function. * * Unlike _mesa_lookup_bufferobj(), this function also takes care * of generating an error if the buffer ID is not zero or the name * of an existing buffer object. * * If the buffer ID refers to an existing buffer object, a pointer * to the buffer object is returned. If the ID is zero, a pointer * to the shared NullBufferObj is returned. If the ID is not zero * and does not refer to a valid buffer object, this function * returns NULL. * * This function assumes that the caller has already locked the - * hash table mutex by calling _mesa_begin_bufferobj_lookups(). + * hash table mutex by calling + * _mesa_HashLockMutex(ctx->Shared->BufferObjects). */ struct gl_buffer_object * _mesa_multi_bind_lookup_bufferobj(struct gl_context *ctx, const GLuint *buffers, GLuint index, const char *caller) { struct gl_buffer_object *bufObj; if (buffers[index] != 0) { bufObj = _mesa_lookup_bufferobj_locked(ctx, buffers[index]); @@ -3238,21 +3225,21 @@ bind_uniform_buffers(struct gl_context *ctx, GLuint first, GLsizei count, * and then a second pass to actually perform the bindings. * Should we have different error semantics? * * RESOLVED: Yes. In this specification, when the parameters for * one of the <count> binding points are invalid, that binding point * is not updated and an error will be generated. However, other * binding points in the same command will be updated if their * parameters are valid and no other error occurs." */ - _mesa_begin_bufferobj_lookups(ctx); + _mesa_HashLockMutex(ctx->Shared->BufferObjects); for (i = 0; i < count; i++) { struct gl_uniform_buffer_binding *binding = &ctx->UniformBufferBindings[first + i]; struct gl_buffer_object *bufObj; GLintptr offset = 0; GLsizeiptr size = 0; if (range) { if (!bind_buffers_check_offset_and_size(ctx, i, offsets, sizes)) @@ -3298,21 +3285,21 @@ bind_uniform_buffers(struct gl_context *ctx, GLuint first, GLsizei count, bufObj = _mesa_multi_bind_lookup_bufferobj(ctx, buffers, i, caller); if (bufObj) { if (bufObj == ctx->Shared->NullBufferObj) set_ubo_binding(ctx, binding, bufObj, -1, -1, !range); else set_ubo_binding(ctx, binding, bufObj, offset, size, !range); } } - _mesa_end_bufferobj_lookups(ctx); + _mesa_HashUnlockMutex(ctx->Shared->BufferObjects); } static void bind_shader_storage_buffers(struct gl_context *ctx, GLuint first, GLsizei count, const GLuint *buffers, bool range, const GLintptr *offsets, const GLsizeiptr *sizes, const char *caller) { @@ -3350,21 +3337,21 @@ bind_shader_storage_buffers(struct gl_context *ctx, GLuint first, * and then a second pass to actually perform the bindings. * Should we have different error semantics? * * RESOLVED: Yes. In this specification, when the parameters for * one of the <count> binding points are invalid, that binding point * is not updated and an error will be generated. However, other * binding points in the same command will be updated if their * parameters are valid and no other error occurs." */ - _mesa_begin_bufferobj_lookups(ctx); + _mesa_HashLockMutex(ctx->Shared->BufferObjects); for (i = 0; i < count; i++) { struct gl_shader_storage_buffer_binding *binding = &ctx->ShaderStorageBufferBindings[first + i]; struct gl_buffer_object *bufObj; GLintptr offset = 0; GLsizeiptr size = 0; if (range) { if (!bind_buffers_check_offset_and_size(ctx, i, offsets, sizes)) @@ -3410,21 +3397,21 @@ bind_shader_storage_buffers(struct gl_context *ctx, GLuint first, bufObj = _mesa_multi_bind_lookup_bufferobj(ctx, buffers, i, caller); if (bufObj) { if (bufObj == ctx->Shared->NullBufferObj) set_ssbo_binding(ctx, binding, bufObj, -1, -1, !range); else set_ssbo_binding(ctx, binding, bufObj, offset, size, !range); } } - _mesa_end_bufferobj_lookups(ctx); + _mesa_HashUnlockMutex(ctx->Shared->BufferObjects); } static bool error_check_bind_xfb_buffers(struct gl_context *ctx, struct gl_transform_feedback_object *tfObj, GLuint first, GLsizei count, const char *caller) { if (!ctx->Extensions.EXT_transform_feedback) { _mesa_error(ctx, GL_INVALID_ENUM, "%s(target=GL_TRANSFORM_FEEDBACK_BUFFER)", caller); @@ -3529,21 +3516,21 @@ bind_xfb_buffers(struct gl_context *ctx, * and then a second pass to actually perform the bindings. * Should we have different error semantics? * * RESOLVED: Yes. In this specification, when the parameters for * one of the <count> binding points are invalid, that binding point * is not updated and an error will be generated. However, other * binding points in the same command will be updated if their * parameters are valid and no other error occurs." */ - _mesa_begin_bufferobj_lookups(ctx); + _mesa_HashLockMutex(ctx->Shared->BufferObjects); for (i = 0; i < count; i++) { const GLuint index = first + i; struct gl_buffer_object * const boundBufObj = tfObj->Buffers[index]; struct gl_buffer_object *bufObj; GLintptr offset = 0; GLsizeiptr size = 0; if (range) { offset = offsets[i]; @@ -3595,21 +3582,21 @@ bind_xfb_buffers(struct gl_context *ctx, if (boundBufObj && boundBufObj->Name == buffers[i]) bufObj = boundBufObj; else bufObj = _mesa_multi_bind_lookup_bufferobj(ctx, buffers, i, caller); if (bufObj) _mesa_set_transform_feedback_binding(ctx, tfObj, index, bufObj, offset, size); } - _mesa_end_bufferobj_lookups(ctx); + _mesa_HashUnlockMutex(ctx->Shared->BufferObjects); } static bool error_check_bind_atomic_buffers(struct gl_context *ctx, GLuint first, GLsizei count, const char *caller) { if (!ctx->Extensions.ARB_shader_atomic_counters) { _mesa_error(ctx, GL_INVALID_ENUM, "%s(target=GL_ATOMIC_COUNTER_BUFFER)", caller); @@ -3692,21 +3679,21 @@ bind_atomic_buffers(struct gl_context *ctx, * and then a second pass to actually perform the bindings. * Should we have different error semantics? * * RESOLVED: Yes. In this specification, when the parameters for * one of the <count> binding points are invalid, that binding point * is not updated and an error will be generated. However, other * binding points in the same command will be updated if their * parameters are valid and no other error occurs." */ - _mesa_begin_bufferobj_lookups(ctx); + _mesa_HashLockMutex(ctx->Shared->BufferObjects); for (i = 0; i < count; i++) { struct gl_atomic_buffer_binding *binding = &ctx->AtomicBufferBindings[first + i]; struct gl_buffer_object *bufObj; GLintptr offset = 0; GLsizeiptr size = 0; if (range) { if (!bind_buffers_check_offset_and_size(ctx, i, offsets, sizes)) @@ -3745,21 +3732,21 @@ bind_atomic_buffers(struct gl_context *ctx, if (binding->BufferObject && binding->BufferObject->Name == buffers[i]) bufObj = binding->BufferObject; else bufObj = _mesa_multi_bind_lookup_bufferobj(ctx, buffers, i, caller); if (bufObj) set_atomic_buffer_binding(ctx, binding, bufObj, offset, size); } - _mesa_end_bufferobj_lookups(ctx); + _mesa_HashUnlockMutex(ctx->Shared->BufferObjects); } void GLAPIENTRY _mesa_BindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { GET_CURRENT_CONTEXT(ctx); struct gl_buffer_object *bufObj; if (MESA_VERBOSE & VERBOSE_API) { diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h index cd0df93..259de94 100644 --- a/src/mesa/main/bufferobj.h +++ b/src/mesa/main/bufferobj.h @@ -91,26 +91,20 @@ _mesa_update_default_objects_buffer_objects(struct gl_context *ctx); extern struct gl_buffer_object * _mesa_lookup_bufferobj(struct gl_context *ctx, GLuint buffer); extern struct gl_buffer_object * _mesa_lookup_bufferobj_locked(struct gl_context *ctx, GLuint buffer); extern struct gl_buffer_object * _mesa_lookup_bufferobj_err(struct gl_context *ctx, GLuint buffer, const char *caller); -extern void -_mesa_begin_bufferobj_lookups(struct gl_context *ctx); - -extern void -_mesa_end_bufferobj_lookups(struct gl_context *ctx); - extern struct gl_buffer_object * _mesa_multi_bind_lookup_bufferobj(struct gl_context *ctx, const GLuint *buffers, GLuint index, const char *caller); extern void _mesa_initialize_buffer_object(struct gl_context *ctx, struct gl_buffer_object *obj, GLuint name); diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index 8139466..a3836a1 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -2035,21 +2035,21 @@ vertex_array_vertex_buffers(struct gl_context *ctx, * errors and then a second pass to actually perform the * bindings. Should we have different error semantics? * * RESOLVED: Yes. In this specification, when the parameters for * one of the <count> binding points are invalid, that binding * point is not updated and an error will be generated. However, * other binding points in the same command will be updated if * their parameters are valid and no other error occurs." */ - _mesa_begin_bufferobj_lookups(ctx); + _mesa_HashLockMutex(ctx->Shared->BufferObjects); for (i = 0; i < count; i++) { struct gl_buffer_object *vbo; /* The ARB_multi_bind spec says: * * "An INVALID_VALUE error is generated if any value in * <offsets> or <strides> is negative (per binding)." */ if (offsets[i] < 0) { @@ -2086,21 +2086,21 @@ vertex_array_vertex_buffers(struct gl_context *ctx, if (!vbo) continue; } else { vbo = ctx->Shared->NullBufferObj; } _mesa_bind_vertex_buffer(ctx, vao, VERT_ATTRIB_GENERIC(first + i), vbo, offsets[i], strides[i]); } - _mesa_end_bufferobj_lookups(ctx); + _mesa_HashUnlockMutex(ctx->Shared->BufferObjects); } void GLAPIENTRY _mesa_BindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides) { GET_CURRENT_CONTEXT(ctx); /* The ARB_vertex_attrib_binding spec says: -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev