Ilia Mirkin
2015-Jul-13 18:05 UTC
[Nouveau] [Mesa-dev] [PATCH] nvc0: fix geometry program revalidation of clipping params
Any one which, after using a geometry shader, enables an extra clip distance. i.e. none. On Mon, Jul 13, 2015 at 4:16 AM, Samuel Pitoiset <samuel.pitoiset at gmail.com> wrote:> What piglit test does this fix? > > On Sat, Jul 11, 2015 at 7:13 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote: >> >> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> >> Cc: mesa-stable at lists.freedesktop.org >> --- >> >> Even though in practice a geometry program will never be using UCP's, >> we still were revalidating (aka recompiling) the program when more >> clip planes became enabled (which also are used for regular clip >> distances). >> >> This seems like it should have led to massive fail, but I guess you >> don't change the number of clip planes when using geometry shaders. >> But I'm going to put this through a full piglit run just in case >> there's something I'm missing. >> >> src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >> b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >> index 785e52e..11f2b10 100644 >> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >> @@ -339,7 +339,7 @@ nvc0_check_program_ucps(struct nvc0_context *nvc0, >> nvc0_vertprog_validate(nvc0); >> else >> if (likely(vp == nvc0->gmtyprog)) >> - nvc0_vertprog_validate(nvc0); >> + nvc0_gmtyprog_validate(nvc0); >> else >> nvc0_tevlprog_validate(nvc0); >> } >> -- >> 2.3.6 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev at lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > > > > > -- > Best regards, > Samuel Pitoiset.
Ilia Mirkin
2015-Jul-13 18:08 UTC
[Nouveau] [Mesa-dev] [PATCH] nvc0: fix geometry program revalidation of clipping params
This was, btw, introduced in commit 3a8ae6ac243b (nvc0: adapt to new clip state). Back then there was no real geometry support yet. On Mon, Jul 13, 2015 at 2:05 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:> Any one which, after using a geometry shader, enables an extra clip > distance. i.e. none. > > On Mon, Jul 13, 2015 at 4:16 AM, Samuel Pitoiset > <samuel.pitoiset at gmail.com> wrote: >> What piglit test does this fix? >> >> On Sat, Jul 11, 2015 at 7:13 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote: >>> >>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> >>> Cc: mesa-stable at lists.freedesktop.org >>> --- >>> >>> Even though in practice a geometry program will never be using UCP's, >>> we still were revalidating (aka recompiling) the program when more >>> clip planes became enabled (which also are used for regular clip >>> distances). >>> >>> This seems like it should have led to massive fail, but I guess you >>> don't change the number of clip planes when using geometry shaders. >>> But I'm going to put this through a full piglit run just in case >>> there's something I'm missing. >>> >>> src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >>> b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >>> index 785e52e..11f2b10 100644 >>> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >>> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >>> @@ -339,7 +339,7 @@ nvc0_check_program_ucps(struct nvc0_context *nvc0, >>> nvc0_vertprog_validate(nvc0); >>> else >>> if (likely(vp == nvc0->gmtyprog)) >>> - nvc0_vertprog_validate(nvc0); >>> + nvc0_gmtyprog_validate(nvc0); >>> else >>> nvc0_tevlprog_validate(nvc0); >>> } >>> -- >>> 2.3.6 >>> >>> _______________________________________________ >>> mesa-dev mailing list >>> mesa-dev at lists.freedesktop.org >>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> >> >> >> >> -- >> Best regards, >> Samuel Pitoiset.
samuel.pitoiset
2015-Jul-16 21:49 UTC
[Nouveau] [Mesa-dev] [PATCH] nvc0: fix geometry program revalidation of clipping params
Seems reasonable. Please, let me know the result of the full piglit run. If everything is okay, this patch is : Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com> On 13/07/2015 20:08, Ilia Mirkin wrote:> This was, btw, introduced in commit 3a8ae6ac243b (nvc0: adapt to new > clip state). Back then there was no real geometry support yet. > > On Mon, Jul 13, 2015 at 2:05 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote: >> Any one which, after using a geometry shader, enables an extra clip >> distance. i.e. none. >> >> On Mon, Jul 13, 2015 at 4:16 AM, Samuel Pitoiset >> <samuel.pitoiset at gmail.com> wrote: >>> What piglit test does this fix? >>> >>> On Sat, Jul 11, 2015 at 7:13 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote: >>>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> >>>> Cc: mesa-stable at lists.freedesktop.org >>>> --- >>>> >>>> Even though in practice a geometry program will never be using UCP's, >>>> we still were revalidating (aka recompiling) the program when more >>>> clip planes became enabled (which also are used for regular clip >>>> distances). >>>> >>>> This seems like it should have led to massive fail, but I guess you >>>> don't change the number of clip planes when using geometry shaders. >>>> But I'm going to put this through a full piglit run just in case >>>> there's something I'm missing. >>>> >>>> src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >>>> b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >>>> index 785e52e..11f2b10 100644 >>>> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >>>> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c >>>> @@ -339,7 +339,7 @@ nvc0_check_program_ucps(struct nvc0_context *nvc0, >>>> nvc0_vertprog_validate(nvc0); >>>> else >>>> if (likely(vp == nvc0->gmtyprog)) >>>> - nvc0_vertprog_validate(nvc0); >>>> + nvc0_gmtyprog_validate(nvc0); >>>> else >>>> nvc0_tevlprog_validate(nvc0); >>>> } >>>> -- >>>> 2.3.6 >>>> >>>> _______________________________________________ >>>> mesa-dev mailing list >>>> mesa-dev at lists.freedesktop.org >>>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >>> >>> >>> >>> -- >>> Best regards, >>> Samuel Pitoiset.