From 5f55cbc7d93c6568566893f9345e43fff311a32b Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Tue, 1 May 2012 02:47:03 +0200 Subject: gallium: Add context hooks for binding shader resources. --- src/gallium/docs/source/context.rst | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/gallium/docs/source/context.rst') diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst index cb9b8de7d5a..eae400d5d5b 100644 --- a/src/gallium/docs/source/context.rst +++ b/src/gallium/docs/source/context.rst @@ -120,6 +120,22 @@ to the array index which is used for sampling. * ``sampler_view_destroy`` destroys a sampler view and releases its reference to associated texture. +Shader Resources +^^^^^^^^^^^^^^^^ + +Shader resources are textures or buffers that may be read or written +from a shader without an associated sampler. This means that they +have no support for floating point coordinates, address wrap modes or +filtering. + +Shader resources are specified for all the shader stages at once using +the ``set_shader_resources`` method. When binding texture resources, +the ``level``, ``first_layer`` and ``last_layer`` pipe_surface fields +specify the mipmap level and the range of layers the texture will be +constrained to. In the case of buffers, ``first_element`` and +``last_element`` specify the range within the buffer that will be used +by the shader resource. + Surfaces ^^^^^^^^ @@ -575,7 +591,9 @@ The compute program has access to four special resources: These resources use a byte-based addressing scheme, and they can be accessed from the compute program by means of the LOAD/STORE TGSI -opcodes. +opcodes. Additional resources to be accessed using the same opcodes +may be specified by the user with the ``set_compute_resources`` +method. In addition, normal texture sampling is allowed from the compute program: ``bind_compute_sampler_states`` may be used to set up texture -- cgit v1.2.3