summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnuj Phogat <anuj.phogat@gmail.com>2014-01-22 15:41:58 -0800
committerAnuj Phogat <anuj.phogat@gmail.com>2014-01-28 13:32:20 -0800
commitdc2f94bc786768329973403248820a2e5249f102 (patch)
treeb404e37ba8358785b5ea50e62852937fffe476a8
parent10dc994e094fe6e6e1478049c4290b9b839bb97d (diff)
i965: Ignore 'centroid' interpolation qualifier in case of persample shading
I missed this change in commit f5cfb4a. It fixes the incorrect rendering caused in Dolphin Emulator. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73915 Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Tested-by: Markus Wick <wickmarkus@web.de> Reviewed-by: Matt Turner <mattst88@gmail.com>
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index b7afcf28b1e..a0758d2527f 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -62,7 +62,8 @@ brw_compute_barycentric_interp_modes(struct brw_context *brw,
for (attr = 0; attr < VARYING_SLOT_MAX; ++attr) {
enum glsl_interp_qualifier interp_qualifier =
fprog->InterpQualifier[attr];
- bool is_centroid = fprog->IsCentroid & BITFIELD64_BIT(attr);
+ bool is_centroid = (fprog->IsCentroid & BITFIELD64_BIT(attr)) &&
+ !persample_shading;
bool is_sample = (fprog->IsSample & BITFIELD64_BIT(attr)) ||
persample_shading;
bool is_gl_Color = attr == VARYING_SLOT_COL0 || attr == VARYING_SLOT_COL1;