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
PSX: Fixed a regression introduced in 1.22.0-UNSTABLE that broke a few PS1 games(e.g. SimCity 2000 and Rise 2)
the games already worked, but figure it can't do any real harm to
backport this
This is a big problem when using paletted textures. It is very easy to
trigger scenarios where we roundtrip resolve unscaled -> scaled ->
unscaled.
We need to round in pack_abgr1555 because we can get an off-by-one
otherwise, especially when resolving large upscaling factors.
Also, remove mediump from the resolve shaders, since we need pretty
decent precision to ensure there is a 1:1 roundtrip.
Core now properly falls back to software renderer when requested
hardware context is not Vulkan/OpenGL instead of defaulting to Vulkan
for every context other than OpenGL. Core now also checks each hardware
renderer instead of only Vulkan for frontends that do not support
RETRO_ENVIRONMENT_GET_PREFERRED_HW_RENDER.
Makes cstring comparison style consistent within each file, based on the
most common style for each individual file. RSX uses !strcmp while
libretro.cpp uses strcmp == 0. Also minor whitespace fixes.
Co-authored-by: rz5 <rz5@users.noreply.github.com>
Co-authored-by: ggdrt <45282415+ggdrt@users.noreply.github.com>
* Shared memcards and memcard0 method core options are now only checked in retro_load_game and require a restart
* In retro_load_game, rsx_intf_open is called first before check_variables and alloc_surface
* check_variables no longer receives any params
* Ensure none of the renderers call SET_SYSTEM_AV_INFO before we're in retro_run
* Ensure the first iteration of retro_run checks core options even if they weren't updated yet
* Store the upscale shift when calling GPU_Init() and prevent calling delete on a null pointer in GPU_Rescale()