<p dir="ltr"><br>
On Dec 17, 2014 7:43 AM, "Connor Abbott" <<a href="mailto:cwabbott0@gmail.com">cwabbott0@gmail.com</a>> wrote:<br>
><br>
> On Wed, Dec 17, 2014 at 6:52 AM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
> ><br>
> ><br>
> > On Tue, Dec 16, 2014 at 10:31 PM, Connor Abbott <<a href="mailto:cwabbott0@gmail.com">cwabbott0@gmail.com</a>> wrote:<br>
> >><br>
> >> As a future cleanup, would it be worth getting rid of fddx and fddy<br>
> >> entirely and just generating the correct variant based on the<br>
> >> glHint/drirc configuration?<br>
> ><br>
> ><br>
> > Nope.  <a href="https://www.opengl.org/registry/specs/ARB/derivative_control.txt">https://www.opengl.org/registry/specs/ARB/derivative_control.txt</a><br>
><br>
> I just meant doing the<br>
><br>
> if (fs_key->high_quality_derivatives) { emit ddx_fine } else { emit<br>
> ddx_coarse } part in NIR so other drivers don't have to handle it, I<br>
> still don't understand why that's not possible.</p>
<p dir="ltr">Sure, we could do that but i don't think we want to.  On i965, switching the derivative glHint forces a recompile but this may not always be the case.  If we do have a driver that can switch on-the-fly or if as figure out how to do it in i965 for cheap, we'll want all 6.</p>
<p dir="ltr">><br>
> ><br>
> >><br>
> >><br>
> >> On Tue, Dec 16, 2014 at 1:04 AM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br>
> >> wrote:<br>
> >> > ---<br>
> >> >  src/glsl/nir/nir_opcodes.h | 4 ++++<br>
> >> >  1 file changed, 4 insertions(+)<br>
> >> ><br>
> >> > diff --git a/src/glsl/nir/nir_opcodes.h b/src/glsl/nir/nir_opcodes.h<br>
> >> > index bee4bd1..9a7a2ab 100644<br>
> >> > --- a/src/glsl/nir/nir_opcodes.h<br>
> >> > +++ b/src/glsl/nir/nir_opcodes.h<br>
> >> > @@ -111,6 +111,10 @@ UNOP(fcos_reduced, nir_type_float)<br>
> >> >  /*@{*/<br>
> >> >  UNOP(fddx, nir_type_float)<br>
> >> >  UNOP(fddy, nir_type_float)<br>
> >> > +UNOP(fddx_fine, nir_type_float)<br>
> >> > +UNOP(fddy_fine, nir_type_float)<br>
> >> > +UNOP(fddx_coarse, nir_type_float)<br>
> >> > +UNOP(fddy_coarse, nir_type_float)<br>
> >> >  /*@}*/<br>
> >> ><br>
> >> >  /**<br>
> >> > --<br>
> >> > 2.2.0<br>
> >> ><br>
> >> > _______________________________________________<br>
> >> > mesa-dev mailing list<br>
> >> > <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> >> > <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</p>