Commit Graph

68 Commits

Author SHA1 Message Date
barbudreadmon
96eafad09d sanitize gl context requests 2020-05-22 17:52:38 +02:00
ggdrt
c7c8ffd3d2 Clean up Fast PAL, add Force NTSC aspect ratio 2020-03-25 00:46:17 -07:00
Lionel Flandrin
e9879662a7 Added "fast PAL" hack to allow PAL games to play at NTSC framerates 2020-03-24 00:18:02 +00:00
ggdrt
04daeef580 Implement aspect ratio core option (psx.correct_aspect equivalent)
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.
2020-03-04 21:21:16 -08:00
ggdrt
6e90f45ad4 Add option for setting core-reported fps timing 2020-03-01 14:25:26 -08:00
ggdrt
f62af0b8ed Rework UpdateDisplayMode and rsx set_display_mode functions 2020-02-25 13:04:35 -08:00
ggdrt
7d235b9262 Port GP1(05h) command to GL renderer 2020-02-23 23:29:30 -08:00
ggdrt
e3e511be78 Add GP1(05h) command to rsx and parallel-psx, update rsx_dump
Delay VRAM framebuffer size calculation to latest possible moment in
Vulkan renderer; don't rely on external timing of UpdateDisplayMode.
2020-02-20 20:58:09 -08:00
ggdrt
62b6333173 Add support for forcing hw rendering backend 2020-02-16 15:31:08 -08:00
ggdrt
77e90d573a Add accurate timing macros and report noninterlaced by default 2020-02-14 12:49:30 -08:00
ggdrt
d63a7aaf52 Restore and update rsx_lib_vulkan 2019-12-13 21:13:51 -08:00
ggdrt
a0b2943329 Restore and update rsx_lib_gl 2019-12-13 21:13:43 -08:00
ggdrt
2557d1ab05 Remove deprecated rsx.h 2019-12-10 23:41:28 -08:00
ggdrt
4dfbbd4951 Adjust lightgun input scaling for PAL and overscan 2019-12-10 10:05:03 -08:00
ggdrt
4e1c6f1c41 Separate core globals from callbacks 2019-12-08 09:26:41 -08:00
ggdrt
748d4f80e3 Fix GET_PREFERRED_HW_RENDER handling and fallback
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.
2019-12-03 16:52:10 -08:00
ggdrt
edc90765b4 Revert "Changes to core startup. Fixes #553"
This reverts commit b0d55624a5.
2019-11-24 02:23:52 -08:00
ggdrt
f6dd05aafd Fix regression in GL Display VRAM from 26da9f0 2019-11-21 21:46:43 -08:00
ggdrt
ddf68bc9e9 Clean RSX and libretro.cpp options style
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>
2019-11-19 22:39:53 -08:00
ggdrt
49828593ce Add horizontal offset option to GL and VK 2019-11-19 15:54:49 -08:00
ggdrt
26da9f0188 Refactor GL viewport calculation code
GL renderer now respects horizontal display range when crop overscan
setting is enabled.
2019-11-19 15:53:05 -08:00
ggdrt
67872c1529 Clean up RSX interface style
Co-authored-by: rz5 <rz5@users.noreply.github.com>
Co-authored-by: ggdrt <45282415+ggdrt@users.noreply.github.com>
2019-11-19 09:12:21 -08:00
ggdrt
592708520c Implement initial/last scanline options for Vulkan 2019-11-17 19:47:05 -08:00
rz5
b0d55624a5 Changes to core startup. Fixes #553
* 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()
2019-11-15 00:17:53 +00:00
ggdrt
3215862705 Implement display range code for Vulkan renderer
* 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
2019-11-13 20:47:56 -08:00
ggdrt
7e767567db Gl crop overscan accuracy additions (#559)
* Hide inactive core options for HW renderers

* Remove bounds checking for vertical range in GL renderer to fix accidental edge clamping

* GL crop overscan accuracy additions
2019-11-02 14:20:00 +00:00
ggdrt
957df3856d Implement crop overscan option for GL renderer 2019-10-28 14:10:07 -07:00
ggdrt
df640ed88e Implement initial/last scanline core options for GL renderer 2019-10-28 13:57:08 -07:00
ggdrt
f27cd0f169 Make sure has_software_fb is set by GLRenderer_new 2019-10-27 14:27:42 -07:00
ggdrt
905fc07d86 Adjust display range reset values in GL render for accuracy 2019-10-26 00:38:55 -07:00
ggdrt
15ae14e45e Update rsx_dump for set_display_mode and implement rsx_dump for set_display_range 2019-10-26 00:38:55 -07:00
ggdrt
f2a3e034eb Implement framebuffer height padding for GL renderer
* Implement fb height padding for 240p titles in GL renderer

* Implement fb height padding for 480i titles in GL renderer

* Prevent padding conflict with VRAM display option

* Implement PAL height padding
2019-10-26 00:37:28 -07:00
Rinnegatamante
2efd828148 Added support for frontends not having GET_PREFERRED_HW_RENDER. 2019-10-18 14:18:36 +02:00
Rinnegatamante
78b1ab5f0b Enable gl driver support for hw context. 2019-10-16 19:43:17 +02:00
Rinnegatamante
8362984340 Properly negotiating with frontend for driver to use. 2019-10-15 17:38:30 +02:00
jdgleaver
ea74b744cc Remove HW-specific core options from SW build 2019-08-05 17:56:14 +01:00
twinaphex
1f4e633d59 Try to fix Android build 2019-07-10 01:52:05 +02:00
twinaphex
04f53dd75d Merge rsx_lib_vulkan.cpp into rsx_intf.cpp 2019-07-08 05:53:07 +02:00
twinaphex
73316281c6 (RSX intf) Cleanups 2019-07-08 04:57:03 +02:00
twinaphex
3cf93676be (GL) Cleanups 2019-07-08 04:40:36 +02:00
twinaphex
2370b43e95 Cleanups 2019-07-07 08:52:23 +02:00
twinaphex
dc4b35dd25 Simplify rsx_lib_soft 2019-07-07 07:51:59 +02:00
rz5
432feab541 Force SW renderer when firmware is missing. Allows showing ugui error message when 'renderer' is set to 'hardware'. 2019-06-16 21:00:13 +01:00
Hans-Kristian Arntzen
824f5f3a5f Experiment with GPU readbacks.
Avoids having to rely on software raster to run in parallel with HW rendering.
2018-12-14 17:54:13 +01:00
iCatButler
1e0e774ad2 Refactor UV offset and limit code to be shared by all renderers.
- 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.
2018-11-30 12:11:39 +00:00
Flyinghead
7dd2bf7996 Mask bits support using OpenGL stencil buffer
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.
2018-07-22 18:54:27 +02:00
twinaphex
8dd93d7e99 Renderer core option now has two options: hardware and software 2018-04-06 17:28:18 +02:00
r5
815febac03 (rsx) Cleanups
De-hardcode the sample rate, framerate, width/height.
Get rid of an awkward function.
Style nits here and there.
2017-10-17 06:19:21 +01:00
r5
b6a39e9052 (rsx) Wrong was arg passed to rsx_intf_open. 2017-10-12 06:01:24 +01:00
twinaphex
f9ab0a1ed3 Remove Rust 2017-07-29 19:54:30 +02:00