This all seems fine to me. This series is: Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu>
Might want to wait for someone more experienced with all this to also take a look before pushing. -ilia On Thu, Jul 9, 2015 at 5:46 PM, Marek Olšák <mar...@gmail.com> wrote: > From: Marek Olšák <marek.ol...@amd.com> > > --- > src/gallium/include/pipe/p_context.h | 18 ++++++++++++++++++ > src/gallium/include/pipe/p_state.h | 10 ++++++++++ > 2 files changed, 28 insertions(+) > > diff --git a/src/gallium/include/pipe/p_context.h > b/src/gallium/include/pipe/p_context.h > index 022ace5..b4512e7 100644 > --- a/src/gallium/include/pipe/p_context.h > +++ b/src/gallium/include/pipe/p_context.h > @@ -58,6 +58,7 @@ struct pipe_resource; > struct pipe_sampler_state; > struct pipe_sampler_view; > struct pipe_scissor_state; > +struct pipe_shader_buffer; > struct pipe_shader_state; > struct pipe_stencil_ref; > struct pipe_stream_output_target; > @@ -237,6 +238,23 @@ struct pipe_context { > const float default_inner_level[2]); > > /** > + * Bind an array of shader buffers that will be used by a shader. > + * Any buffers that were previously bound to the specified range > + * will be unbound. > + * > + * \param shader selects shader stage > + * \param start_slot first buffer slot to bind. > + * \param count number of consecutive buffers to bind. > + * \param buffers array of pointers to the buffers to bind, it > + * should contain at least \a count elements > + * unless it's NULL, in which case no buffers will > + * be bound. > + */ > + void (*set_shader_buffers)(struct pipe_context *, unsigned shader, > + unsigned start_slot, unsigned count, > + struct pipe_shader_buffer *buffers); > + > + /** > * Bind an array of images that will be used by a shader. > * Any images that were previously bound to the specified range > * will be unbound. > diff --git a/src/gallium/include/pipe/p_state.h > b/src/gallium/include/pipe/p_state.h > index f655dda..b269a23 100644 > --- a/src/gallium/include/pipe/p_state.h > +++ b/src/gallium/include/pipe/p_state.h > @@ -490,6 +490,16 @@ struct pipe_constant_buffer { > > > /** > + * An untyped shader buffer supporting loads, stores, and atomics. > + */ > +struct pipe_shader_buffer { > + struct pipe_resource *buffer; /**< the actual buffer */ > + unsigned buffer_offset; /**< offset to start of data in buffer, in bytes > */ > + unsigned buffer_size; /**< how much data can be read in shader */ > +}; > + > + > +/** > * A stream output target. The structure specifies the range vertices can > * be written to. > * > -- > 2.1.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev