From 117ac6ac0a09d091d88b1fb2b6ec7aca8e3c8aa1 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 11 Aug 2025 08:13:01 -0400 Subject: [PATCH] tc: remove user cbuf uploads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit this is no longer supported (drivers should set prefer_real_buffer_in_constbuf0) Reviewed-by: Marek Olšák Part-of: --- .../auxiliary/util/u_threaded_context.c | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/gallium/auxiliary/util/u_threaded_context.c b/src/gallium/auxiliary/util/u_threaded_context.c index 08886de9d79..920b1bbae44 100644 --- a/src/gallium/auxiliary/util/u_threaded_context.c +++ b/src/gallium/auxiliary/util/u_threaded_context.c @@ -1670,23 +1670,14 @@ tc_set_constant_buffer(struct pipe_context *_pipe, return; } - struct pipe_resource *buffer; - unsigned offset; - + /* frontend must handle this */ + assert(!cb->user_buffer); if (cb->user_buffer) { - /* This must be done before adding set_constant_buffer, because it could - * generate e.g. transfer_unmap and flush partially-uninitialized - * set_constant_buffer to the driver if it was done afterwards. - */ - buffer = NULL; - u_upload_data(tc->base.const_uploader, 0, cb->buffer_size, - tc->ubo_alignment, cb->user_buffer, &offset, &buffer); - u_upload_unmap(tc->base.const_uploader); - take_ownership = true; - } else { - buffer = cb->buffer; - offset = cb->buffer_offset; + UNREACHABLE("tc: unhandled frontend cbuf0 user buffer!"); + return; } + struct pipe_resource *buffer = cb->buffer; + unsigned offset = cb->buffer_offset; struct tc_constant_buffer *p = tc_add_call(tc, TC_CALL_set_constant_buffer, tc_constant_buffer); @@ -1696,11 +1687,7 @@ tc_set_constant_buffer(struct pipe_context *_pipe, p->cb.user_buffer = NULL; p->cb.buffer_offset = offset; p->cb.buffer_size = cb->buffer_size; - - if (take_ownership) - p->cb.buffer = buffer; - else - tc_set_resource_reference(&p->cb.buffer, buffer); + p->cb.buffer = buffer; if (buffer) { tc_bind_buffer(&tc->const_buffers[shader][index],