summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/a3xx
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2015-06-08 14:23:49 -0400
committerRob Clark <[email protected]>2015-06-21 08:00:58 -0400
commit0f008082b184072159e5aedc7fc103efba8740ed (patch)
tree1c866694c87af6b7d38e67d3fd03480eeb6bca8e /src/gallium/drivers/freedreno/a3xx
parent457f7c2a2a93b45396ac66e0d4b3896d2db8fdf3 (diff)
freedreno: remove int sampler shader variants
We get this information from NIR (which gets it from sview decl in tgsi when translating from tgsi), so no need to maintain shader variants for this. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/a3xx')
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_context.h3
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_draw.c11
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_texture.c35
3 files changed, 4 insertions, 45 deletions
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_context.h b/src/gallium/drivers/freedreno/a3xx/fd3_context.h
index 4e3f521716e..77e4605e550 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_context.h
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_context.h
@@ -105,9 +105,6 @@ struct fd3_context {
*/
unsigned fsaturate_s, fsaturate_t, fsaturate_r;
- /* bitmask of integer texture samplers */
- uint16_t vinteger_s, finteger_s;
-
/* some state changes require a different shader variant. Keep
* track of this so we know when we need to re-emit shader state
* due to variant change. See fixup_shader_state()
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_draw.c b/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
index b522cf86695..b5838b58eb2 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
@@ -104,14 +104,12 @@ fixup_shader_state(struct fd_context *ctx, struct ir3_shader_key *key)
if (last_key->has_per_samp || key->has_per_samp) {
if ((last_key->vsaturate_s != key->vsaturate_s) ||
(last_key->vsaturate_t != key->vsaturate_t) ||
- (last_key->vsaturate_r != key->vsaturate_r) ||
- (last_key->vinteger_s != key->vinteger_s))
+ (last_key->vsaturate_r != key->vsaturate_r))
ctx->prog.dirty |= FD_SHADER_DIRTY_VP;
if ((last_key->fsaturate_s != key->fsaturate_s) ||
(last_key->fsaturate_t != key->fsaturate_t) ||
- (last_key->fsaturate_r != key->fsaturate_r) ||
- (last_key->finteger_s != key->finteger_s))
+ (last_key->fsaturate_r != key->fsaturate_r))
ctx->prog.dirty |= FD_SHADER_DIRTY_FP;
}
@@ -140,16 +138,13 @@ fd3_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info)
// TODO set .half_precision based on render target format,
// ie. float16 and smaller use half, float32 use full..
.half_precision = !!(fd_mesa_debug & FD_DBG_FRAGHALF),
- .has_per_samp = (fd3_ctx->fsaturate || fd3_ctx->vsaturate ||
- fd3_ctx->vinteger_s || fd3_ctx->finteger_s),
+ .has_per_samp = (fd3_ctx->fsaturate || fd3_ctx->vsaturate),
.vsaturate_s = fd3_ctx->vsaturate_s,
.vsaturate_t = fd3_ctx->vsaturate_t,
.vsaturate_r = fd3_ctx->vsaturate_r,
.fsaturate_s = fd3_ctx->fsaturate_s,
.fsaturate_t = fd3_ctx->fsaturate_t,
.fsaturate_r = fd3_ctx->fsaturate_r,
- .vinteger_s = fd3_ctx->vinteger_s,
- .finteger_s = fd3_ctx->finteger_s,
},
.rasterflat = ctx->rasterizer && ctx->rasterizer->flatshade,
.sprite_coord_enable = ctx->rasterizer ? ctx->rasterizer->sprite_coord_enable : 0,
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_texture.c b/src/gallium/drivers/freedreno/a3xx/fd3_texture.c
index 6f44ee3c08e..a278bf5c603 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_texture.c
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_texture.c
@@ -263,44 +263,11 @@ fd3_sampler_view_create(struct pipe_context *pctx, struct pipe_resource *prsc,
return &so->base;
}
-static void
-fd3_set_sampler_views(struct pipe_context *pctx, unsigned shader,
- unsigned start, unsigned nr,
- struct pipe_sampler_view **views)
-{
- struct fd_context *ctx = fd_context(pctx);
- struct fd3_context *fd3_ctx = fd3_context(ctx);
- struct fd_texture_stateobj *tex;
- uint16_t integer_s = 0, *ptr;
- int i;
-
- fd_set_sampler_views(pctx, shader, start, nr, views);
-
- switch (shader) {
- case PIPE_SHADER_FRAGMENT:
- tex = &ctx->fragtex;
- ptr = &fd3_ctx->finteger_s;
- break;
- case PIPE_SHADER_VERTEX:
- tex = &ctx->verttex;
- ptr = &fd3_ctx->vinteger_s;
- break;
- default:
- return;
- }
-
- for (i = 0; i < tex->num_textures; i++)
- if (util_format_is_pure_integer(tex->textures[i]->format))
- integer_s |= 1 << i;
- *ptr = integer_s;
-}
-
-
void
fd3_texture_init(struct pipe_context *pctx)
{
pctx->create_sampler_state = fd3_sampler_state_create;
pctx->bind_sampler_states = fd3_sampler_states_bind;
pctx->create_sampler_view = fd3_sampler_view_create;
- pctx->set_sampler_views = fd3_set_sampler_views;
+ pctx->set_sampler_views = fd_set_sampler_views;
}