[Mesa-dev] Thoughts on fp64 for GLES?

Elie Tournier tournier.elie at gmail.com
Tue Jan 29 17:12:34 UTC 2019


On Fri, Jan 25, 2019 at 02:15:25PM -0600, Jason Ekstrand wrote:
> On Fri, Jan 25, 2019 at 1:53 PM Stéphane Marchesin <
> stephane.marchesin at gmail.com> wrote:
> 
> > On Fri, Jan 25, 2019 at 2:25 AM Gert Wollny <gw.fossdev at gmail.com> wrote:
> > >
> > > Am Donnerstag, den 24.01.2019, 22:25 -0800 schrieb Stéphane Marchesin:
> > > >
> > > > Yes, it's for running virgl on top of GLES. To emulate fp64 in GL on
> > > > the guest side, we need fp64 on the host...
> > >
> > > BTW: we could also get it emulated from the guest side. When Elie (in
> > > CC)  initially proposed the fp64 emulation series it was for r600 and
> > > TGSI was emitted. The created shaders are horribly long and it is
> > > certainly not performant, but if it's just for getting OpenGL 4.0
> > > exposed it should be good enough.
> >
> > Yes, Ilia suggested this on IRC yesterday. My impression is that not
> > many applications/games need high performance fp64 (it's likely mostly
> > compute stuff, which is not our target). I could be wrong though. If
> > anyone knows differently, please tell us :)
> >
> 
> In our experience, we have yet to see an app actually use the extension.
> If we do have such apps, it'd be better to do it in hardware when
> available.  However, if it's just so that you can claim support, maybe a
> GLES extension isn't worth the bother?  I don't have a particularly strong
> opinion at the moment beyond "fp64 sounds like the most non-ES thing ever".

Out of curiousity, what did you want to put in that extension?

> 
> 
> > >
> > > I'm not sure though how much work it would be to add this to the soft
> > > fp64 as it has now landed for NIR, though.
> >
> > Yes, with virgl not using NIR, I am not sure how much work soft fp64
> > will require.
> >
> 
> The core of the soft fp64 stuff is a library of GLSL functions which
> actually implement it.  We just compile them to NIR and then lower fp64
> math to function calls and inline.  You could write a lowering pass in
> GLSL, TGSI, or a back-end compiler based on those easily enough.

I think the best option is to write a lowering pass in GLSL to be able to
use some optimizations later on. I will see if I can come up with a
proof-of-concept.

> 
> --Jason

> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the mesa-dev mailing list