servo/surfman

Force use of particular api

2e0byo opened this issue · 3 comments

Is it possible to force surfman to use a particular api? On my system (horrible nvidia card, sorry) GlEs works, but Gl doesn't. Glutin returns a GlEs context, whereas surfman hands out a Gl, which subsequently fails (probably due to nonsense in the driver).

jdm commented

What surfman APIs are you using? What platform are you on?

jdm commented

For what it's worth, surfman currently only makes use of GLES with ANGLE and Android.

I'm actually hacking emacs-ng, which uses webrender_surfman (by default) to set up the GL context. Ergo there's abstraction in the way, but the src is here .

Effectively we get a connection, call .create_adapter() and pass it to WebrenderSurfman::create().

This is a fork (not mine) of surfman anyway to allow getting the connection from the window handle.

But if surfman doesn't use GLES (on this platform) anyhow it's moot. I'm 99% sure the Gl implementation in this particular driver + hardware combo is broken. None of the servo/surfman demos work here, even with the recent winit upgrades

I'm using glutin successfully, so it's not an issue here and I can work around it.