From a9f995392829cafe7e5b739871da05fbb671fdb2 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 30 Mar 2023 21:02:45 -0400 Subject: [PATCH] docs/gallium: Note samplers are not used for txf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Suggested-by: Marek Olšák Reviewed-by: Marek Olšák Part-of: --- docs/gallium/context.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/gallium/context.rst b/docs/gallium/context.rst index a3fd78be52297..507a6c07996ff 100644 --- a/docs/gallium/context.rst +++ b/docs/gallium/context.rst @@ -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 ^^^^^^^^^^^^^