Vertex attribute binding strides must be aligned to 4 bytes, so says
MoltenVK. So we'll create the quad as R32G32_SFLOAT instead of
R8G8_SNORM.
Also when running a debug build of the core in a debug build of
retroarch in the debugger, the dynamic linker gets very confused about
which spirv-cross functions to call. The easiest way to give it a clue
is to reduce the exported symbol list.
Also fix the debug build on Apple.
updated makefiles for:
- android
- ios
- emscripten
- rpi4
tested on emscripten, GLES3 must be explicitly enabled for android and ios
fixed some things in glsm (libretro-common)
colors are not 100% perfect on GLES3 due to it not including the 1555 ABGR color format. GLES3 uses 5551 instead.
LIGHTREC_LOG_LEVEL=4 enables lightrec pr_debug messages and the disassembler
LIGHTREC_LOG_LEVEL=3 outputs some useful messages about state of the mmap,
threaded recompiler, and lightrec memory usage stats
For details on what is printed by disassembler see:
https://github.com/pcercuei/lightrec/commit/5d6881c3
Log Levels:
0 = No Logging
1 = Error
2 = Warning (default)
3 = Info
4 = Debug
Only output for big-ass-debugger if LIGHTREC_DEBUG=1
LIGHTREC_DEBUG=1 implies DEBUG=1, to disable threaded recompiler, so that output is reliable
Select which dynarec option with core config option
Default back to the faster option, and should allow running debugger easier
Fix crash when switching dynarec option at run-time, need to invalidate lightrec_state
Fix exe loading enough to get into lightrec interpreter
Code for reloading expansion1 is from @simias dynarec
Fix savestate loading
Cleanup LIGHTREC_DEBUG
Keep track of previous dynarec option properly
Fully re-initialize lightrec when switching dynarec option
Add option to invalidate stores always (Full) or just for DMA (DMA Only)
Add option to configure amount of cycles that can pass in dynarec before a DMA/GPU update is forced
Do not init lightrec for beetle interpreter
Make lightrec memory logging more concise
Runahead can use a second instance, use exclusive shared memory and try another name
Fix load state again
Change default dynarec option to interpreter
Reword DMA/GPU event cycles option
Don't build lightrec by default, require HAVE_LIGHTREC=1
Revert ReadAbsorb changes, incompatible with old save states
Revert changes to GPR, much more compatible with beetle interpreter
Fix subrepos so they can be updated cleanly in the future
Compiling for arm64 on iOS doesn't seems to support implicit stdlib function declaration and generate a compilation error, where it generates only a warning when targeting armv7.