i965: Disable the unlit centroid workaround on Gen7.
Once upon a time (commit8313f44409
) Paul added code for the unlit centroid workaround (WaCopyUnlitCentroidBarys). His commit message claims it fixed the EXT_framebuffer_multisample/interpolation {2,4} {centroid-deriv,centroid-deriv-disabled} piglit tests but does not say on which platform, though he cites the IVB PRM. "3DSTATE_WM [DevIVB, DevHSW]" says "[DevIVB]: Workaround: When Centroid Barycentric mode is required, HW may produce incorrect interpolation results when a 2X2 pixels have unlit pixels." I later disabled it for Haswell (commitf6db414f3c
) with no known ill effects. The Sandybridge page does not have this text, but the workarounds database (see WaCopyUnlitCentroidBarys) says the issues applies *only* to Sandybridge, and in fact in commit1a2de7dce8
I note that disabling the workaround on Sandybridge causes the tests Paul originally mentioned to fail. So this is, and always has been, a huge confusing mess. Disabling the workaround indeed causes the tests Paul originally mentioned to fail on Sandybridge but not on Ivybridge/Baytrail. On Ivybridge: total instructions in shared programs: 6914901 -> 6909599 (-0.08%) instructions in affected programs: 106766 -> 101464 (-4.97%) helped: 884 total cycles in shared programs: 70874764 -> 70813774 (-0.09%) cycles in affected programs: 794144 -> 733154 (-7.68%) helped: 688 HURT: 186 LOST: 1 GAINED: 6 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
6db93cd167
commit
c3211ae093
|
@ -116,7 +116,6 @@ static const struct brw_device_info brw_device_info_snb_gt2 = {
|
|||
|
||||
static const struct brw_device_info brw_device_info_ivb_gt1 = {
|
||||
GEN7_FEATURES, .is_ivybridge = true, .gt = 1,
|
||||
.needs_unlit_centroid_workaround = true,
|
||||
.num_slices = 1,
|
||||
.max_vs_threads = 36,
|
||||
.max_hs_threads = 36,
|
||||
|
@ -137,7 +136,6 @@ static const struct brw_device_info brw_device_info_ivb_gt1 = {
|
|||
|
||||
static const struct brw_device_info brw_device_info_ivb_gt2 = {
|
||||
GEN7_FEATURES, .is_ivybridge = true, .gt = 2,
|
||||
.needs_unlit_centroid_workaround = true,
|
||||
.num_slices = 1,
|
||||
.max_vs_threads = 128,
|
||||
.max_hs_threads = 128,
|
||||
|
@ -158,7 +156,6 @@ static const struct brw_device_info brw_device_info_ivb_gt2 = {
|
|||
|
||||
static const struct brw_device_info brw_device_info_byt = {
|
||||
GEN7_FEATURES, .is_baytrail = true, .gt = 1,
|
||||
.needs_unlit_centroid_workaround = true,
|
||||
.num_slices = 1,
|
||||
.has_llc = false,
|
||||
.max_vs_threads = 36,
|
||||
|
|
Loading…
Reference in New Issue