On Jul 16, 2015 2:00 PM, "Jordan Justen" <jordan.l.jus...@intel.com> wrote: > > This prevents an assertion failure in brw_fs_live_variables.cpp, > fs_live_variables::setup_one_write: Assertion `var < num_vars' failed.
Best guess is that you should just fix regs_read to return the right value (1 in this case). Most other send instructions use mlen but that may not be needed tour CS_TERMINATE. --Jason > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > Cc: Jason Ekstrand <ja...@jlekstrand.net> > --- > src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp > index 94d6a58..62dfb9a 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp > @@ -1960,11 +1960,12 @@ fs_visitor::emit_cs_terminate() > */ > struct brw_reg g0 = retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UD); > fs_reg payload = fs_reg(GRF, alloc.allocate(1), BRW_REGISTER_TYPE_UD); > - bld.exec_all().MOV(payload, g0); > + const fs_builder bld8 = bld.group(8, 0); > + bld8.exec_all().MOV(payload, g0); > > /* Send a message to the thread spawner to terminate the thread. */ > - fs_inst *inst = bld.exec_all() > - .emit(CS_OPCODE_CS_TERMINATE, reg_undef, payload); > + fs_inst *inst = bld8.exec_all() > + .emit(CS_OPCODE_CS_TERMINATE, reg_undef, payload); > inst->eot = true; > } > > -- > 2.1.4 >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev