Skip to content

Conversation

@kaydenl
Copy link

@kaydenl kaydenl commented Jun 3, 2015

Hi Brian!

I tried to get Orbital Explorer working on my Linux system with Intel graphics (using the Mesa based drivers), and noticed it wasn't using an OpenGL core profile. This is necessary for geometry shader support, just like on Apple.

I tried out Paul's patch from 2013 to remove the APPLE ifdefs, but then noticed that GLEW was still trying to call glGetString(GL_EXTENSIONS), which doesn't work. So I switched it to libepoxy, which is a more modern/better replacement for GLEW that actually works with core profile mode.

With these patches, it works great on Linux with Mesa-based drivers.

Thanks!
--Ken

kaydenl added 3 commits June 3, 2015 15:36
Epoxy is a modern replacement for GLEW that properly supports OpenGL's
core profile mode, and fixes many bugs and issues with GLEW.

See https://github.com/anholt/libepoxy for more information.
This was necessary with GLEW, but isn't necessary with libepoxy.
…le).

This should work equally well on all platforms.  It's also required to
run on Linux systems using Mesa-based drivers, which only expose
geometry shaders in core profile contexts.
@bjthinks
Copy link
Owner

Hi Ken,

Thanks for taking a look at this. I remember chatting with Chad earlier
this summer, and he and I came to the same conclusion as you -- switching
to Epoxy was the way forward.

Unfortunately, the rendering method I'm using in this project is rather
inefficient. I consider it a finished experiment, which was only partly
successful -- it works, but it puts so much strain on GPU memory that the
execution units are sitting idle a lot. I have a new technique in the works
(in a private git repo) which is very different, and will hopefully work
better.

Thanks much, and apologies for not getting back to you earlier.

Brian Johnson
Portland, OR

On Wed, Jun 3, 2015 at 3:47 PM, Kenneth Graunke notifications@github.com
wrote:

Hi Brian!

I tried to get Orbital Explorer working on my Linux system with Intel
graphics (using the Mesa based drivers), and noticed it wasn't using an
OpenGL core profile. This is necessary for geometry shader support, just
like on Apple.

I tried out Paul's patch from 2013 to remove the APPLE ifdefs, but
then noticed that GLEW was still trying to call glGetString(GL_EXTENSIONS),
which doesn't work. So I switched it to libepoxy, which is a more
modern/better replacement for GLEW that actually works with core profile
mode.

With these patches, it works great on Linux with Mesa-based drivers.

Thanks!

--Ken

You can view, comment on, or merge this pull request online at:

#1
Commit Summary

  • Switch the Linux build from GLEW to libepoxy.
  • Use an OpenGL 3.2 Core Profile context on all platforms (not just
    Apple).
  • Delete empty initGLProcs() function.

File Changes

Patch Links:


Reply to this email directly or view it on GitHub
#1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants