[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