Mesa (master): i965/fs: Don't swizzle the results of textureSize().

Kenneth Graunke kwg at kemper.freedesktop.org
Sun Dec 18 20:05:27 UTC 2011


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Dec  6 12:39:54 2011 -0800

i965/fs: Don't swizzle the results of textureSize().

Fixes a regression since d2235b0f4681f75d562131d655a6d7b7033d2d8b,
in my new textureSize sampler(1DArrayShadow|2DShadow|2DArrayShadow)
piglit tests, though I'm not honestly sure how this ever worked.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>

---

 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index 2085727..718ca52 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -1235,6 +1235,9 @@ fs_visitor::swizzle_result(ir_texture *ir, fs_reg orig_val, int sampler)
 {
    this->result = orig_val;
 
+   if (ir->op == ir_txs)
+      return;
+
    if (ir->type == glsl_type::float_type) {
       /* Ignore DEPTH_TEXTURE_MODE swizzling. */
       assert(ir->sampler->type->sampler_shadow);




More information about the mesa-commit mailing list