mesa/docs/gallium
Marek Olšák a51d4b10f1 gallium: add take_ownership param into set_constant_buffer to eliminate atomics
We often do this:
    pipe->set_constant_buffer(pipe, shader, slot, &cb);
    pipe_resource_reference(&cb->buffer, NULL);

That results in atomic increment in set_constant_buffer followed by
atomic decrement after set_constant_buffer. This new interface
eliminates those atomics.

For the case above, this should be used instead:
    pipe->set_constant_buffer(pipe, shader, slot, true, &cb);
    cb->buffer = NULL; // if cb is not a local variable, else do nothing

AMD Zen benefits from this. The perf improvement is ~3% for Viewperf13/Catia.

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:34 +00:00
..
cso docs: anistropy -> anisotropy 2020-10-28 10:27:51 +00:00
context.rst gallium: add take_ownership param into set_constant_buffer to eliminate atomics 2021-01-27 23:53:34 +00:00
cso.rst
debugging.rst
distro.rst
format.rst
glossary.rst
index.rst docs: Move the gallium driver documentation to the top level. 2020-10-21 18:11:39 +00:00
intro.rst
pipeline.txt
postprocess.rst docs: move gallium specific docs into gallium folder 2020-07-07 10:22:08 +00:00
resources.rst
screen.rst gallium: Add new cap PIPE_CAP_TEXTURE_BUFFER_SAMPLER 2021-01-12 19:06:00 +00:00
tgsi.rst gallium/tgsi: Rewrite the docs on source modifiers. 2021-01-13 22:52:10 +00:00