From b18b68ba18deb30daaaf3f115d6dd498fa5ce915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 2 Jan 2021 18:06:53 -0500 Subject: [PATCH] st/mesa: skip atomics when binding UBOs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This uses the same mechanism as vertex buffers. Reviewed-by: Zoltán Böszörményi Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/mesa/state_tracker/st_atom_constbuf.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/mesa/state_tracker/st_atom_constbuf.c b/src/mesa/state_tracker/st_atom_constbuf.c index 7c3cb981c8d..d5a09437f52 100644 --- a/src/mesa/state_tracker/st_atom_constbuf.c +++ b/src/mesa/state_tracker/st_atom_constbuf.c @@ -266,13 +266,11 @@ st_bind_ubos(struct st_context *st, struct gl_program *prog, for (i = 0; i < prog->sh.NumUniformBlocks; i++) { struct gl_buffer_binding *binding; - struct st_buffer_object *st_obj; binding = &st->ctx->UniformBufferBindings[prog->sh.UniformBlocks[i]->Binding]; - st_obj = st_buffer_object(binding->BufferObject); - cb.buffer = st_obj ? st_obj->buffer : NULL; + cb.buffer = st_get_buffer_reference(st->ctx, binding->BufferObject); if (cb.buffer) { cb.buffer_offset = binding->Offset; @@ -289,7 +287,7 @@ st_bind_ubos(struct st_context *st, struct gl_program *prog, cb.buffer_size = 0; } - pipe->set_constant_buffer(pipe, shader_type, 1 + i, false, &cb); + pipe->set_constant_buffer(pipe, shader_type, 1 + i, true, &cb); } }