diff options
author | Kai Wasserbäch <kai@dev.carbon-project.org> | 2016-08-27 04:08:00 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2016-08-29 08:45:48 -0600 |
commit | 7413625ad357c87f409cd1673b40f8dffbc43259 (patch) | |
tree | 238163910ff8f8b3abfc45350618e7eecf3c55ea | |
parent | ed24d79ed712f22ca12a1986a024c522d202dc37 (diff) |
gallium: Use enum pipe_shader_type in bind_sampler_states() (v2)
v1 → v2:
- Fixed indentation (noted by Brian Paul)
- Removed second assert from nouveau's switch statements (suggested by
Brian Paul)
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
28 files changed, 63 insertions, 38 deletions
diff --git a/src/gallium/auxiliary/cso_cache/cso_context.c b/src/gallium/auxiliary/cso_cache/cso_context.c index 4a54cff97a..6ffcce4dc6 100644 --- a/src/gallium/auxiliary/cso_cache/cso_context.c +++ b/src/gallium/auxiliary/cso_cache/cso_context.c @@ -316,7 +316,7 @@ void cso_destroy_context( struct cso_context *ctx ) static struct pipe_sampler_view *views[PIPE_MAX_SHADER_SAMPLER_VIEWS] = { NULL }; static void *zeros[PIPE_MAX_SAMPLERS] = { NULL }; struct pipe_screen *scr = ctx->pipe->screen; - unsigned sh; + enum pipe_shader_type sh; for (sh = 0; sh < PIPE_SHADER_TYPES; sh++) { int maxsam = scr->get_shader_param(scr, sh, PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS); @@ -1207,7 +1207,8 @@ cso_single_sampler(struct cso_context *ctx, unsigned shader_stage, * Send staged sampler state to the driver. */ void -cso_single_sampler_done(struct cso_context *ctx, unsigned shader_stage) +cso_single_sampler_done(struct cso_context *ctx, + enum pipe_shader_type shader_stage) { struct sampler_info *info = &ctx->samplers[shader_stage]; const unsigned old_nr_samplers = info->nr_samplers; @@ -1233,7 +1234,7 @@ cso_single_sampler_done(struct cso_context *ctx, unsigned shader_stage) */ enum pipe_error cso_set_samplers(struct cso_context *ctx, - unsigned shader_stage, + enum pipe_shader_type shader_stage, unsigned nr, const struct pipe_sampler_state **templates) { diff --git a/src/gallium/auxiliary/cso_cache/cso_context.h b/src/gallium/auxiliary/cso_cache/cso_context.h index a4309c7684..5c9cb5a632 100644 --- a/src/gallium/auxiliary/cso_cache/cso_context.h +++ b/src/gallium/auxiliary/cso_cache/cso_context.h @@ -60,7 +60,7 @@ enum pipe_error cso_set_rasterizer( struct cso_context *cso, enum pipe_error cso_set_samplers(struct cso_context *cso, - unsigned shader_stage, + enum pipe_shader_type shader_stage, unsigned count, const struct pipe_sampler_state **states); @@ -73,7 +73,8 @@ cso_single_sampler(struct cso_context *cso, unsigned shader_stage, unsigned idx, const struct pipe_sampler_state *states); void -cso_single_sampler_done(struct cso_context *cso, unsigned shader_stage); +cso_single_sampler_done(struct cso_context *cso, + enum pipe_shader_type shader_stage); enum pipe_error cso_set_vertex_elements(struct cso_context *ctx, diff --git a/src/gallium/auxiliary/draw/draw_pipe_aaline.c b/src/gallium/auxiliary/draw/draw_pipe_aaline.c index a5f07236e8..1ea77da90e 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_aaline.c +++ b/src/gallium/auxiliary/draw/draw_pipe_aaline.c @@ -118,10 +118,12 @@ struct aaline_stage void (*driver_bind_fs_state)(struct pipe_context *, void *); void (*driver_delete_fs_state)(struct pipe_context *, void *); - void (*driver_bind_sampler_states)(struct pipe_context *, unsigned, unsigned, + void (*driver_bind_sampler_states)(struct pipe_context *, + enum pipe_shader_type, unsigned, unsigned, void **); - void (*driver_set_sampler_views)(struct pipe_context *, unsigned shader, + void (*driver_set_sampler_views)(struct pipe_context *, + enum pipe_shader_type shader, unsigned start, unsigned count, struct pipe_sampler_view **); }; @@ -884,7 +886,8 @@ aaline_delete_fs_state(struct pipe_context *pipe, void *fs) static void -aaline_bind_sampler_states(struct pipe_context *pipe, unsigned shader, +aaline_bind_sampler_states(struct pipe_context *pipe, + enum pipe_shader_type shader, unsigned start, unsigned num, void **sampler) { struct aaline_stage *aaline = aaline_stage_from_pipe(pipe); diff --git a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c index 0298334a28..ed94083f06 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c +++ b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c @@ -99,7 +99,8 @@ struct pstip_stage void (*driver_bind_fs_state)(struct pipe_context *, void *); void (*driver_delete_fs_state)(struct pipe_context *, void *); - void (*driver_bind_sampler_states)(struct pipe_context *, unsigned, + void (*driver_bind_sampler_states)(struct pipe_context *, + enum pipe_shader_type, unsigned, unsigned, void **); void (*driver_set_sampler_views)(struct pipe_context *, @@ -195,7 +196,6 @@ pstip_first_tri(struct draw_stage *stage, struct prim_header *header) stage->tri(stage, header); return; } - /* how many samplers? */ /* we'll use sampler/texture[pstip->sampler_unit] for the stipple */ @@ -374,7 +374,8 @@ pstip_delete_fs_state(struct pipe_context *pipe, void *fs) static void -pstip_bind_sampler_states(struct pipe_context *pipe, unsigned shader, +pstip_bind_sampler_states(struct pipe_context *pipe, + enum pipe_shader_type shader, unsigned start, unsigned num, void **sampler) { struct pstip_stage *pstip = pstip_stage_from_pipe(pipe); diff --git a/src/gallium/drivers/ddebug/dd_context.c b/src/gallium/drivers/ddebug/dd_context.c index 4423e904dc..25c6b5f75a 100644 --- a/src/gallium/drivers/ddebug/dd_context.c +++ b/src/gallium/drivers/ddebug/dd_context.c @@ -230,7 +230,8 @@ DD_CSO_CREATE(sampler, sampler) DD_CSO_DELETE(sampler) static void -dd_context_bind_sampler_states(struct pipe_context *_pipe, unsigned shader, +dd_context_bind_sampler_states(struct pipe_context *_pipe, + enum pipe_shader_type shader, unsigned start, unsigned count, void **states) { struct dd_context *dctx = dd_context(_pipe); diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_texture.c b/src/gallium/drivers/freedreno/a2xx/fd2_texture.c index 6e4b5a5e72..932383a528 100644 --- a/src/gallium/drivers/freedreno/a2xx/fd2_texture.c +++ b/src/gallium/drivers/freedreno/a2xx/fd2_texture.c @@ -103,7 +103,7 @@ fd2_sampler_state_create(struct pipe_context *pctx, static void fd2_sampler_states_bind(struct pipe_context *pctx, - unsigned shader, unsigned start, + enum pipe_shader_type shader, unsigned start, unsigned nr, void **hwcso) { if (!hwcso) diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_texture.c b/src/gallium/drivers/freedreno/a3xx/fd3_texture.c index ea2d34177a..94caaedae4 100644 --- a/src/gallium/drivers/freedreno/a3xx/fd3_texture.c +++ b/src/gallium/drivers/freedreno/a3xx/fd3_texture.c @@ -143,7 +143,7 @@ fd3_sampler_state_create(struct pipe_context *pctx, static void fd3_sampler_states_bind(struct pipe_context *pctx, - unsigned shader, unsigned start, + enum pipe_shader_type shader, unsigned start, unsigned nr, void **hwcso) { struct fd_context *ctx = fd_context(pctx); diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_texture.c b/src/gallium/drivers/freedreno/a4xx/fd4_texture.c index e62c732313..bad56fec83 100644 --- a/src/gallium/drivers/freedreno/a4xx/fd4_texture.c +++ b/src/gallium/drivers/freedreno/a4xx/fd4_texture.c @@ -144,7 +144,7 @@ fd4_sampler_state_create(struct pipe_context *pctx, static void fd4_sampler_states_bind(struct pipe_context *pctx, - unsigned shader, unsigned start, + enum pipe_shader_type shader, unsigned start, unsigned nr, void **hwcso) { struct fd_context *ctx = fd_context(pctx); diff --git a/src/gallium/drivers/freedreno/freedreno_texture.c b/src/gallium/drivers/freedreno/freedreno_texture.c index b506595192..884d7b0481 100644 --- a/src/gallium/drivers/freedreno/freedreno_texture.c +++ b/src/gallium/drivers/freedreno/freedreno_texture.c @@ -86,7 +86,7 @@ static void set_sampler_views(struct fd_texture_stateobj *tex, void fd_sampler_states_bind(struct pipe_context *pctx, - unsigned shader, unsigned start, + enum pipe_shader_type shader, unsigned start, unsigned nr, void **hwcso) { struct fd_context *ctx = fd_context(pctx); diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c index 2efa14e3f1..0290c0fd33 100644 --- a/src/gallium/drivers/i915/i915_state.c +++ b/src/gallium/drivers/i915/i915_state.c @@ -358,7 +358,8 @@ static void i915_bind_fragment_sampler_states(struct pipe_context *pipe, static void -i915_bind_sampler_states(struct pipe_context *pipe, unsigned shader, +i915_bind_sampler_states(struct pipe_context *pipe, + enum pipe_shader_type shader, unsigned start, unsigned num_samplers, void **samplers) { diff --git a/src/gallium/drivers/ilo/ilo_state.c b/src/gallium/drivers/ilo/ilo_state.c index 7693133a1b..e05d49f7bf 100644 --- a/src/gallium/drivers/ilo/ilo_state.c +++ b/src/gallium/drivers/ilo/ilo_state.c @@ -1052,7 +1052,8 @@ ilo_create_sampler_state(struct pipe_context *pipe, } static void -ilo_bind_sampler_states(struct pipe_context *pipe, unsigned shader, +ilo_bind_sampler_states(struct pipe_context *pipe, + enum pipe_shader_type shader, unsigned start, unsigned count, void **samplers) { struct ilo_state_vector *vec = &ilo_context(pipe)->state_vector; diff --git a/src/gallium/drivers/llvmpipe/lp_state_sampler.c b/src/gallium/drivers/llvmpipe/lp_state_sampler.c index 665cd9ed47..6dd520f65e 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_sampler.c +++ b/src/gallium/drivers/llvmpipe/lp_state_sampler.c @@ -66,7 +66,7 @@ llvmpipe_create_sampler_state(struct pipe_context *pipe, static void llvmpipe_bind_sampler_states(struct pipe_context *pipe, - unsigned shader, + enum pipe_shader_type shader, unsigned start, unsigned num, void **samplers) diff --git a/src/gallium/drivers/noop/noop_state.c b/src/gallium/drivers/noop/noop_state.c index 0c0ad9f370..ed964ddaf9 100644 --- a/src/gallium/drivers/noop/noop_state.c +++ b/src/gallium/drivers/noop/noop_state.c @@ -130,7 +130,8 @@ static void noop_set_sampler_views(struct pipe_context *ctx, unsigned shader, { } -static void noop_bind_sampler_states(struct pipe_context *ctx, unsigned shader, +static void noop_bind_sampler_states(struct pipe_context *ctx, + enum pipe_shader_type shader, unsigned start, unsigned count, void **states) { diff --git a/src/gallium/drivers/nouveau/nv30/nv30_texture.c b/src/gallium/drivers/nouveau/nv30/nv30_texture.c index 4f4f87e2ce..e5d3db39f1 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_texture.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_texture.c @@ -188,7 +188,7 @@ nv30_sampler_state_delete(struct pipe_context *pipe, void *hwcso) static void nv30_bind_sampler_states(struct pipe_context *pipe, - unsigned shader, unsigned start_slot, + enum pipe_shader_type shader, unsigned start_slot, unsigned num_samplers, void **samplers) { switch (shader) { @@ -198,6 +198,9 @@ nv30_bind_sampler_states(struct pipe_context *pipe, case PIPE_SHADER_FRAGMENT: nv30_fragtex_sampler_states_bind(pipe, num_samplers, samplers); break; + default: + assert(!"unexpected shader type"); + break; } } diff --git a/src/gallium/drivers/nouveau/nv50/nv50_state.c b/src/gallium/drivers/nouveau/nv50/nv50_state.c index b6741140e5..86674673e9 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_state.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_state.c @@ -633,7 +633,7 @@ nv50_gp_sampler_states_bind(struct pipe_context *pipe, unsigned nr, void **s) static void nv50_bind_sampler_states(struct pipe_context *pipe, - unsigned shader, unsigned start, + enum pipe_shader_type shader, unsigned start, unsigned num_samplers, void **samplers) { assert(start == 0); @@ -647,6 +647,9 @@ nv50_bind_sampler_states(struct pipe_context *pipe, case PIPE_SHADER_FRAGMENT: nv50_fp_sampler_states_bind(pipe, num_samplers, samplers); break; + default: + assert(!"unexpected shader type"); + break; } } diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c index b9ac9f49ad..0d971f3f2e 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c @@ -426,7 +426,8 @@ nvc0_sampler_state_delete(struct pipe_context *pipe, void *hwcso) } static inline void -nvc0_stage_sampler_states_bind(struct nvc0_context *nvc0, int s, +nvc0_stage_sampler_states_bind(struct nvc0_context *nvc0, + enum pipe_shader_type s, unsigned nr, void **hwcso) { unsigned i; @@ -456,7 +457,7 @@ nvc0_stage_sampler_states_bind(struct nvc0_context *nvc0, int s, static void nvc0_stage_sampler_states_bind_range(struct nvc0_context *nvc0, - const unsigned s, + const enum pipe_shader_type s, unsigned start, unsigned nr, void **cso) { const unsigned end = start + nr; @@ -497,7 +498,8 @@ nvc0_stage_sampler_states_bind_range(struct nvc0_context *nvc0, } static void -nvc0_bind_sampler_states(struct pipe_context *pipe, unsigned shader, +nvc0_bind_sampler_states(struct pipe_context *pipe, + enum pipe_shader_type shader, unsigned start, unsigned nr, void **s) { switch (shader) { @@ -526,6 +528,9 @@ nvc0_bind_sampler_states(struct pipe_context *pipe, unsigned shader, start, nr, s); nvc0_context(pipe)->dirty_cp |= NVC0_NEW_CP_SAMPLERS; break; + default: + assert(!"unexpected shader type"); + break; } } diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index 01ccd46f70..7c1aed8ff8 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -1469,7 +1469,7 @@ static void* } static void r300_bind_sampler_states(struct pipe_context* pipe, - unsigned shader, + enum pipe_shader_type shader, unsigned start, unsigned count, void** states) { diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index a5341c3b42..fd8eb95af3 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -408,7 +408,7 @@ void r600_sampler_states_dirty(struct r600_context *rctx, } static void r600_bind_sampler_states(struct pipe_context *pipe, - unsigned shader, + enum pipe_shader_type shader, unsigned start, unsigned count, void **states) { diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index 0e026e957c..075d0823e8 100644 --- a/src/gallium/drivers/radeonsi/si_descriptors.c +++ b/src/gallium/drivers/radeonsi/si_descriptors.c @@ -750,7 +750,8 @@ si_images_update_compressed_colortex_mask(struct si_images_info *images) /* SAMPLER STATES */ -static void si_bind_sampler_states(struct pipe_context *ctx, unsigned shader, +static void si_bind_sampler_states(struct pipe_context *ctx, + enum pipe_shader_type shader, unsigned start, unsigned count, void **states) { struct si_context *sctx = (struct si_context *)ctx; diff --git a/src/gallium/drivers/rbug/rbug_context.c b/src/gallium/drivers/rbug/rbug_context.c index 3c2dc698e4..e878241453 100644 --- a/src/gallium/drivers/rbug/rbug_context.c +++ b/src/gallium/drivers/rbug/rbug_context.c @@ -284,7 +284,8 @@ rbug_create_sampler_state(struct pipe_context *_pipe, } static void -rbug_bind_sampler_states(struct pipe_context *_pipe, unsigned shader, +rbug_bind_sampler_states(struct pipe_context *_pipe, + enum pipe_shader_type shader, unsigned start, unsigned count, void **samplers) { diff --git a/src/gallium/drivers/softpipe/sp_state_sampler.c b/src/gallium/drivers/softpipe/sp_state_sampler.c index f824743435..6454f6bcd1 100644 --- a/src/gallium/drivers/softpipe/sp_state_sampler.c +++ b/src/gallium/drivers/softpipe/sp_state_sampler.c @@ -49,7 +49,7 @@ */ static void softpipe_bind_sampler_states(struct pipe_context *pipe, - unsigned shader, + enum pipe_shader_type shader, unsigned start, unsigned num, void **samplers) diff --git a/src/gallium/drivers/svga/svga_pipe_sampler.c b/src/gallium/drivers/svga/svga_pipe_sampler.c index 42e4fa5a69..db598799ac 100644 --- a/src/gallium/drivers/svga/svga_pipe_sampler.c +++ b/src/gallium/drivers/svga/svga_pipe_sampler.c @@ -286,7 +286,7 @@ svga_create_sampler_state(struct pipe_context *pipe, static void svga_bind_sampler_states(struct pipe_context *pipe, - unsigned shader, + enum pipe_shader_type shader, unsigned start, unsigned num, void **samplers) diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp index 4c9a4327e2..f9d8ea84ee 100644 --- a/src/gallium/drivers/swr/swr_state.cpp +++ b/src/gallium/drivers/swr/swr_state.cpp @@ -235,7 +235,7 @@ swr_create_sampler_state(struct pipe_context *pipe, static void swr_bind_sampler_states(struct pipe_context *pipe, - unsigned shader, + enum pipe_shader_type shader, unsigned start, unsigned num, void **samplers) diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index ef36f5faa4..7d3329e768 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -377,7 +377,7 @@ trace_context_create_sampler_state(struct pipe_context *_pipe, static void trace_context_bind_sampler_states(struct pipe_context *_pipe, - unsigned shader, + enum pipe_shader_type shader, unsigned start, unsigned num_states, void **states) diff --git a/src/gallium/drivers/vc4/vc4_state.c b/src/gallium/drivers/vc4/vc4_state.c index 19aae35c65..5706765c2e 100644 --- a/src/gallium/drivers/vc4/vc4_state.c +++ b/src/gallium/drivers/vc4/vc4_state.c @@ -559,7 +559,7 @@ vc4_create_sampler_state(struct pipe_context *pctx, static void vc4_sampler_states_bind(struct pipe_context *pctx, - unsigned shader, unsigned start, + enum pipe_shader_type shader, unsigned start, unsigned nr, void **hwcso) { struct vc4_context *vc4 = vc4_context(pctx); diff --git a/src/gallium/drivers/virgl/virgl_context.c b/src/gallium/drivers/virgl/virgl_context.c index 615bb507af..625baf99af 100644 --- a/src/gallium/drivers/virgl/virgl_context.c +++ b/src/gallium/drivers/virgl/virgl_context.c @@ -765,7 +765,8 @@ static void virgl_delete_sampler_state(struct pipe_context *ctx, } static void virgl_bind_sampler_states(struct pipe_context *ctx, - unsigned shader, unsigned start_slot, + enum pipe_shader_type shader, + unsigned start_slot, unsigned num_samplers, void **samplers) { diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 5359164ee9..9c9a126ad0 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -193,8 +193,9 @@ struct pipe_context { void * (*create_sampler_state)(struct pipe_context *, const struct pipe_sampler_state *); void (*bind_sampler_states)(struct pipe_context *, - unsigned shader, unsigned start_slot, - unsigned num_samplers, void **samplers); + enum pipe_shader_type shader, + unsigned start_slot, unsigned num_samplers, + void **samplers); void (*delete_sampler_state)(struct pipe_context *, void *); void * (*create_rasterizer_state)(struct pipe_context *, diff --git a/src/mesa/state_tracker/st_atom_sampler.c b/src/mesa/state_tracker/st_atom_sampler.c index 88ae7a09e4..6b36ac74aa 100644 --- a/src/mesa/state_tracker/st_atom_sampler.c +++ b/src/mesa/state_tracker/st_atom_sampler.c @@ -237,7 +237,7 @@ convert_sampler(struct st_context *st, */ static void update_shader_samplers(struct st_context *st, - unsigned shader_stage, + enum pipe_shader_type shader_stage, const struct gl_program *prog, unsigned max_units, struct pipe_sampler_state *samplers, |