a51d4b10f1
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> |
||
---|---|---|
.. | ||
cso | ||
context.rst | ||
cso.rst | ||
debugging.rst | ||
distro.rst | ||
format.rst | ||
glossary.rst | ||
index.rst | ||
intro.rst | ||
pipeline.txt | ||
postprocess.rst | ||
resources.rst | ||
screen.rst | ||
tgsi.rst |