Mesa (master): i965: Ignore 'centroid' interpolation qualifier in case of persample shading

Anuj Phogat aphogat at kemper.freedesktop.org
Tue Jan 28 21:35:19 UTC 2014


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

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Wed Jan 22 15:41:58 2014 -0800

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 at lists.freedesktop.org
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Tested-by: Markus Wick <wickmarkus at web.de>
Reviewed-by: Matt Turner <mattst88 at gmail.com>

---

 src/mesa/drivers/dri/i965/brw_wm.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index b7afcf2..a0758d2 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;




More information about the mesa-commit mailing list