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>
This commit is contained in:
Kai Wasserbäch
2016-08-27 04:08:00 -06:00
committed by Brian Paul
parent ed24d79ed7
commit 7413625ad3
28 changed files with 63 additions and 38 deletions

View File

@@ -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 struct pipe_sampler_view *views[PIPE_MAX_SHADER_SAMPLER_VIEWS] = { NULL };
static void *zeros[PIPE_MAX_SAMPLERS] = { NULL }; static void *zeros[PIPE_MAX_SAMPLERS] = { NULL };
struct pipe_screen *scr = ctx->pipe->screen; struct pipe_screen *scr = ctx->pipe->screen;
unsigned sh; enum pipe_shader_type sh;
for (sh = 0; sh < PIPE_SHADER_TYPES; sh++) { for (sh = 0; sh < PIPE_SHADER_TYPES; sh++) {
int maxsam = scr->get_shader_param(scr, sh, int maxsam = scr->get_shader_param(scr, sh,
PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS); 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. * Send staged sampler state to the driver.
*/ */
void 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]; struct sampler_info *info = &ctx->samplers[shader_stage];
const unsigned old_nr_samplers = info->nr_samplers; 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 enum pipe_error
cso_set_samplers(struct cso_context *ctx, cso_set_samplers(struct cso_context *ctx,
unsigned shader_stage, enum pipe_shader_type shader_stage,
unsigned nr, unsigned nr,
const struct pipe_sampler_state **templates) const struct pipe_sampler_state **templates)
{ {

View File

@@ -60,7 +60,7 @@ enum pipe_error cso_set_rasterizer( struct cso_context *cso,
enum pipe_error enum pipe_error
cso_set_samplers(struct cso_context *cso, cso_set_samplers(struct cso_context *cso,
unsigned shader_stage, enum pipe_shader_type shader_stage,
unsigned count, unsigned count,
const struct pipe_sampler_state **states); 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); unsigned idx, const struct pipe_sampler_state *states);
void 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, enum pipe_error cso_set_vertex_elements(struct cso_context *ctx,

View File

@@ -118,10 +118,12 @@ struct aaline_stage
void (*driver_bind_fs_state)(struct pipe_context *, void *); void (*driver_bind_fs_state)(struct pipe_context *, void *);
void (*driver_delete_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 **); 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, unsigned start, unsigned count,
struct pipe_sampler_view **); struct pipe_sampler_view **);
}; };
@@ -884,7 +886,8 @@ aaline_delete_fs_state(struct pipe_context *pipe, void *fs)
static void 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) unsigned start, unsigned num, void **sampler)
{ {
struct aaline_stage *aaline = aaline_stage_from_pipe(pipe); struct aaline_stage *aaline = aaline_stage_from_pipe(pipe);

View File

@@ -99,7 +99,8 @@ struct pstip_stage
void (*driver_bind_fs_state)(struct pipe_context *, void *); void (*driver_bind_fs_state)(struct pipe_context *, void *);
void (*driver_delete_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 **); unsigned, unsigned, void **);
void (*driver_set_sampler_views)(struct pipe_context *, void (*driver_set_sampler_views)(struct pipe_context *,
@@ -196,7 +197,6 @@ pstip_first_tri(struct draw_stage *stage, struct prim_header *header)
return; return;
} }
/* how many samplers? */ /* how many samplers? */
/* we'll use sampler/texture[pstip->sampler_unit] for the stipple */ /* we'll use sampler/texture[pstip->sampler_unit] for the stipple */
num_samplers = MAX2(pstip->num_samplers, pstip->fs->sampler_unit + 1); num_samplers = MAX2(pstip->num_samplers, pstip->fs->sampler_unit + 1);
@@ -374,7 +374,8 @@ pstip_delete_fs_state(struct pipe_context *pipe, void *fs)
static void 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) unsigned start, unsigned num, void **sampler)
{ {
struct pstip_stage *pstip = pstip_stage_from_pipe(pipe); struct pstip_stage *pstip = pstip_stage_from_pipe(pipe);

View File

@@ -230,7 +230,8 @@ DD_CSO_CREATE(sampler, sampler)
DD_CSO_DELETE(sampler) DD_CSO_DELETE(sampler)
static void 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) unsigned start, unsigned count, void **states)
{ {
struct dd_context *dctx = dd_context(_pipe); struct dd_context *dctx = dd_context(_pipe);

View File

@@ -103,7 +103,7 @@ fd2_sampler_state_create(struct pipe_context *pctx,
static void static void
fd2_sampler_states_bind(struct pipe_context *pctx, fd2_sampler_states_bind(struct pipe_context *pctx,
unsigned shader, unsigned start, enum pipe_shader_type shader, unsigned start,
unsigned nr, void **hwcso) unsigned nr, void **hwcso)
{ {
if (!hwcso) if (!hwcso)

View File

@@ -143,7 +143,7 @@ fd3_sampler_state_create(struct pipe_context *pctx,
static void static void
fd3_sampler_states_bind(struct pipe_context *pctx, fd3_sampler_states_bind(struct pipe_context *pctx,
unsigned shader, unsigned start, enum pipe_shader_type shader, unsigned start,
unsigned nr, void **hwcso) unsigned nr, void **hwcso)
{ {
struct fd_context *ctx = fd_context(pctx); struct fd_context *ctx = fd_context(pctx);

View File

@@ -144,7 +144,7 @@ fd4_sampler_state_create(struct pipe_context *pctx,
static void static void
fd4_sampler_states_bind(struct pipe_context *pctx, fd4_sampler_states_bind(struct pipe_context *pctx,
unsigned shader, unsigned start, enum pipe_shader_type shader, unsigned start,
unsigned nr, void **hwcso) unsigned nr, void **hwcso)
{ {
struct fd_context *ctx = fd_context(pctx); struct fd_context *ctx = fd_context(pctx);

View File

@@ -86,7 +86,7 @@ static void set_sampler_views(struct fd_texture_stateobj *tex,
void void
fd_sampler_states_bind(struct pipe_context *pctx, fd_sampler_states_bind(struct pipe_context *pctx,
unsigned shader, unsigned start, enum pipe_shader_type shader, unsigned start,
unsigned nr, void **hwcso) unsigned nr, void **hwcso)
{ {
struct fd_context *ctx = fd_context(pctx); struct fd_context *ctx = fd_context(pctx);

View File

@@ -358,7 +358,8 @@ static void i915_bind_fragment_sampler_states(struct pipe_context *pipe,
static void 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, unsigned start, unsigned num_samplers,
void **samplers) void **samplers)
{ {

View File

@@ -1052,7 +1052,8 @@ ilo_create_sampler_state(struct pipe_context *pipe,
} }
static void 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) unsigned start, unsigned count, void **samplers)
{ {
struct ilo_state_vector *vec = &ilo_context(pipe)->state_vector; struct ilo_state_vector *vec = &ilo_context(pipe)->state_vector;

View File

@@ -66,7 +66,7 @@ llvmpipe_create_sampler_state(struct pipe_context *pipe,
static void static void
llvmpipe_bind_sampler_states(struct pipe_context *pipe, llvmpipe_bind_sampler_states(struct pipe_context *pipe,
unsigned shader, enum pipe_shader_type shader,
unsigned start, unsigned start,
unsigned num, unsigned num,
void **samplers) void **samplers)

View File

@@ -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, unsigned start, unsigned count,
void **states) void **states)
{ {

View File

@@ -188,7 +188,7 @@ nv30_sampler_state_delete(struct pipe_context *pipe, void *hwcso)
static void static void
nv30_bind_sampler_states(struct pipe_context *pipe, 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) unsigned num_samplers, void **samplers)
{ {
switch (shader) { switch (shader) {
@@ -198,6 +198,9 @@ nv30_bind_sampler_states(struct pipe_context *pipe,
case PIPE_SHADER_FRAGMENT: case PIPE_SHADER_FRAGMENT:
nv30_fragtex_sampler_states_bind(pipe, num_samplers, samplers); nv30_fragtex_sampler_states_bind(pipe, num_samplers, samplers);
break; break;
default:
assert(!"unexpected shader type");
break;
} }
} }

View File

@@ -633,7 +633,7 @@ nv50_gp_sampler_states_bind(struct pipe_context *pipe, unsigned nr, void **s)
static void static void
nv50_bind_sampler_states(struct pipe_context *pipe, nv50_bind_sampler_states(struct pipe_context *pipe,
unsigned shader, unsigned start, enum pipe_shader_type shader, unsigned start,
unsigned num_samplers, void **samplers) unsigned num_samplers, void **samplers)
{ {
assert(start == 0); assert(start == 0);
@@ -647,6 +647,9 @@ nv50_bind_sampler_states(struct pipe_context *pipe,
case PIPE_SHADER_FRAGMENT: case PIPE_SHADER_FRAGMENT:
nv50_fp_sampler_states_bind(pipe, num_samplers, samplers); nv50_fp_sampler_states_bind(pipe, num_samplers, samplers);
break; break;
default:
assert(!"unexpected shader type");
break;
} }
} }

View File

@@ -426,7 +426,8 @@ nvc0_sampler_state_delete(struct pipe_context *pipe, void *hwcso)
} }
static inline void 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 nr, void **hwcso)
{ {
unsigned i; unsigned i;
@@ -456,7 +457,7 @@ nvc0_stage_sampler_states_bind(struct nvc0_context *nvc0, int s,
static void static void
nvc0_stage_sampler_states_bind_range(struct nvc0_context *nvc0, 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) unsigned start, unsigned nr, void **cso)
{ {
const unsigned end = start + nr; const unsigned end = start + nr;
@@ -497,7 +498,8 @@ nvc0_stage_sampler_states_bind_range(struct nvc0_context *nvc0,
} }
static void 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) unsigned start, unsigned nr, void **s)
{ {
switch (shader) { switch (shader) {
@@ -526,6 +528,9 @@ nvc0_bind_sampler_states(struct pipe_context *pipe, unsigned shader,
start, nr, s); start, nr, s);
nvc0_context(pipe)->dirty_cp |= NVC0_NEW_CP_SAMPLERS; nvc0_context(pipe)->dirty_cp |= NVC0_NEW_CP_SAMPLERS;
break; break;
default:
assert(!"unexpected shader type");
break;
} }
} }

View File

@@ -1469,7 +1469,7 @@ static void*
} }
static void r300_bind_sampler_states(struct pipe_context* pipe, static void r300_bind_sampler_states(struct pipe_context* pipe,
unsigned shader, enum pipe_shader_type shader,
unsigned start, unsigned count, unsigned start, unsigned count,
void** states) void** states)
{ {

View File

@@ -408,7 +408,7 @@ void r600_sampler_states_dirty(struct r600_context *rctx,
} }
static void r600_bind_sampler_states(struct pipe_context *pipe, static void r600_bind_sampler_states(struct pipe_context *pipe,
unsigned shader, enum pipe_shader_type shader,
unsigned start, unsigned start,
unsigned count, void **states) unsigned count, void **states)
{ {

View File

@@ -750,7 +750,8 @@ si_images_update_compressed_colortex_mask(struct si_images_info *images)
/* SAMPLER STATES */ /* 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) unsigned start, unsigned count, void **states)
{ {
struct si_context *sctx = (struct si_context *)ctx; struct si_context *sctx = (struct si_context *)ctx;

View File

@@ -284,7 +284,8 @@ rbug_create_sampler_state(struct pipe_context *_pipe,
} }
static void 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, unsigned start, unsigned count,
void **samplers) void **samplers)
{ {

View File

@@ -49,7 +49,7 @@
*/ */
static void static void
softpipe_bind_sampler_states(struct pipe_context *pipe, softpipe_bind_sampler_states(struct pipe_context *pipe,
unsigned shader, enum pipe_shader_type shader,
unsigned start, unsigned start,
unsigned num, unsigned num,
void **samplers) void **samplers)

View File

@@ -286,7 +286,7 @@ svga_create_sampler_state(struct pipe_context *pipe,
static void static void
svga_bind_sampler_states(struct pipe_context *pipe, svga_bind_sampler_states(struct pipe_context *pipe,
unsigned shader, enum pipe_shader_type shader,
unsigned start, unsigned start,
unsigned num, unsigned num,
void **samplers) void **samplers)

View File

@@ -235,7 +235,7 @@ swr_create_sampler_state(struct pipe_context *pipe,
static void static void
swr_bind_sampler_states(struct pipe_context *pipe, swr_bind_sampler_states(struct pipe_context *pipe,
unsigned shader, enum pipe_shader_type shader,
unsigned start, unsigned start,
unsigned num, unsigned num,
void **samplers) void **samplers)

View File

@@ -377,7 +377,7 @@ trace_context_create_sampler_state(struct pipe_context *_pipe,
static void static void
trace_context_bind_sampler_states(struct pipe_context *_pipe, trace_context_bind_sampler_states(struct pipe_context *_pipe,
unsigned shader, enum pipe_shader_type shader,
unsigned start, unsigned start,
unsigned num_states, unsigned num_states,
void **states) void **states)

View File

@@ -559,7 +559,7 @@ vc4_create_sampler_state(struct pipe_context *pctx,
static void static void
vc4_sampler_states_bind(struct pipe_context *pctx, vc4_sampler_states_bind(struct pipe_context *pctx,
unsigned shader, unsigned start, enum pipe_shader_type shader, unsigned start,
unsigned nr, void **hwcso) unsigned nr, void **hwcso)
{ {
struct vc4_context *vc4 = vc4_context(pctx); struct vc4_context *vc4 = vc4_context(pctx);

View File

@@ -765,7 +765,8 @@ static void virgl_delete_sampler_state(struct pipe_context *ctx,
} }
static void virgl_bind_sampler_states(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, unsigned num_samplers,
void **samplers) void **samplers)
{ {

View File

@@ -193,8 +193,9 @@ struct pipe_context {
void * (*create_sampler_state)(struct pipe_context *, void * (*create_sampler_state)(struct pipe_context *,
const struct pipe_sampler_state *); const struct pipe_sampler_state *);
void (*bind_sampler_states)(struct pipe_context *, void (*bind_sampler_states)(struct pipe_context *,
unsigned shader, unsigned start_slot, enum pipe_shader_type shader,
unsigned num_samplers, void **samplers); unsigned start_slot, unsigned num_samplers,
void **samplers);
void (*delete_sampler_state)(struct pipe_context *, void *); void (*delete_sampler_state)(struct pipe_context *, void *);
void * (*create_rasterizer_state)(struct pipe_context *, void * (*create_rasterizer_state)(struct pipe_context *,

View File

@@ -237,7 +237,7 @@ convert_sampler(struct st_context *st,
*/ */
static void static void
update_shader_samplers(struct st_context *st, update_shader_samplers(struct st_context *st,
unsigned shader_stage, enum pipe_shader_type shader_stage,
const struct gl_program *prog, const struct gl_program *prog,
unsigned max_units, unsigned max_units,
struct pipe_sampler_state *samplers, struct pipe_sampler_state *samplers,