[Mesa-dev] [PATCH 6/7] gallium: Add TGSI_OPCODE_F2U to gallivm backend.
Roland Scheidegger
sroland at vmware.com
Thu Jun 14 09:02:28 PDT 2012
Am 14.06.2012 15:07, schrieb Paul Berry:
> On 14 June 2012 05:10, Jose Fonseca <jfonseca at vmware.com
> <mailto:jfonseca at vmware.com>> wrote:
>
> lp_build_utrunc() doesn't exists yet. For now, please use
> lp_build_itrunc() and add a /* FIXME: implement and use
> lp_build_utrunc() */ comment. It's not perfect, but it's no worse
> what's there now.
>
> Jose
>
>
> Ok, will do. Thank you.
btw I'm wondering how you'd actually do that in some semi-efficient manner?
llvm has LLVMBuildFPToUI but x86 has no such conversion instructions
they are all signed. I guess multiply by 0.5, convert to signed int,
cast to unsigned and multiply by 2 isn't really the solution :-).
>
>
>
> ----- Original Message -----
> > ---
> > src/gallium/auxiliary/gallivm/lp_bld_tgsi_action.c | 12
> > ++++++++++++
> > 1 files changed, 12 insertions(+), 0 deletions(-)
> >
> > diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_action.c
> > b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_action.c
> > index e0a5180..e48a0fd 100644
> > --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_action.c
> > +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_action.c
> > @@ -984,6 +984,17 @@ f2i_emit_cpu(
> >
> emit_data->args[0]);
> > }
> >
> > +/* TGSI_OPCODE_F2U (CPU Only) */
> > +static void
> > +f2u_emit_cpu(
> > + const struct lp_build_tgsi_action * action,
> > + struct lp_build_tgsi_context * bld_base,
> > + struct lp_build_emit_data * emit_data)
> > +{
> > + emit_data->output[emit_data->chan] =
> > lp_build_utrunc(&bld_base->base,
> > +
> >
> emit_data->args[0]);
> > +}
> > +
> > /* TGSI_OPCODE_FLR (CPU Only) */
> >
> > static void
> > @@ -1561,6 +1572,7 @@ lp_set_default_actions_cpu(
> > bld_base->op_actions[TGSI_OPCODE_EX2].emit = ex2_emit_cpu;
> > bld_base->op_actions[TGSI_OPCODE_EXP].emit = exp_emit_cpu;
> > bld_base->op_actions[TGSI_OPCODE_F2I].emit = f2i_emit_cpu;
> > + bld_base->op_actions[TGSI_OPCODE_F2U].emit = f2u_emit_cpu;
> > bld_base->op_actions[TGSI_OPCODE_FLR].emit = flr_emit_cpu;
> >
> > bld_base->op_actions[TGSI_OPCODE_I2F].emit = i2f_emit_cpu;
> > --
> > 1.7.7.6
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org <mailto:mesa-dev at lists.freedesktop.org>
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
>
>
>
>
> _______________________________________________
> 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