i965/fs: Return zero from fs_inst::components_read for non-present sources.

This makes it easier for the caller to find out how many scalar
components are actually read by the instruction.  As a bonus we no
longer need to special-case BAD_FILE in the implementation of
fs_inst::regs_read.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Francisco Jerez 2016-08-12 18:33:58 -07:00
parent 0c754d1c42
commit 61a02fb74c
1 changed files with 5 additions and 2 deletions

View File

@ -715,6 +715,10 @@ fs_inst::is_partial_write() const
unsigned
fs_inst::components_read(unsigned i) const
{
/* Return zero if the source is not present. */
if (src[i].file == BAD_FILE)
return 0;
switch (opcode) {
case FS_OPCODE_LINTERP:
if (i == 0)
@ -895,11 +899,10 @@ fs_inst::regs_read(int arg) const
}
switch (src[arg].file) {
case BAD_FILE:
return 0;
case UNIFORM:
case IMM:
return 1;
case BAD_FILE:
case ARF:
case FIXED_GRF:
case VGRF: