docs/gallium: Note samplers are not used for txf

Now that PIPE_CAP_TEXTURE_BUFFER_SAMPLER is gone, txf does not require samplers
for any texture on any Gallium driver. NIR already requires drivers to ignore
sampler_index for non-sampler operation (mainly txf), and nowadays all Gallium
drivers ingest NIR. So, document that samplers aren't bound for txf (etc) as
part of the Gallium frontend-driver contract.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Suggested-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22223>
This commit is contained in:
Alyssa Rosenzweig 2023-03-30 21:02:45 -04:00 committed by Marge Bot
parent 6ba29d37c8
commit a9f9953928
1 changed files with 6 additions and 5 deletions

View File

@ -128,11 +128,12 @@ objects. They all follow simple, one-method binding calls, e.g.
Samplers
^^^^^^^^
pipe_sampler_state objects control how textures are sampled
(coordinate wrap modes, interpolation modes, etc). Note that
samplers are not used for texture buffer objects. That is,
pipe_context::bind_sampler_views() will not bind a sampler if the corresponding
sampler view refers to a PIPE_BUFFER resource.
pipe_sampler_state objects control how textures are sampled (coordinate wrap
modes, interpolation modes, etc). Samplers are only required for texture
instructions for which nir_tex_instr_need_sampler returns true. Drivers must
ignore samplers for other texture instructions. Frontends may or may not bind
samplers when no texture instruction use them. Notably, frontends may not bind
samplers for texture buffer objects, which are never accessed with samplers.
Sampler Views
^^^^^^^^^^^^^