[Mesa-dev] [PATCH v2 03/19] i965/fs: Fix fs_inst::regs_read() for uniform pull constant loads

Iago Toral itoral at igalia.com
Thu Jun 25 23:01:01 PDT 2015


On Thu, 2015-06-25 at 13:24 -0700, Jason Ekstrand wrote:
> Previously, fs_inst::regs_read() fell back to depending on the register
> width for the second source.  This isn't really correct since it isn't a
> SIMD8 value at all, but a SIMD4x2 value.  This commit changes it to
> explicitly be always one register.
> 
> Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
> 
> v2: Use mlen for determining the number of registers written

I think you meant read instead of written. 

With that change my review stays, I had also missed that skylake
required a header.

Iago

> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 31dfb24..589b74c 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -715,6 +715,12 @@ fs_inst::regs_read(int arg) const
>           return mlen;
>        break;
>  
> +   case FS_OPCODE_UNIFORM_PULL_CONSTANT_LOAD_GEN7:
> +      /* The payload is actually stored in src1 */
> +      if (arg == 1)
> +         return mlen;
> +      break;
> +
>     case FS_OPCODE_LINTERP:
>        if (arg == 0)
>           return exec_size / 4;




More information about the mesa-dev mailing list