[Mesa-stable] [PATCH 22/22 v2] radeonsi: NaN should pass kill_if

Marek Olšák maraeo at gmail.com
Tue Oct 2 01:54:38 UTC 2018


The patch I attached was written for 18.2. It won't apply on master.
It looks the same, but the change is in a different function.

Marek

On Mon, Oct 1, 2018 at 6:25 PM Juan A. Suarez Romero
<jasuarez at igalia.com> wrote:
>
> On Mon, 2018-10-01 at 14:29 -0400, Marek Olšák wrote:
> > The attached patch is for 18.2.
> >
>
>
> Not sure if I've explained myself correctly....
>
>
> The patch you're attaching is the same as 0d495bec25b ("radeonsi: NaN should
> pass kill_if"), which is already in master and CCed to stable.
>
> But in order to apply this patch to 18.2, I need to cherry-pick too 98f777f9d9c
> ("radeonsi: remove fetch_args callbacks for ALU instructions"), which was not
> CCed to stable.
>
> So either I've apply both patches, or I apply none. It seems 0d495bec25b is like
> a fix for 98f777f9d9c, and as 98f777f9d9c is not CCed as stable, it seems more
> logical just to ignore 0d495bec25b. But I'd like to know what's your
> preferrence.
>
>         J.A.
>
>
> > Thanks,
> > Marek
> > On Mon, Oct 1, 2018 at 4:14 AM Juan A. Suarez Romero
> > <jasuarez at igalia.com> wrote:
> > >
> > > On Mon, 2018-09-24 at 20:21 -0400, Marek Olšák wrote:
> > > > Looks good to me.
> > > >
> > > > Marek
> > >
> > > This patch was nominated to stable, but I can't apply it on 18.2 because this
> > > patch requires 98f777f9d9c ("radeonsi: remove fetch_args callbacks for ALU
> > > instructions"), which was not nominated.
> > >
> > > WDYT? Should both patches added to the 18.2 release, or just get them out of the
> > > release?
> > >
> > >         J.A.
> > >
> > > >
> > > > On Mon, Sep 24, 2018 at 2:29 AM, Axel Davy <davyaxel0 at gmail.com> wrote:
> > > > > Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=105333
> > > > > Fixes: https://github.com/iXit/Mesa-3D/issues/314
> > > > >
> > > > > For this application, NaN is passed to KILL_IF and is expected to
> > > > > pass.
> > > > >
> > > > > v2: Explain in the code why UGE is used.
> > > > >
> > > > > Signed-off-by: Axel Davy <davyaxel0 at gmail.com>
> > > > > Reviewed-by: Marek Olšák <marek.olsak at amd.com>
> > > > >
> > > > > CC: <mesa-stable at lists.freedesktop.org>
> > > > > ---
> > > > >  src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c | 3 ++-
> > > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c
> > > > > index f54d025aec0..a768b449047 100644
> > > > > --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c
> > > > > +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c
> > > > > @@ -60,7 +60,8 @@ static void kil_emit(const struct lp_build_tgsi_action *action,
> > > > >
> > > > >                 for (i = 0; i < TGSI_NUM_CHANNELS; i++) {
> > > > >                         LLVMValueRef value = lp_build_emit_fetch(bld_base, inst, 0, i);
> > > > > -                       conds[i] = LLVMBuildFCmp(builder, LLVMRealOGE, value,
> > > > > +                       /* UGE because NaN shouldn't get killed */
> > > > > +                       conds[i] = LLVMBuildFCmp(builder, LLVMRealUGE, value,
> > > > >                                                 ctx->ac.f32_0, "");
> > > > >                 }
> > > > >
> > > > > --
> > > > > 2.18.0
> > > > >
> > > > > _______________________________________________
> > > > > mesa-stable mailing list
> > > > > mesa-stable at lists.freedesktop.org
> > > > > https://lists.freedesktop.org/mailman/listinfo/mesa-stable
> > > >
> > > > _______________________________________________
> > > > mesa-stable mailing list
> > > > mesa-stable at lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/mesa-stable
>


More information about the mesa-stable mailing list