[Mesa-dev] [PATCH] gallium: remove set_shader_resources, add set_shader_buffers for untyped buffers
Marek Olšák
maraeo at gmail.com
Wed Jan 7 06:52:49 PST 2015
On Wed, Jan 7, 2015 at 3:44 PM, Aditya Avinash <adityaavinash1 at gmail.com> wrote:
>
>
> On Wed, Jan 7, 2015 at 4:56 AM, Marek Olšák <maraeo at gmail.com> wrote:
>>
>> From: Marek Olšák <marek.olsak at amd.com>
>>
>> set_shader_resources is unused.
>>
>> set_shader_buffers should support shader atomic counter buffers and shader
>> storage buffers from OpenGL.
>>
>> The plan is to use slots 0..15 for atomic counters and slots 16..31
>> for storage buffers. Atomic counters are planned to be supported first.
>>
>> This doesn't add any interface for images. The documentation is added
>> for future reference.
>> ---
>>
>> This is the interface only. I don't plan to do anything else for now.
>> Comments welcome.
>>
>> src/gallium/docs/source/context.rst | 16 ++++++++--------
>> src/gallium/docs/source/screen.rst | 4 ++--
>> src/gallium/drivers/galahad/glhd_context.c | 2 +-
>> src/gallium/drivers/ilo/ilo_state.c | 2 +-
>> src/gallium/drivers/nouveau/nouveau_buffer.c | 2 +-
>> src/gallium/drivers/nouveau/nouveau_screen.c | 2 +-
>> src/gallium/drivers/nouveau/nv50/nv50_formats.c | 2 +-
>> src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 2 +-
>> src/gallium/include/pipe/p_context.h | 20 +++++++++++---------
>> src/gallium/include/pipe/p_defines.h | 2 +-
>> src/gallium/include/pipe/p_state.h | 10 ++++++++++
>> 11 files changed, 38 insertions(+), 26 deletions(-)
>>
>> diff --git a/src/gallium/docs/source/context.rst
>> b/src/gallium/docs/source/context.rst
>> index 5861f46..73fd35f 100644
>> --- a/src/gallium/docs/source/context.rst
>> +++ b/src/gallium/docs/source/context.rst
>> @@ -126,14 +126,14 @@ 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. Writes to a shader resource are only allowed
>> -when the ``writable`` flag is set.
>> +There are 2 types of shader resources: buffers and images.
>> +
>> +Buffers are specified using the ``set_shader_buffers`` method.
>> +
>> +Images are specified using the ``set_shader_images`` method. When binding
>> +images, the ``level``, ``first_layer`` and ``last_layer`` pipe_image_view
>> +fields specify the mipmap level and the range of layers the image will be
>> +constrained to.
>>
>> Surfaces
>> ^^^^^^^^
>
>
> set_shader_images are not defined in this patch.
> Will it look similar to pipe_surface or pipe_sampler_view?
There will be a separate view for images if this is approved.
Marek
More information about the mesa-dev
mailing list