i965/fs: Don't swizzle the results of textureSize().
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 6 Dec 2011 20:39:54 +0000 (12:39 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Sun, 18 Dec 2011 19:59:52 +0000 (11:59 -0800)
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@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp

index 208572784b80eddcc6ff801a859de2730cae5290..718ca52cd7f5850de3a1d388fdc477607b20ef62 100644 (file)
@@ -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);