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

Brian Paul brianp at vmware.com
Thu Aug 9 20:11:21 PDT 2012


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



More information about the mesa-dev mailing list