Mesa (master): i965/ivb: Flag RG32F quirk for texture gather regardless of swizzles

Chris Forbes chrisf at kemper.freedesktop.org
Sun Oct 6 00:04:33 UTC 2013


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

Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Sat Oct  5 23:26:07 2013 +1300

i965/ivb: Flag RG32F quirk for texture gather regardless of swizzles

As of ARB_gpu_shader5, textureGather doesn't always read the
post-swizzle RED channel -- so we can't just look at the red swizzle
state.

Theoretically we could only flag the quirk if *some* green swizzle is in
use, but that's probably more trouble than it's worth.

Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_wm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index 6ce58dd..ebf6b9c 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -349,7 +349,7 @@ brw_populate_sampler_prog_key_data(struct gl_context *ctx,
          /* gather4's channel select for green from RG32F is broken;
           * requires a shader w/a on IVB; fixable with just SCS on HSW. */
          if (brw->gen >= 7 && !brw->is_haswell && prog->UsesGather) {
-            if (img->InternalFormat == GL_RG32F && GET_SWZ(t->_Swizzle, 0) == 1)
+            if (img->InternalFormat == GL_RG32F)
                key->gather_channel_quirk_mask |= 1 << s;
          }
       }




More information about the mesa-commit mailing list