Just an observation -- old code was based on eot || other cond. New code seems to set last_rt only when eot is set. Is there a last_rt setting missing? Or was the extra condition superfluous before?
On Fri, May 18, 2018, 19:35 Jason Ekstrand <ja...@jlekstrand.net> wrote: > From: Francisco Jerez <curroje...@riseup.net> > > Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> > --- > src/intel/compiler/brw_fs.cpp | 1 + > src/intel/compiler/brw_fs_generator.cpp | 6 +----- > src/intel/compiler/brw_fs_visitor.cpp | 2 ++ > src/intel/compiler/brw_ir_fs.h | 1 + > 4 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp > index 8d92786..d67c0a4 100644 > --- a/src/intel/compiler/brw_fs.cpp > +++ b/src/intel/compiler/brw_fs.cpp > @@ -3246,6 +3246,7 @@ fs_visitor::emit_repclear_shader() > } > } > write->eot = true; > + write->last_rt = true; > > calculate_cfg(); > > diff --git a/src/intel/compiler/brw_fs_generator.cpp > b/src/intel/compiler/brw_fs_generator.cpp > index aa94629..471ef64 100644 > --- a/src/intel/compiler/brw_fs_generator.cpp > +++ b/src/intel/compiler/brw_fs_generator.cpp > @@ -289,10 +289,6 @@ fs_generator::fire_fb_write(fs_inst *inst, > */ > const uint32_t surf_index = inst->target; > > - bool last_render_target = inst->eot || > - (prog_data->dual_src_blend && dispatch_width > == 16); > - > - > brw_fb_WRITE(p, > payload, > implied_header, > @@ -301,7 +297,7 @@ fs_generator::fire_fb_write(fs_inst *inst, > nr, > 0, > inst->eot, > - last_render_target, > + inst->last_rt, > inst->header_size != 0); > > brw_mark_surface_used(&prog_data->base, surf_index); > diff --git a/src/intel/compiler/brw_fs_visitor.cpp > b/src/intel/compiler/brw_fs_visitor.cpp > index 41dbd76..a24808e 100644 > --- a/src/intel/compiler/brw_fs_visitor.cpp > +++ b/src/intel/compiler/brw_fs_visitor.cpp > @@ -103,6 +103,7 @@ fs_visitor::emit_dummy_fs() > fs_inst *write; > write = bld.emit(FS_OPCODE_FB_WRITE); > write->eot = true; > + write->last_rt = true; > if (devinfo->gen >= 6) { > write->base_mrf = 2; > write->mlen = 4 * reg_width; > @@ -459,6 +460,7 @@ fs_visitor::emit_fb_writes() > inst->target = 0; > } > > + inst->last_rt = true; > inst->eot = true; > } > > diff --git a/src/intel/compiler/brw_ir_fs.h > b/src/intel/compiler/brw_ir_fs.h > index f06a33c..92dad26 100644 > --- a/src/intel/compiler/brw_ir_fs.h > +++ b/src/intel/compiler/brw_ir_fs.h > @@ -374,6 +374,7 @@ public: > > uint8_t sources; /**< Number of fs_reg sources. */ > > + bool last_rt:1; > bool pi_noperspective:1; /**< Pixel interpolator noperspective flag > */ > }; > > -- > 2.5.0.400.gff86faf > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev