aboutsummaryrefslogtreecommitdiffstats
path: root/docs/gallium
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2020-09-29 17:35:47 -0400
committerMarge Bot <eric+marge@anholt.net>2020-10-07 17:30:12 +0000
commit593517a775a6f3e9a85c4c5d192edc9295b1f0d5 (patch)
treef8c523ffd725b164eed45b3b2ca8c9ec59a6cb2a /docs/gallium
parent3f1b35a2f0323875d3ca1c4e01e365a9acb8edba (diff)
downloadexternal_mesa3d-593517a775a6f3e9a85c4c5d192edc9295b1f0d5.tar.gz
external_mesa3d-593517a775a6f3e9a85c4c5d192edc9295b1f0d5.tar.bz2
external_mesa3d-593517a775a6f3e9a85c4c5d192edc9295b1f0d5.zip
gallium: add pipe_context::set_inlinable_constants
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6955>
Diffstat (limited to 'docs/gallium')
-rw-r--r--docs/gallium/context.rst16
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/gallium/context.rst b/docs/gallium/context.rst
index c0667f8d296..f061cade531 100644
--- a/docs/gallium/context.rst
+++ b/docs/gallium/context.rst
@@ -49,6 +49,22 @@ buffers, surfaces) are bound to the driver.
multiple ones to be set, and binding a specific one later, though drivers
are mostly restricted to the first one right now).
+* ``set_inlinable_constants`` sets inlinable constants for constant buffer 0.
+
+These are constants that the driver would like to inline in the IR
+of the current shader and recompile it. Drivers can determine which
+constants they prefer to inline in finalize_nir and store that
+information in shader_info::*inlinable_uniform*. When the state tracker
+or frontend uploads constants to a constant buffer, it can pass
+inlinable constants separately via this call.
+
+Any ``set_constant_buffer`` call invalidates inlinable constants, so
+``set_inlinable_constants`` must be called after it. Binding a shader also
+invalidates this state.
+
+There is no ``PIPE_CAP`` for this. Drivers shouldn't set the shader_info
+fields if they don't implement ``set_inlinable_constants``.
+
* ``set_framebuffer_state``
* ``set_vertex_buffers``