[Mesa-dev] [PATCH 0/16] Assorted gallium shader, sampler, sampler_view changes

Bryan Cain bryancain3 at gmail.com
Thu Aug 9 23:28:20 PDT 2012


On 08/09/2012 10:11 PM, Brian Paul wrote:
>
> The following patches are steps toward some gallium API clean-ups.
>
> 1. Eventually, replace
> pipe_context::bind_fragment/vertex/geometry/compute_sampler_states()
> with a single bind_sampler_states() entrypoint which takes a
> PIPE_SHADER_x to identify the shader stage and a 'start_slot' value
> like bind_compute_sampler_states() has.  The later seemed to be agreed
> upon a few weeks ago.
>
> 2. Similarly for pipe_context::set_{shader}_sampler_views().
>
> 3. Where possible, replace parallel arrays for
> vertex/fragment/geometry objects with a 2D array indexed by shader
> type.  For example:
>
> replace:
>    struct pipe_sampler_state *vert_samplers[MAX_SAMPLERS];
>    struct pipe_sampler_state *geom_samplers[MAX_SAMPLERS];
>    struct pipe_sampler_state *frag_samplers[MAX_SAMPLERS];
> with:
>    struct pipe_sampler_state *samplers[PIPE_SHADER_TYPES][MAX_SAMPLERS];
>
> 4. Add support for geometry shader stuff in a few places like the
> state tracker.
>
> I've touched about half the drivers so far.  There's a fair bit of
> work to be done before actually changing p_context.h
>
> -Brian

Hi, I just wanted to say thank you for working on this.  Getting
sampling to work in my geometry shaders branch was something I was
really not looking forward to, and once this work lands in master, it
should allow me to finish my geometry shader work at least a couple of
weeks before I could otherwise.

-Bryan


More information about the mesa-dev mailing list