mesa/docs/gallium
Karol Herbst 9d7441dcb0 gallium: add fixed address resource API
cl_ext_buffer_device_address requires us to set a fixed address for a
given memory allocation. As this extension is intended to be implemented
on top of vulkan we have to take its limitations into account.

For SVM we'll add proper VM management interfaces, but zink won't be able
to implement those, so here we are.

The old interfaces added back in clover's time were modeled after a very
bindful resource model and the frontend was require to bind all the used
resources ahead of launch_grid.

cl_ext_buffer_device_address and also SVM however will require us to
dynamically attach a list of buffers used in a dispatch with known
addresses, hence set_global_binding isn't really suited for those use
cases.

So PIPE_RESOURCE_FLAG_FIXED_ADDRESS is added to tell a driver that the
address of a resource needs to stay the same over its lifetime, which then
can be queried via pipe_screen::resource_get_address.

All such buffers then can be either bound via set_global_binding or passed
in via pipe_grid_info::globals.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942>
2025-05-28 19:21:46 +00:00
..
cso gallium: remove polygon_offset_units_unscaled pipe cap 2025-05-26 17:01:03 +00:00
buffermapping.rst docs,src: replace doc and comments for PIPE_CAP with pipe_caps 2025-01-17 04:39:47 +00:00
context.rst gallium: remove pipe_context::set_compute_resources and PIPE_BIND_COMPUTE_RESOURCE 2025-05-01 22:18:27 +02:00
cso.rst
debugging.rst docs: move generic gallium envvars to root doc 2022-11-15 11:25:05 +01:00
format.rst docs: apply some redirects 2022-11-10 17:26:19 +01:00
glossary.rst docs/gallium: move period out of quotes 2022-11-15 10:01:15 +00:00
index.rst docs: Drop distro unmaintained and deprecated file. 2025-04-19 15:52:12 +02:00
intro.rst
pipeline.txt
postprocess.rst docs: apply permanent redirect 2023-11-16 20:30:08 +00:00
resources.rst docs,src: replace doc and comments for PIPE_CAP with pipe_caps 2025-01-17 04:39:47 +00:00
screen.rst gallium: add fixed address resource API 2025-05-28 19:21:46 +00:00
tgsi.rst doc,src: replace doc and comments for shader and compute cap 2025-02-05 11:20:49 +08:00