349 Commits

Author SHA1 Message Date
Stenzek
af47eb6956
System: Add video capture feature 2024-08-11 21:06:58 +10:00
Stenzek
aeb9d383ce
System: Add save state compression mode options 2024-08-06 17:02:21 +10:00
Stenzek
02fbfae6a0
System: Add advanced 'Export Shared Memory' option
Memory map is exported as duckstation_<pid>. Previously, this only
worked on Windows, now it is extended to Linux as well.
2024-08-04 20:28:07 +10:00
Stenzek
7a3a72ec3d
GPU: Add display rotation option 2024-07-26 23:09:33 +10:00
Stenzek
2a617c505a
GPU/HW: Support using ROV for accurate blending 2024-07-23 14:46:06 +10:00
Stenzek
deed0c9713
GameDatabase: Merge compatibility messages 2024-07-22 14:59:55 +10:00
Stenzek
7c45ad3fed
GameList: Add dedicated gameicons directory 2024-07-11 17:17:25 +10:00
Stenzek
de27e5de92
GPU: Add option to disable PGXP on 2D polygons 2024-07-09 20:37:58 +10:00
Stenzek
34f20798a1
GPU/HW: Add separate 3D/2D (sprite) texture filtering 2024-06-17 15:56:56 +10:00
Stenzek
3d6b9e18c5
Settings: Include cheats in disable-all-enhancements 2024-06-16 19:22:09 +10:00
Stenzek
8455c9c3c6
GPU/HW: Add 'Force Round Upscaled Texture Coordinates' 2024-06-16 19:09:46 +10:00
Stenzek
55d96f86f0
System: Add "Disable Mailbox Presentation" option
Partial backport of https://github.com/PCSX2/pcsx2/pull/11296
2024-05-26 22:38:35 +10:00
Stenzek
83df785558
Settings: Default threaded presentation to off 2024-05-26 22:38:35 +10:00
Stenzek
4311e08726
System: Implement PINE server 2024-05-26 22:38:35 +10:00
Stenzek
49e3663dfe
Settings: Purge max display FPS option
No longer needed since we pull it from the surface instead.
2024-05-24 02:33:33 +10:00
Stenzek
4e922a34a7
Log: Simplify macros 2024-05-24 02:08:14 +10:00
Stenzek
b6d019db66
Misc: Replace log printf calls with fmt 2024-05-24 00:29:49 +10:00
Stenzek
5b4f74122c
System: Add "Skip Duplicate Frame Display" option
Skips the presentation/display of frames that are not unique.
Can be combined with driver-level frame generation to increase
perceptible frame rate. Can result in worse frame pacing, and is
not compatible with syncing to host refresh.
2024-05-20 01:12:32 +10:00
Stenzek
18160a8e06
Qt: Add option to pause when controller is disconnected 2024-05-14 16:00:09 +10:00
Stenzek
a4a35b7e58
GPU: Add Bilinear (Integer) scaling option 2024-05-12 15:32:21 +10:00
Stenzek
ca3cfbaa99
Misc: Pass string_view by value 2024-05-05 22:28:29 +10:00
Stenzek
3e99084770
Settings: Fix double source of truth for controller names 2024-04-27 13:21:11 +10:00
Stenzek
a5613fc815
System: Add OSD message when all enhancements are disabled 2024-04-22 00:38:46 +10:00
Stenzek
0fbc1a3a8a
AudioStream: Add surround expansion via FreeSurround 2024-04-21 23:30:46 +10:00
Stenzek
d3c12fecb3
Qt: Move dump audio on startup out of settings 2024-04-21 20:28:20 +10:00
Matheus Fraguas
07c012aee5
Negcon rumble (#3177)
* Implemented NeGcon with rumble. Code is a mix of the existing NeGcon AnalogController modes.

* Fix negcon id reply and analog/digital toggle.

* Implemented NeGcon with rumble. Code is a mix of the existing NeGcon AnalogController modes.

* Fix negcon id reply and analog/digital toggle.

* Update macros

* Code cleanup
2024-04-16 15:40:31 +10:00
Stenzek
c149d66d4d
System: Add 'Reduce Input Latency' option
i.e. pre-frame sleep.
2024-04-13 19:57:25 +10:00
Stenzek
88270771da
System: Combine VRR and Optimal Frame Pacing
GSync/FreeSync display users should:
 - DISABLE VSync.
 - ENABLE Optimal Frame Pacing.
2024-04-11 21:33:40 +10:00
Stenzek
fec36471b8
Settings: Use RealPath() for directories 2024-04-11 14:44:43 +10:00
Stenzek
43fc9f1ef2
Settings: Support saving WebP screenshots 2024-03-24 16:03:00 +10:00
Stenzek
604dd5df40
Qt: Add copy/clear game settings 2024-03-21 00:50:57 +10:00
Stenzek
9703542775
AudioStream: Re-add SDL backend 2024-03-20 22:46:20 +10:00
Stenzek
1ab7850ed0
GPU: Rewrite deinterlacing and add adaptive/blend modes 2024-03-16 14:14:15 +10:00
Stenzek
250b1bea8f
GPU: Use Image class for screenshot saving 2024-03-06 23:55:18 +10:00
Stenzek
e2024f6175
System: Change "Auto Load Cheats" to "Enable Cheats" 2024-03-03 14:03:07 +10:00
Stenzek
a1d7d214cf
GPUDevice: Add support for VRR and relaxed vsync 2024-03-03 14:03:07 +10:00
Stenzek
04b837a418
Qt: Redesign graphics settings panel
Add screenshot format/type.
2024-03-02 21:21:20 +10:00
Stenzek
713d396a7e
GPU/HW: Add quad line detection (Wild Arms 2) 2024-03-02 17:13:19 +10:00
Stenzek
b34742cdd2
GPU/HW: Slightly reduce struct size 2024-03-01 13:51:16 +10:00
Stenzek
ab83247de3
GLContext: Rename to OpenGLContext 2024-02-25 20:30:41 +10:00
Stenzek
a957fb669d
StringUtil: Fix inequal-length EqualNoCase 2024-02-04 15:22:38 +10:00
Stenzek
a231fd4f22
Settings: Fix Match Window on Android 2024-01-22 14:41:19 +10:00
Stenzek
150ab8f4af
GPU: Add host/hardware stats 2024-01-22 14:41:19 +10:00
Hugo Locurcio
cc94b76037
Add debanding option to improve gradient smoothness with truecolor
This option only has an effect if true color is also enabled.
2024-01-19 01:05:21 +01:00
Stenzek
73cee9f705
Settings: Add UserResources to EmuFolders
Allowing some resources, such as fonts/sounds to be overridden by the
user.
2024-01-10 22:46:57 +10:00
Stenzek
044eb589f9
Settings: Expose disable texture buffers/copy to self options 2023-12-27 01:44:08 +10:00
Stenzek
62d2f12236
Settings: Expose exclusive fullscreen control 2023-12-25 23:44:15 +10:00
Stenzek
e382f2b64a
Settings: Add option to disable DSB/fbfetch 2023-11-28 14:38:38 +10:00
Stenzek
3ab27e7220
FullscreenUI: Remove Pause on Menu open
And always pause. The option never really worked correctly.
2023-11-06 23:17:58 +10:00
Stenzek
38bc2bd057
CDROM: Add option to choose emulated mechacon version 2023-11-05 14:43:38 +10:00
Stenzek
edae13d9e4
CDROM: Log command parameters 2023-11-05 13:32:25 +10:00
Stenzek
dde54fbba9
Settings: Fix incorrect type for Display/Scaling 2023-11-05 02:33:42 +10:00
Stenzek
9501439d6b
CPU: Add new experimental recompiler 2023-10-18 00:49:01 +10:00
Stenzek
a96111eaeb Misc: Swap make_array() for size deduction 2023-10-02 13:33:33 +10:00
Stenzek
15b29b4caa Settings: TTY logging is no longer an enhancement 2023-09-30 21:36:43 +10:00
Stenzek
4ad777f54f Qt: Add log window 2023-09-30 15:09:07 +10:00
Stenzek
7edb57ca15 Settings: Add Default renderer option 2023-09-23 14:14:52 +10:00
Stenzek
ac0601f408 Common: Drop String, add SmallString 2023-09-23 14:14:52 +10:00
Stenzek
846f74c86d Achievements: Backports from PCSX2 2023-09-18 22:38:11 +10:00
Stenzek
68b59ee748 CMake: Swap USE_ and WITH_ for ENABLE_
Consistency.
2023-09-17 12:36:52 +10:00
Stenzek
a37e89b52f CMake: Remove unsupported options 2023-09-16 19:00:29 +10:00
Stenzek
c773c763ef Achievements: Switch to rc_client 2023-09-16 19:00:29 +10:00
Stenzek
585cf25ac4 GPU: Add downsample scale option 2023-09-03 17:10:40 +10:00
Stenzek
7ad1b8d093 GPU: Add wireframe rendering/overlay 2023-09-02 22:26:03 +10:00
Stenzek
09e7a5843f GPU: Add scaling shader support
Currently only Bilinear (Sharp).
2023-08-31 23:38:11 +10:00
Stenzek
9e7d48cf85 Settings: Ensure Reshade directory gets created 2023-08-30 02:02:53 +10:00
Stenzek
199c53f3af BIOS: Replace TTY patch with syscall hook 2023-08-30 00:44:01 +10:00
Stenzek
b217f64bcf PostProcessing: Refactor config to use separate sections 2023-08-30 00:44:01 +10:00
Stenzek
e23c9875d5 Misc: Split core and util Host 2023-08-30 00:44:00 +10:00
Stenzek
dc9c99438b Misc: Post-refactor cleanups 2023-08-24 18:01:32 +10:00
Stenzek
c7f987bfb7 System: Share memory cards in multi-disc games
Even without playlists.
2023-08-23 18:41:14 +10:00
Stenzek
e3d9ba4c99 Rewrite host GPU abstraction
- Don't have to repeat the same thing for 4 renderers.
 - Add native Metal renderer.
2023-08-20 21:55:38 +10:00
Stenzek
d09e5051ca Settings: Translate display names in core
Enables the values to show in the Big Picture UI.
2023-08-20 13:25:45 +10:00
Stenzek
e57ad0b6aa Host: Backport translations cache
Note: You'll need a new command line for lupdate.

..\..\..\dep\msvc\qt\6.5.0\msvc2022_64\bin\lupdate.exe ../ ../../core/ ../../util/ -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATE,QT_TRANSLATE_NOOP+=TRANSLATE_SV,QT_TRANSLATE_NOOP+=TRANSLATE_STR,QT_TRANSLATE_NOOP+=TRANSLATE_FS,QT_TRANSLATE_N_NOOP3+=TRANSLATE_FMT,QT_TRANSLATE_NOOP+=TRANSLATE_NOOP -ts duckstation-qt_LANGUAGE.ts
2023-08-20 12:40:47 +10:00
Stenzek
1ec6aee5bf Host: Split translation macros dependent on return type 2023-08-20 12:40:47 +10:00
Stenzek
bb60170d9a Move frontend-common to util/core 2023-08-16 01:13:00 +10:00
Stenzek
9aa6c24620 System: Store game hash as well as serial 2023-05-15 23:39:07 +10:00
Stenzek
84e5fbe0c6 CPU: HLE implementation of PCDrv (host file access) 2023-04-29 20:45:39 +10:00
Stenzek
3673827363 PAD: Intelligently skip saving memcard state for runahead 2023-03-16 21:22:08 +10:00
Stenzek
595abd27dd Settings: Disable block linking when runahead is active 2023-03-16 20:08:09 +10:00
Superstarxalien
afaedfedc9 Revert "Improve Integer Scaling behavior" and instead offer as a setting 2023-01-23 13:44:44 -04:00
Superstarxalien
51d1587b21 Improve Integer Scaling behavior
...so it always upscales the display from the framebuffer to fit the aspect ratio by stretching either horizontally or vertically instead of always stretching horizontally, which sometimes (actually most of the time) downscales the image
2023-01-21 14:51:55 -04:00
Connor McLaughlin
5b600602c2 Settings: Make disable-all-enhancements use new MDEC routines 2023-01-13 21:03:35 +10:00
Connor McLaughlin
af5d49649c MDEC: Add option to use old conversion routines
That way texture packs for games which use MDEC for decoding
backgrounds will still be compatible.
2023-01-12 17:01:04 +10:00
Connor McLaughlin
19b4f4e921 System: Add frame time graph 2023-01-07 13:10:43 +10:00
Connor McLaughlin
3082fd55d7 Qt: Add output audio device selection 2022-12-14 17:58:14 +10:00
Connor McLaughlin
8c7a192128 Misc: Add copyright/license statement to applicable files
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Spencer Alves
ffa120d4e2 Achievements: Fix building Qt frontend with achievements disabled 2022-11-15 18:32:40 +10:00
Connor McLaughlin
a6a52b31ad Achievements: Add option to disable notifications 2022-11-05 15:01:48 +10:00
Connor McLaughlin
b6686b8239 System: Preserve controller type on core settings reset 2022-10-21 00:30:42 +10:00
Connor McLaughlin
0709f92ac1 Misc: Cleanup/deduplicate from c9cba5e 2022-10-13 17:37:39 +10:00
nobody
553d58052b Expose Display Host Aligment as a Setting in Ini 2022-10-09 00:55:56 -04:00
Connor McLaughlin
1745d3e803 Settings: Don't allow both runahead and rewind 2022-10-08 23:36:24 +10:00
Connor McLaughlin
550b4928c2 Achievements: Backports from PCSX2 2022-10-08 20:25:42 +10:00
Connor McLaughlin
10f98106dd Misc: Normalize code vs serial usage 2022-10-05 18:29:44 +10:00
Connor McLaughlin
971bba07d6 GPU: Make perspective-correct color interpolation toggleable 2022-10-03 21:08:41 +10:00
Hugo Locurcio
8152b99ea4
Warn about the high performance cost of JINC2 and xBR filtering
These options (especially xBR) have a very high cost. In my experience,
xBR has a greater impact on the framerate than enabling 4× SSAA or PGXP
in CPU mode (whose quality increase is much more obvious).

These options are also essentially unusable on mobile, regardless of
how powerful your device is. As a result, this adds warnings both
in the option names and the description.

Bilinear filtering is not affected by this performance cost, as GPUs
can perform this in hardware without having to emulate filtering
through a shader.
2022-09-22 14:23:31 +02:00
Connor McLaughlin
d26fef3e4e Achievements: Add leaderboard toggle (+ some minor fixes) 2022-09-21 23:47:58 +10:00
Connor McLaughlin
5568de1e03 Achievements: Add sound effects 2022-09-21 23:06:23 +10:00
Connor McLaughlin
bec0d6e7df HostDisplay: Add GPU usage statistics 2022-09-03 14:17:51 +10:00