Beetle PSX implementation of "psx.correct_aspect" introduced in Mednafen
1.24.0-UNSTABLE (no relevant code backported from upstream).
Additionally fixes aspect ratio scaling issues when cropping overscan or
adjusting visible scanlines. "Force 4:3" is left as a legacy option for
users preferring the old inaccurate behavior.
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()
* VK renderer now outputs psx vram fb within proper display area
* Implement and reenable horizontal overscan cropping option
* Update rsx and Vulkan rsx playback for new VK renderer code
- Calculate and apply offset for quads with flipped UVs earlier.
- Reduce offsets applied in software renderer as resolution scaling increases (fixes line artefacts).
- Calculate UV limits used for filtering earlier and pass these to the individual renderers.
Changed the way primitives are stored and the order in which they are drawn. Needed for
proper masking between opaque and semi-transparent primitives.
Probably not 100% correct but seems to fix the fog issue in Silent Hill.