i965/fs: Return more accurate read size for LINTERP from fs_inst::size_read.
authorFrancisco Jerez <currojerez@riseup.net>
Wed, 7 Sep 2016 20:02:55 +0000 (13:02 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Wed, 14 Sep 2016 21:50:54 +0000 (14:50 -0700)
The LINTERP virtual instruction only reads three scalar components
from the first 16B of the second source, we can now teach size_read()
about it since its return value is represented with byte granularity.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/mesa/drivers/dri/i965/brw_fs.cpp

index e18aa72bd2c62180c9a2c2299d2ff563623ee2d1..60907cd20b9723327c17950d09aa2eb9fb2c9a99 100644 (file)
@@ -848,7 +848,7 @@ fs_inst::size_read(int arg) const
 
    case FS_OPCODE_LINTERP:
       if (arg == 1)
-         return REG_SIZE;
+         return 16;
       break;
 
    case SHADER_OPCODE_LOAD_PAYLOAD: