From 10e386f4aa3ef8ce1c60ec5be0865cc61bd093e2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Tue, 30 Sep 2014 17:09:13 +0200 Subject: [PATCH] radeonsi: remove interp_at_sample from the key, use TGSI_INTERPOLATE_LOC_SAMPLE MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit st/mesa has the same flag in its shader key, we don't need to do it in the driver anymore. Instead, use TGSI_INTERPOLATE_LOC_SAMPLE, which is what st/mesa sets. Reviewed-by: Michel Dänzer --- src/gallium/drivers/radeonsi/si_shader.c | 4 ++-- src/gallium/drivers/radeonsi/si_shader.h | 1 - src/gallium/drivers/radeonsi/si_state.c | 2 -- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 6372ccfcfe1..69382bd81b2 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -501,7 +501,7 @@ static void declare_input_fs( interp_param = 0; break; case TGSI_INTERPOLATE_LINEAR: - if (si_shader_ctx->shader->key.ps.interp_at_sample) + if (decl->Interp.Location == TGSI_INTERPOLATE_LOC_SAMPLE) interp_param = LLVMGetParam(main_fn, SI_PARAM_LINEAR_SAMPLE); else if (decl->Interp.Location == TGSI_INTERPOLATE_LOC_CENTROID) interp_param = LLVMGetParam(main_fn, SI_PARAM_LINEAR_CENTROID); @@ -515,7 +515,7 @@ static void declare_input_fs( } /* fall through to perspective */ case TGSI_INTERPOLATE_PERSPECTIVE: - if (si_shader_ctx->shader->key.ps.interp_at_sample) + if (decl->Interp.Location == TGSI_INTERPOLATE_LOC_SAMPLE) interp_param = LLVMGetParam(main_fn, SI_PARAM_PERSP_SAMPLE); else if (decl->Interp.Location == TGSI_INTERPOLATE_LOC_CENTROID) interp_param = LLVMGetParam(main_fn, SI_PARAM_PERSP_CENTROID); diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h index c46e649fd3d..d9a89e3fee7 100644 --- a/src/gallium/drivers/radeonsi/si_shader.h +++ b/src/gallium/drivers/radeonsi/si_shader.h @@ -137,7 +137,6 @@ union si_shader_key { unsigned color_two_side:1; unsigned alpha_func:3; unsigned flatshade:1; - unsigned interp_at_sample:1; unsigned alpha_to_one:1; } ps; struct { diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 46dbca3b200..88a50f37651 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -2221,8 +2221,6 @@ static INLINE void si_shader_selector_key(struct pipe_context *ctx, if (sctx->queued.named.rasterizer) { key->ps.color_two_side = sctx->queued.named.rasterizer->two_side; key->ps.flatshade = sctx->queued.named.rasterizer->flatshade; - key->ps.interp_at_sample = sctx->framebuffer.nr_samples > 1 && - sctx->ps_iter_samples == sctx->framebuffer.nr_samples; if (sctx->queued.named.blend) { key->ps.alpha_to_one = sctx->queued.named.blend->alpha_to_one && -- 2.30.2