summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_wm_state.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2012-08-27 14:35:01 -0700
committerEric Anholt <eric@anholt.net>2012-10-08 08:50:27 -0700
commit97615b2d8c7c3cea6fd3a43bcb1739a96e2046c4 (patch)
treee8b5b5bedbf9ec120b2b2cbecce3fda3e49795e8 /src/mesa/drivers/dri/i965/brw_wm_state.c
parent014aaa97d3d7f78629e6e030953be0e9fb7f33dd (diff)
downloadexternal_mesa3d-97615b2d8c7c3cea6fd3a43bcb1739a96e2046c4.zip
external_mesa3d-97615b2d8c7c3cea6fd3a43bcb1739a96e2046c4.tar.gz
external_mesa3d-97615b2d8c7c3cea6fd3a43bcb1739a96e2046c4.tar.bz2
i965: Replace brw_wm_* with dumping code into the fs_visitor.
This makes a giant pile of code newly dead. It also fixes TXB on newer chipsets, which has been totally broken (I now have a piglit test for that). It passes the same set of Ian's ARB_fragment_program tests. It also improves high-settings ETQW performance by 3.2 +/- 1.9% (n=3), thanks to better optimization and having 8-wide along with 16-wide shaders. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=24355 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_wm_state.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm_state.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm_state.c b/src/mesa/drivers/dri/i965/brw_wm_state.c
index dd67795..ea2dea9 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_state.c
@@ -163,23 +163,8 @@ brw_upload_wm_unit(struct brw_context *brw)
/* _NEW_COLOR */
wm->wm5.program_uses_killpixel = fp->UsesKill || ctx->Color.AlphaEnabled;
-
- /* BRW_NEW_FRAGMENT_PROGRAM
- *
- * If using the fragment shader backend, the program is always
- * 8-wide. If not, it's always 16.
- */
- if (ctx->Shader._CurrentFragmentProgram) {
- struct brw_shader *shader = (struct brw_shader *)
- ctx->Shader._CurrentFragmentProgram->_LinkedShaders[MESA_SHADER_FRAGMENT];
-
- if (shader != NULL && shader->ir != NULL) {
- wm->wm5.enable_8_pix = 1;
- if (brw->wm.prog_data->prog_offset_16)
- wm->wm5.enable_16_pix = 1;
- }
- }
- if (!wm->wm5.enable_8_pix)
+ wm->wm5.enable_8_pix = 1;
+ if (brw->wm.prog_data->prog_offset_16)
wm->wm5.enable_16_pix = 1;
wm->wm5.max_threads = brw->max_wm_threads - 1;