Reviewed-by: Jason Ekstrand <jason.ekstr...@intel.com>
On Tue, Apr 14, 2015 at 4:15 PM, Matt Turner <matts...@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@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev