I need to read 8 for real but the rest seems sensible. 1-7 are Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
On Jan 4, 2017 10:49, "Jason Ekstrand" <ja...@jlekstrand.net> wrote: > On Jan 4, 2017 05:08, "Kenneth Graunke" <kenn...@whitecape.org> wrote: > > It's only used in one place, it ignores the offset parameter currently, > and I want to add more parameters...at which point, passing in a bunch > of integers seems less obvious than writing it out. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > .../drivers/dri/i965/brw_nir_tcs_workarounds.c | 25 > ++++++++++------------ > 1 file changed, 11 insertions(+), 14 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_nir_tcs_workarounds.c > b/src/mesa/drivers/dri/i965/brw_nir_tcs_workarounds.c > index 3f94f631f73..caf5c393a5e 100644 > --- a/src/mesa/drivers/dri/i965/brw_nir_tcs_workarounds.c > +++ b/src/mesa/drivers/dri/i965/brw_nir_tcs_workarounds.c > @@ -87,18 +87,6 @@ load_output(nir_builder *b, int num_components, int > offset) > return &load->dest.ssa; > } > > -static inline void > -store_output(nir_builder *b, nir_ssa_def *value, int offset, unsigned > comps) > -{ > - nir_intrinsic_instr *store = > - nir_intrinsic_instr_create(b->shader, nir_intrinsic_store_output); > - store->num_components = comps; > - nir_intrinsic_set_write_mask(store, (1u << comps) - 1); > - store->src[0] = nir_src_for_ssa(value); > - store->src[1] = nir_src_for_ssa(nir_imm_int(b, 0)); > - nir_builder_instr_insert(b, &store->instr); > -} > - > static void > emit_quads_workaround(nir_builder *b, nir_block *block) > { > @@ -118,8 +106,17 @@ emit_quads_workaround(nir_builder *b, nir_block > *block) > /* Fill out the new then-block */ > b->cursor = nir_after_cf_list(&if_stmt->then_list); > > - store_output(b, nir_bcsel(b, nir_fge(b, nir_imm_float(b, 1.0f), inner), > - nir_imm_float(b, 2.0f), inner), 0, 2); > + inner = nir_bcsel(b, nir_fge(b, nir_imm_float(b, 1.0f), inner), > + nir_imm_float(b, 2.0f), inner); > + > + nir_intrinsic_instr *store = > + nir_intrinsic_instr_create(b->shader, nir_intrinsic_store_output); > + store->num_components = 2; > + nir_intrinsic_set_write_mask(store, WRITEMASK_XY); > + store->src[0] = nir_src_for_ssa(inner); > + store->src[1] = nir_src_for_ssa(nir_imm_int(b, 0)); > + nir_builder_instr_insert(b, &store->instr); > + > > > Extra newline? > > } > > void > -- > 2.11.0 > > _______________________________________________ > 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