rendering: Adds SDL_gpu based rendering. #133
Open
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.
Fixes #110
This leverages fgsfdsfgs/pbgl and grimfang4/sdl-gpu to add HW acceleration to SDL (at least the parts that are used by NevolutionX).
Both projects needed some patching:
#ifdef
ing as it treats the nxdk as a full Windows target.At the moment I've forked both and added dependencies on my forks. If this PR looks good I can try to get them upstreamed (I think the pbgl change is just a bugfix, but I suspect we'd need to maintain a fork of SDL_gpu).
I've also made it disable-able via
FC_USE_SDL_GPU
#ifdef
s, but if this approach looks good I'd suggest removing them, particularly as I think SDL_gpu should work natively on Linux so we could add it to the CMake target and be accelerated everywhere.I think this will also unblock more asynchronous tasks (e.g., the threaded XBE scanning) since the CPU usage should be dramatically lower (it's consistently at 60fps on my XBOX).