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@lists.freedesktop.org>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
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,
.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,
.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,