i965/fs: Fix return value of fs_inst::regs_read() for BAD_FILE.
authorFrancisco Jerez <currojerez@riseup.net>
Thu, 16 Jul 2015 12:58:56 +0000 (15:58 +0300)
committerFrancisco Jerez <currojerez@riseup.net>
Wed, 29 Jul 2015 11:12:46 +0000 (14:12 +0300)
Typically BAD_FILE sources are used to mark a source as not present
what implies that no registers are read.  This will become much more
frequent with logical send opcodes which have a large number of
sources, many of them optionally used and marked as BAD_FILE when they
aren't applicable.  It will prove to be useful to be able to rely on
the value of regs_read() regardless of whether a source is present or
not.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/mesa/drivers/dri/i965/brw_fs.cpp

index 9d702a6..57e4290 100644 (file)
@@ -727,6 +727,7 @@ fs_inst::regs_read(int arg) const
 
    switch (src[arg].file) {
    case BAD_FILE:
+      return 0;
    case UNIFORM:
    case IMM:
       return 1;