nidium / Nidium

nidium is an ongoing effort for a mobile hw-accelerated rendering engine to create apps and games. Embedding Mozilla JavaScript VM, Google Skia, Facebook Yoga. https://twitter.com/nidiumproject for updates
https://www.nidium.com
Other
1.14k stars 63 forks source link

OpenGL context version #45

Open paraboul opened 7 years ago

paraboul commented 7 years ago

SDL doesn't seem to chose the best version available.

We need to figure out what's the lowest and highest version we want (only core profile?). Does skia accepts core profile only?

verpeteren commented 7 years ago

https://github.com/nidium/Nidium/pull/46

cookiengineer commented 7 years ago

What's the minimum OpenGL version that skia needs to function properly?

Today I tried out nidium on an old Thinkpad (core2duo with i915 intel driver), but apparently the OpenGL 1.5 is too low for it to create a proper context.

Is there a way to use/compile skia with Vulkan support? As Intel backported most of their OpenGL stuff already to Vulkan, I guess that would help to support some legacy environments. But I have no clue about whether that gets too complex to be worth the effort for skia.

ninja edit:// Just reading through https://skia.org/user/special/vulkan

paraboul commented 7 years ago

@cookiengineer OpenGL 2.1 is the minimum.

Indeed Skia now supports Vulkain (IIRC it's now used on Android). However Nidium itself has a lot a OpenGL code and is also using it for WebGL (though I guess the ANGLE transpiler we're using could take care of this).

Unless someone is able to investigate this, we've more important task to finish before considering this.

cookiengineer commented 7 years ago

Jup, I understand completely and it would be probably a huge overhead to add a shader compiler like ANGLE for it that could translate between vulkan, opengl, webgl and directx.

I kind of wanted to add this just so that others can find the issue and the minimum OpenGL version if they happen to have a legacy machine :)