[Mesa-dev] [PATCH 06/10] i965/fs: Add LINTERP's src0 to fs_inst::regs_read().

Jason Ekstrand jason at jlekstrand.net
Fri Apr 17 11:26:09 PDT 2015


Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

On Tue, Apr 14, 2015 at 4:15 PM, Matt Turner <mattst88 at gmail.com> wrote:
> LINTERP's src0 is PLN's src1, and PLN's src1 reads exec_size / 4
> registers.
>
> Having that information lets us drop the delta_x/y special case code in
> split_virtual_grfs().
> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp | 13 ++-----------
>  1 file changed, 2 insertions(+), 11 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 5c475b2..5ab8701 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -947,6 +947,8 @@ fs_inst::regs_read(int arg) const
>        return mlen;
>     } else if (opcode == FS_OPCODE_INTERPOLATE_AT_PER_SLOT_OFFSET && arg == 0) {
>        return mlen;
> +   } else if (opcode == FS_OPCODE_LINTERP && arg == 0) {
> +      return exec_size / 4;
>     }
>
>     switch (src[arg].file) {
> @@ -1976,17 +1978,6 @@ fs_visitor::split_virtual_grfs()
>        }
>     }
>
> -   if (brw->has_pln &&
> -       this->delta_x[BRW_WM_PERSPECTIVE_PIXEL_BARYCENTRIC].file == GRF) {
> -      /* PLN opcodes rely on the delta_xy being contiguous.  We only have to
> -       * check this for BRW_WM_PERSPECTIVE_PIXEL_BARYCENTRIC, because prior to
> -       * Gen6, that was the only supported interpolation mode, and since Gen6,
> -       * delta_x and delta_y are in fixed hardware registers.
> -       */
> -      int vgrf = this->delta_x[BRW_WM_PERSPECTIVE_PIXEL_BARYCENTRIC].reg;
> -      split_points[vgrf_to_reg[vgrf] + 1] = false;
> -   }
> -
>     foreach_block_and_inst(block, fs_inst, inst, cfg) {
>        if (inst->dst.file == GRF) {
>           int reg = vgrf_to_reg[inst->dst.reg] + inst->dst.reg_offset;
> --
> 2.0.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list