Mesa (master): i965: Disable unlit-centroid workaround on Gen < 6.

Matt Turner mattst88 at kemper.freedesktop.org
Wed Dec 10 18:19:26 UTC 2014


Module: Mesa
Branch: master
Commit: 1a2de7dce8fcff807a2b42b7197d11b28192fa3e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a2de7dce8fcff807a2b42b7197d11b28192fa3e

Author: Matt Turner <mattst88 at gmail.com>
Date:   Mon Dec  8 22:59:17 2014 -0800

i965: Disable unlit-centroid workaround on Gen < 6.

Back to the original commit (8313f444) adding the workaround, we were
enabling it on gens <= 7, even though gens <= 5 can't do multisampling.

I cannot find documentation that says that Sandybridge needs this
workaround but in practice disabling it causes these piglit tests to
fail:

EXT_framebuffer_multisample/interpolation {2,4} centroid-deriv{,-disabled}

On Ironlake:

total instructions in shared programs: 4358478 -> 4349671 (-0.20%)
instructions in affected programs:     117680 -> 108873 (-7.48%)

A bunch of shaders in TF2, Portal 2, and L4D2 are cut by 25~30%.

Cc: "10.4" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>

---

 src/mesa/drivers/dri/i965/brw_device_info.c |    3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_device_info.c b/src/mesa/drivers/dri/i965/brw_device_info.c
index bbd907b..65942c2 100644
--- a/src/mesa/drivers/dri/i965/brw_device_info.c
+++ b/src/mesa/drivers/dri/i965/brw_device_info.c
@@ -28,7 +28,6 @@
 static const struct brw_device_info brw_device_info_i965 = {
    .gen = 4,
    .has_negative_rhw_bug = true,
-   .needs_unlit_centroid_workaround = true,
    .max_vs_threads = 16,
    .max_gs_threads = 2,
    .max_wm_threads = 8 * 4,
@@ -42,7 +41,6 @@ static const struct brw_device_info brw_device_info_g4x = {
    .has_pln = true,
    .has_compr4 = true,
    .has_surface_tile_offset = true,
-   .needs_unlit_centroid_workaround = true,
    .is_g4x = true,
    .max_vs_threads = 32,
    .max_gs_threads = 2,
@@ -57,7 +55,6 @@ static const struct brw_device_info brw_device_info_ilk = {
    .has_pln = true,
    .has_compr4 = true,
    .has_surface_tile_offset = true,
-   .needs_unlit_centroid_workaround = true,
    .max_vs_threads = 72,
    .max_gs_threads = 32,
    .max_wm_threads = 12 * 6,




More information about the mesa-commit mailing list