Veldrid Backend (Windows:D3D, Vulkan, OpenGL) (Android:Vulkan)#14
Open
jeske wants to merge 10 commits into
Open
Veldrid Backend (Windows:D3D, Vulkan, OpenGL) (Android:Vulkan)#14jeske wants to merge 10 commits into
jeske wants to merge 10 commits into
Conversation
…le shader compile issue
…generated shaders because this required fixing Veldrid.SPIRV cross compiler, and i don't want people to have to get the fixed compiler to compile this from source.
Collaborator
|
This looks pretty good to me. I don't remember the one by Redhacker1, but I probably just didn't see it. I'm currently doing a bit of work on Silky myself after a few years again and will definitely be merging this! |
- 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)
Author
|
fixed up the Android Example to work on Android GLES.. (but it requires patches to ppy.Veldrid, see ppy/veldrid#71 |
Author
|
FYI - i have an important (small) bugfix coming for my Veldrid backend to properly support multi-window (which i just didn't test in the example).. should get it here today or tomoorow |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I saw that you didn't merge the other Veldrid backend from Redhacker1.
This one is quite a bit different (completely separate implementation), so perhaps you'll be interested in merging it. If not, I'm using and maintaining it anyway.
NOTE: i made one change to the Demo code, with a SetFileLoader() delegate, to support loading image resources using the Android apk API rather than from raw files for the Android Example.
This has been tested to work on:
HOPEFULLY SOON: OSX/iOS Metal1, Android:GLES
NOTE: To make Veldrid:OpenGL work with precompiled shaders i had to fix a rather insidious bug in the Veldrid.SPIRV shader compiler, so i've decided to check in the generated shader output to relieve people from having to get a fixed Veldrid.SPIRV compiler. For more info see: veldrid/veldrid-spirv#8
Screenshots
Below is the native SilkNvg OpenGL backend on top, with Veldrid:Vulkan lower left, and Veldrid:D3D lower right. Note that as these are all running simultaneously, don't read anything into the perf numbers. The Veldrid versions perform about the same (within 0-10% slower situationally).
Here is the new "Veldrid Android Example" using Vulkan running on a samsung Galaxy S22 Ultra. Frametime is about double what it is on my Desktop AMD 7950X3D + 5080, which seems about as expected.
Here is the Veldrid:OpenGL backend:
Here is Veldrid:Android:GLES backend (requires ppy/veldrid#71 ):