mesa/src/gallium/auxiliary/driver_ddebug
Marek Olšák 27dcb46629 gallium: add take_ownership param into set_vertex_buffers to eliminate atomics
There are a few places (mainly u_threaded_context) that do:
   set_vertex_buffers(...);
   for (i = 0; i < count; i++)
      pipe_resource_reference(&buffers[i].resource.buffer, NULL);

set_vertex_buffers increments the reference counts while the loop
decrements them.

This commit eliminates those reference count changes by adding a parameter
into set_vertex_buffers that tells the callee to accept all buffers
without incrementing the reference counts.

AMD Zen benefits from this because it has slow atomics if they come from
different CCXs.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8298>
2021-01-27 23:53:35 +00:00
..
dd_context.c gallium: add take_ownership param into set_vertex_buffers to eliminate atomics 2021-01-27 23:53:35 +00:00
dd_draw.c aux/driver_ddebug: Normalize pid type from Haiku 2021-01-09 20:51:27 -06:00
dd_pipe.h gallium: extend draw_vbo to support multi draws 2020-11-18 01:41:25 +00:00
dd_public.h gallium/auxiliary: Extern "c" fixes. 2018-07-27 16:19:12 -05:00
dd_screen.c gallium: Add optional pipe_context to flush_frontbuffer 2020-12-14 23:31:37 +00:00
dd_util.h ddebug: add missing forward declaration 2020-03-30 11:05:52 +00:00