support stencil buffer on GLES, and fix 64bit GL/GLES targets#71
support stencil buffer on GLES, and fix 64bit GL/GLES targets#71smoogipoo merged 1 commit intoppy:masterfrom
Conversation
- support stencil buffer on GLES - extend the fix to GL and GLES3 - fix int that should be IntPtr in eglGetDisplay() - support packed stencil where it is available - Merge branch 'an_main' into GLES_stencil_init_bug
04274d2 to
b69e94d
Compare
- skip compiling up to date shaders - support GLES startup in Android Example - both android and vulkan backends working and showing the backend in a label requires patched ppy.Veldrid backend - see [Pull #71](ppy/veldrid#71)
|
Are you able to retarget this PR to upstream (the |
9833efc to
c7d7a45
Compare
|
I realized some of my local build tweaks accidentally made it in here. I will pull them out (done) |
c7d7a45 to
5e775a5
Compare
yes, i can do that in a few hours... though its pretty annoying to track veldrid/veldrid and ppy/veldrid because the symbol changes ppy/veldrid made mean my test programs need #defines to swap between tyem, and the fact that ppy/veldrid dropped a bunch of modules which i am using. i have a symbol compatibility addition that would make it much simpler for clients to cross target, but seeing as veldrid/veldrid is dead, im considering making my own AN.veldrid branch and package that has ppy fixes and the utility packages from veldrid/veldrid that all work together, because that's what im presently using myself |
5e775a5 to
b69e94d
Compare
I have a question, im rebasing this on upstream, and it's a bunch of stylistic changes that would have to be refixed to get it onto ppy/veldrid and veldrid/veldrid is unmaintained, so nobody is going to merge it. (thats why I did a pull-request against ppy/veldrid) I'm going to finish this rebase, but can you explain why you are asking for this? and where is "here" that you plan to merge it to? |
|
rebased against upstream - veldrid#550 |
|
Yeah this fork is quite annoying. Probably need to push any remaining unmerged changes upstream and continue on from there. Thanks for rebasing though, have merged. |
|
Release available at https://www.nuget.org/packages/ppy.Veldrid/4.9.72-g1dd1183e6e |
This code
On GL2/GLES2 where packed stencil (D24UNormS8UInt) is not supported, i decided to automatically fallback (with log message) to D32FloatS8UInt, as Veldrid currently isn't setup to be able to query valid formats before opening, nor does it handle graphics device failure-retry well on EGL.
In the future i think Veldrid would fit well with more of a WebGPU style capability init, since it's trying to abstract these details... where consumers could start with a profile (Universal - incl GLES/GL2, Standard - DX11/vulkan/metal1+, Extended - raytracing, mesh shaders, etc) and ask for features and preferences with some softness as to how they are satisfiied.