i965/fs: Don't CSE render target messages with different target index.
authorFrancisco Jerez <currojerez@riseup.net>
Thu, 7 Jul 2016 03:49:58 +0000 (20:49 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 26 Aug 2016 01:36:08 +0000 (18:36 -0700)
We weren't checking the fs_inst::target field when comparing whether
two instructions are equal.  For FB writes it doesn't matter because
they aren't CSE-able anyway, but this would have become a problem with
FB reads which are expression-like instructions.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs_cse.cpp

index befbf140a5ec0b3ccee9c3ce47f668ad3c3b8fde..0c769ddfb45a45bbf85febbf2bbf1f5d23a855f8 100644 (file)
@@ -191,6 +191,7 @@ instructions_match(fs_inst *a, fs_inst *b, bool *negate)
           a->header_size == b->header_size &&
           a->shadow_compare == b->shadow_compare &&
           a->pi_noperspective == b->pi_noperspective &&
+          a->target == b->target &&
           a->sources == b->sources &&
           operands_match(a, b, negate);
 }