Commit graph

142 commits

Author SHA1 Message Date
Jean-Philip Desjardins
30568a057d Use app_config module.
Some checks failed
Build macOS / build_macos (push) Has been cancelled
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
2025-03-11 16:18:58 -04:00
Jean-Philip Desjardins
e46557675b Use proper preprocessor macro.
Some checks failed
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
2025-02-12 14:12:37 -05:00
Jean-Philip Desjardins
002cb6af90 Avoid useless memset. 2024-02-27 15:46:05 -05:00
Jean-Philip Desjardins
30270ae180 Implement automatic mip address computation. 2023-11-28 08:39:12 -05:00
Jean-Philip Desjardins
97cf4123b9 Move all frame dumping logic in GS handler.
Fixes a bunch of incomplete dump issues, race conditions and potential crashes.
2023-11-28 08:39:12 -05:00
Jean-Philip Desjardins
1eec610c3e Periodically signal hsync instead of having it always on. 2023-10-13 17:53:06 -04:00
Jean-Philip Desjardins
074f776a9b Initialize framesInFlight.
Fixes some visual glitches that could happen on slower devices.
2023-09-28 13:33:21 -04:00
Jean-Philip Desjardins
1ce31fc4ae Remove possible race condition. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
6973249b43 Fix frame debugger. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
6241b41568 Decouple finishing and flipping. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
5fe52c2fb8 Allow one than more GS frame to be in-flight.
This greatly improve performance on Android in some cases since we don't have to wait for eglSwapBuffers before moving on to other frames.
2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
621a8d9f74 Cleanup. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
7f9b23600b Skip flipping if GS did nothing that frame.
Helps games running at 30FPS or lower on lower end devices.
2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
31d143936e More improvements
- Support reading PSMZ24 formats (for SSX3)
- Handle transfers with offsets in TRXPOS.
- Fix build issue.
2023-08-14 11:21:46 -04:00
Jean-Philip Desjardins
7fb2a410b9 A bit better. 2023-08-14 11:21:46 -04:00
Jean-Philip Desjardins
73404d30a2 Some crude async GS memory readback. 2023-08-14 11:21:46 -04:00
Jean-Philip Desjardins
0bce137da9 Add missing stuff to allow readback of PSMZ16S data formats.
Makes the lens flare occlusion test in Crash Nitro Kart work.
2023-08-14 11:21:46 -04:00
Jean-Philip Desjardins
50f0145f88 Remove obsolete code. 2023-07-31 10:52:08 -04:00
Jean-Philip Desjardins
8c543186da Apply CZipArchiveWriter refactoring. 2023-07-23 17:22:18 -04:00
Jean-Philip Desjardins
1d6d43b0de Fix assert condition. 2023-07-20 18:04:47 -04:00
Jean-Philip Desjardins
3087e2f640 Adjust assert condition. 2023-05-19 14:31:10 -04:00
Jean-Philip Desjardins
fef3302729 Vulkan: Implement basic blending between two outputs in merge circuit.
Fixes Twisted Metal: Black's main menu.
2023-05-16 16:24:58 -04:00
Jean-Philip Desjardins
55d6c28b17 Clear register write buffer indices upon reset. 2023-05-16 16:23:53 -04:00
Jean-Philip Desjardins
d2eba758db Add missing parenthesis. 2023-05-09 11:47:12 -04:00
Jean-Philip Desjardins
aee69ac97c Fix a bunch of warnings. 2023-05-03 21:05:08 -04:00
Jean-Philip Desjardins
6d597ec98b Cleanup. 2023-03-20 17:47:19 -04:00
Jean-Philip Desjardins
5446cb0895 Add some exceptions to avoid presenting the same area twice. 2023-03-15 09:25:29 -04:00
Jean-Philip Desjardins
3fae7ce320 Add basic support for multi read circuit display. 2023-03-09 17:24:14 -05:00
Jean-Philip Desjardins
4de991b9ba Reset some register values when writing to CSR_RESET bit. 2023-03-09 17:24:14 -05:00
Jean-Philip Desjardins
4f618e551e Fix display of XYZ2/3 values.
Now shows a raw uint32 value instead of a float.
2023-03-09 17:23:27 -05:00
Jean-Philip Desjardins
f189519266 Set some thread names. 2022-11-02 11:32:24 -04:00
Jean-Philip Desjardins
322f0c7a1d Make sure we're ready to receive at least one QW if image size is not 0. 2022-10-13 17:42:46 -04:00
Jean-Philip Desjardins
a76c66aece Make PRMODECONT initial value 0. 2022-07-25 11:21:04 -04:00
Jean-Philip Desjardins
b29915bcb5 Add PSMT8H readback format. 2022-02-24 11:41:32 -05:00
Jean-Philip Desjardins
c2083e8015 Fix some variable init. 2022-02-05 18:25:15 -05:00
Jean-Philip Desjardins
f9065b3a7f Add setting to toggle GS RAM reads.
Only used in Vulkan.
2022-02-04 10:48:38 -05:00
Jean-Philip Desjardins
8ef21cca25 Add GetDisplayBounds function. 2021-09-03 13:28:55 -04:00
Jean-Philip Desjardins
0921b535bd Move some frame dump logic in GSHandler.
Use the proper functions to sync memory.
2021-08-18 17:16:25 -04:00
Jean-Philip Desjardins
2f45f328b6 Allow PSMZ32 reads. 2021-04-13 14:03:44 -04:00
Jean-Philip Desjardins
f095d2503e Call proper sync. 2021-03-30 16:01:37 -04:00
Jean-Philip Desjardins
0461e8d70b Make GS memory local to the GPU.
Greatly reduces GPU usage (almost half).
2021-03-30 16:01:37 -04:00
Jean-Philip Desjardins
f875a1eccb Display SCANMSK. 2021-03-24 16:56:13 -04:00
Jean-Philip Desjardins
ef3e3fb101 Limit to 50FPS on PAL. 2021-02-24 16:04:10 -05:00
Björn Gerdau
73cea1a7e0
Set correct defaults for SMODE, DISPLAY 1 and 2. 2021-02-04 01:07:50 +01:00
Jean-Philip Desjardins
d53521bfcf Add widescreen mode. 2020-12-31 16:55:25 -05:00
Jean-Philip Desjardins
efa4547153 Use proper frequency for HSYNC based timers. 2020-12-14 17:56:13 -05:00
Jean-Philip Desjardins
77a8ca6390 Use nice enums instead of meaningless constants. 2020-12-14 17:56:13 -05:00
Jean-Philip Desjardins
c9c215328f Clear BUSDIR upon GS reset. 2020-11-23 16:02:25 -05:00
Björn Gerdau
5ff07ab1b4
Implement GS BUSDIR register 2020-11-06 19:06:59 +01:00
Jean-Philip Desjardins
cda72fa7ff Wait for flip to be complete when finishing.
Causes some strange visual side effects on some platforms.
2020-10-29 13:41:02 -04:00