OpenGL 4.3 compute shader experiments

So, here’s something I’ve been playing around with the last days. http://www.youtube.com/watch?v=_K2Wx7lW … e=youtu.be Description is in the video. Basically, tons of blocks (some monkeys :D) and a cool LOD sorting scheme + frustum culling all done in a compute shader.

Targets libretro GL and recorded with FFmpeg feature ofc :smiley: An interesting thing is that I was able to run that AND record H.264 from GPU in real-time without any drops. Hurray for async PBO readbacks I guess.

https://github.com/Themaister/boxes

That looks very impressive.

I assume this is only high-end desktop GPU stuff? Does GLES 3 support compute shaders?

Yes, this is mid/high-end desktop GPU only. At least if you want any performance out of it :stuck_out_tongue:

BTW - you might want to copy-paste glm/ directory from one of the other GL tech demos over to this one. I can’t compile it because I don’t have GLM installed and headers can’t be found inside my system include dir.

True. Done.

We should probably have some mechanism inside the libretro API to tell the frontend that the core needs - say - OpenGL 4.3 capabilities. Otherwise it would just crash if a user is running a core that needs this kind of functionality on a GPU that supports - say - only OpenGL 3.1 or whatever.

On mobile we have the option of setting either a “GLES3” or “GLES2” context to communicate this back to the frontend - perhaps something similar for desktop GL.

Well, it obviously knows since the core is telling it so via SET_HW_RENDER. It you mean crashing that’s probably because X throws an error and terminates (instead of returning an error).