Stenzek
60ee17e713
System: Fix regtest dumping
2024-05-25 15:58:41 +10:00
Stenzek
1565a2667d
Misc: More format string fixes
2024-05-25 15:48:31 +10:00
Stenzek
22c76d43c3
CPU/PGXP: Reduce vertex cache memory
2024-05-25 02:06:40 +10:00
Stenzek
0f9a255093
System: Fallback to FIFO on AMD (no mailbox support)
2024-05-24 22:48:26 +10:00
Stenzek
98520978a8
System: OSD message corrections
2024-05-24 22:13: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
42a5fe0a6e
GPU: Further improve vsync handling
2024-05-24 02:33:33 +10:00
Stenzek
4e922a34a7
Log: Simplify macros
2024-05-24 02:08:14 +10:00
Stenzek
792717e03e
Misc: Get rid of format string for result logging
2024-05-24 00:30:06 +10:00
Stenzek
9f90f14c48
CPU/CodeCache: Only print code size stats on request
2024-05-24 00:30:06 +10:00
Stenzek
b6d019db66
Misc: Replace log printf calls with fmt
2024-05-24 00:29:49 +10:00
Stenzek
49b2e76dea
GPU/HW: Warning fix
2024-05-23 20:08:14 +10:00
Stenzek
d2f28b6926
GPU: Explicit RemovePathLimits() is no longer needed
2024-05-23 19:52:56 +10:00
Stenzek
10df7ba319
GPU/HW: Ensure CLUT cache is synced when using SW-for-readbacks
2024-05-23 14:30:18 +10:00
Stenzek
6cad97b404
GPUDevice: Make vsync actually tear-free
...
Apparently users prefer stutter over tearing...
2024-05-23 13:52:26 +10:00
Stenzek
dd98b630ea
GameList: Treat disc sets and discs equally when sorting
2024-05-23 12:45:57 +10:00
Stenzek
8709624751
GameList: Fix disc set last played time
2024-05-22 22:46:09 +10:00
Stenzek
14ba3b7312
System: Fix sync to host refresh audio stretching
2024-05-22 22:32:51 +10:00
Stenzek
d9cc80c7f9
WindowInfo: Get refresh rate from monitor config
...
DwmGetCompositionTimingInfo() returns a noisy refresh rate, at least on
Win11 22H2.
2024-05-22 22:16:31 +10:00
Stenzek
08125262bb
System: Fix Edit Memory Cards action for disc sets
2024-05-21 13:55:37 +10:00
Stenzek
1a4679def8
System: Use different conditions for frame dupe-skip
2024-05-20 01:32:33 +10:00
Stenzek
ab4c6f2dde
CPU/NewRec: Enable delay slot swapping in more situations
...
Load delay is always updated, so don't need to swap when it's reading
from a delayed register. Branching on a delayed register will also be
fine, since it won't be flushed by the the branch executes.
2024-05-20 01:12:32 +10:00
Stenzek
09b43f962a
CPU/NewRec: Clear needed on swapped delay slot
...
Fixes panic in BIOS on x86_64 Linux with PGXP enabled.
2024-05-20 01:12:32 +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
14c30dfa80
FullscreenUI: Update string list
2024-05-19 13:19:51 +10:00
Stenzek
1205b75c51
GameList: Reduce logging verbosity
2024-05-19 13:19:51 +10:00
Stenzek
1adaea9005
GameList: Merge multi-disc games
2024-05-18 15:21:44 +10:00
Stenzek
9bdf23cba7
System: Load game settings from first disc of multi-disc games
2024-05-18 15:21:44 +10:00
Stenzek
073ac87be2
GameList: Use string_view for GetEntryForPath()
2024-05-18 15:21:43 +10:00
Stenzek
9b086b7807
CPU: Fix disassembly of rtps/nclip
2024-05-18 00:33:22 +10:00
Stenzek
7476baced6
CPU/PGXP: Track valid Z for lower/upper halves of 32-bit values
...
Dragon Valor writes both lower and upper halfwords separately from
non-valid-Z values. The Z needs to be cleared out.
2024-05-18 00:33:22 +10:00
Stenzek
ea4efb4e52
CPU/PGXP: Prefer fresh over tainted Z values
...
Fixes terrain polygon's Z in Wild Arms 2 after battles.
2024-05-18 00:33:22 +10:00
Stenzek
5672b0da95
CPU/PGXP: sub rd, rs, 0 => move rd, rs
2024-05-18 00:33:22 +10:00
Stenzek
bbac7a60a0
CPU/PGXP: Don't set high bits of flags
2024-05-18 00:33:22 +10:00
Stenzek
37b1aa45dd
CPU/PGXP: Minor optimization to shift instructions
2024-05-18 00:33:22 +10:00
Stenzek
3fd86a69a4
CPU/PGXP: Use component enum
2024-05-18 00:33:22 +10:00
Stenzek
e4bedbbbfa
CPU/PGXP: Readability improvements
2024-05-17 23:46:18 +10:00
Stenzek
29d4e04e3b
CPU/PGXP: Use bit math for flags instead of union
2024-05-17 23:46:18 +10:00
Stenzek
82f3e17b78
CPU: Value logging/tracing for PGXP
2024-05-17 23:46:18 +10:00
Stenzek
a59a42f35b
Qt: Fix translation of %n hours
2024-05-17 14:23:41 +10:00
Stenzek
35bdbf2a55
System: Check host page size on startup
2024-05-16 17:37:23 +10:00
Stenzek
c53717bbe4
System: Rewrite input profile hotkey priority logic
2024-05-16 16:53:13 +10:00
Stenzek
f0a4ceb909
InputManager: Add push to toggle for macros
2024-05-15 21:17:26 +10:00
Stenzek
446750fb66
FullscreenUI: Correct heading sizes
2024-05-15 20:31:12 +10:00
Stenzek
c116e5a1d5
Qt: Consider per-game overrides for Edit Memory Cards menu
2024-05-15 01:50:43 +10:00
Stenzek
18160a8e06
Qt: Add option to pause when controller is disconnected
2024-05-14 16:00:09 +10:00
Stenzek
8f415a44e6
CPU/NewRec: Fix register allocation crash on Linux
2024-05-14 15:13:18 +10:00
Stenzek
e517581041
System: Tidy up some unused code
2024-05-14 15:13:18 +10:00
Stenzek
f3aec0c965
Host: Re-introduce plural translation support
2024-05-13 01:46:45 +10:00
Stenzek
318fd0b0fd
System: Fix triple popup on missing BIOS
2024-05-13 00:07:47 +10:00
Stenzek
be920acf38
System: Get rid of double popup on renderer create error
2024-05-13 00:06:56 +10:00
Stenzek
5808e14b7e
GameDatabase: Warning fix
2024-05-13 00:06:56 +10:00
Stenzek
522c2e3458
FullscreenUI: Use native file selector on Flatpak
2024-05-12 20:28:20 +10:00
Stenzek
37a76a020a
FullscreenUI: Add horizontal padding to menu windows
2024-05-12 18:14:51 +10:00
Stenzek
69e0c1681c
FullscreenUI: Correct pixel alignment of some UI elements
...
Fixes scrollbars showing up at some window sizes.
2024-05-12 17:57:18 +10:00
Stenzek
864b0ad5fe
Qt: Save audio output latency value separately to minimal flag
2024-05-12 17:36:15 +10:00
Stenzek
e7765d26fb
System: Fix double popup on missing SBI file
2024-05-12 17:20:37 +10:00
Stenzek
a4a35b7e58
GPU: Add Bilinear (Integer) scaling option
2024-05-12 15:32:21 +10:00
Stenzek
d3546d18a1
Qt: Add compatibility report in game summary
2024-05-06 00:00:41 +10:00
Stenzek
ffb5682b43
Qt: Add game list excluded folders as well as files
...
Backport of https://github.com/PCSX2/pcsx2/pull/9730
2024-05-05 22:29:26 +10:00
Stenzek
fa104acdd1
Misc: Purge unused code and report startup error to host
2024-05-05 22:29:26 +10:00
Stenzek
ca3cfbaa99
Misc: Pass string_view by value
2024-05-05 22:28:29 +10:00
xujibbs
fea00d0149
FullscreenUI: Mark %d ms for translation ( #3196 )
2024-05-05 12:41:46 +10:00
Stenzek
1185f8f6aa
GPU: Implement CLUT cache (SW renderer only)
...
Fixes copyright screen in Shadow Master.
Fixes title splash in Castrol Honda Superbike Racing.
2024-05-02 01:03:58 +10:00
Stenzek
d1483d8077
GPU: Rework pre-draw clipping
2024-05-02 01:03:58 +10:00
Stenzek
7e22fb08d2
GPU: Add #define'able PSX GPU stats
2024-05-01 23:00:10 +10:00
Stenzek
fec210b1e1
GPU: Ensure coordinates are masked/clamped
2024-05-01 20:58:21 +10:00
Stenzek
25f725c263
GPU: Fix mask for drawing area coordinates
2024-04-28 15:44:41 +10:00
Stenzek
d094978214
Justifier: Add controller implementation
2024-04-28 15:25:24 +10:00
Stenzek
3be02c53c1
GPU: Improve CRTC hblank accuracy
...
And implement Timer0 gating, it was missing previously.
2024-04-28 15:25:24 +10:00
Stenzek
295081fe62
Misc: Replace offsetof with constexpr-friendly OFFSETOF
...
Fixes build with clang-18.
2024-04-28 15:25:24 +10:00
Stenzek
3e99084770
Settings: Fix double source of truth for controller names
2024-04-27 13:21:11 +10:00
Stenzek
d80aa91d49
ImGuiOverlays: Fix >1 controller display
2024-04-27 12:41:47 +10:00
Stenzek
2fc9a6d834
CPU/NewRec: Work around clang <16 structured binding capture bug
2024-04-26 19:23:46 +10:00
Stenzek
1cdfca155d
Qt: Clean and remove empty game settings
2024-04-25 14:02:16 +10:00
Stenzek
5e9a47f82b
Qt: Add volume reset button
2024-04-25 13:24:04 +10:00
Stenzek
7548113afd
System: Move COM init to common code
2024-04-25 12:56:02 +10:00
Stenzek
4139bf63d8
AudioStream: Backport changes
2024-04-25 01:13:51 +10:00
RSDuck
89c0d4900b
Fix post processing menu in the fullscreen UI ( #3187 )
2024-04-23 16:26:46 +10:00
Stenzek
b4999975db
System: Fix pause-on-start running unthrottled
2024-04-23 14:44:08 +10:00
Stenzek
eb91fe31e2
Hotkeys: Add OSD toggle hotkey
2024-04-22 01:52:02 +10:00
Stenzek
3b8afb39f6
System: Don't try to fast boot non-PS1 discs
2024-04-22 01:44:04 +10:00
Stenzek
3fa2bd1d3a
System: Confirm shutdown if memory card is being written
2024-04-22 01:41:42 +10:00
Stenzek
a5613fc815
System: Add OSD message when all enhancements are disabled
2024-04-22 00:38:46 +10:00
Stenzek
b26a9556f7
System: Improve reset determinism
2024-04-22 00:19:44 +10:00
Stenzek
35f0d7f623
CPU: Update debug dispatcher flag on init
2024-04-22 00:08:16 +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
Stenzek
7d80cabf9f
BIOS: Remove questionable hashes
...
And add PS2 hashes.
2024-04-21 14:03:55 +10:00
Stenzek
8867bb129a
CMake: Tidy up build system
...
And fix Windows CMake... who knows how long for.
2024-04-20 21:19:31 +10:00
Stenzek
17b9736899
Misc: Use a 128b cache line size on Apple Silicon
...
Turns out it's not 64 bytes like I assumed. The things you learn.
2024-04-18 20:38:36 +10:00
Stenzek
60f12e77fa
Achievements: Fix fullscreen window height
2024-04-18 20:38:35 +10:00
Stenzek
3bb36f95e2
FullscreenUI: Get rid of extra scrollbar in save state selector
2024-04-18 00:41:37 +10:00
Stenzek
f666816943
ImGuiOverlays: Fix possible crash in save state selector
2024-04-18 00:40:31 +10:00
Stenzek
84b24c6228
Achievements: Fix HC mode activating on reset of non-cheevo game
2024-04-18 00:40:06 +10:00
Stenzek
c1bf1e5369
Qt: Add binding layout for NegConRumble
2024-04-16 15:40:31 +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
4d8ed49b24
FullscreenUI: Fix gaps between some UI elements
...
By rounding sizes up to the nearest pixel.
2024-04-16 15:40:31 +10:00
Stenzek
4e0c417add
FullscreenUI: Add "Open Containing Directory"
2024-04-16 12:49:54 +10:00
Stenzek
6e7a4c3909
FullscreenUI: Exit fullscreen for open-in-file-browser
2024-04-16 12:49:54 +10:00
KamFretoZ
79ccd5f3c3
FullscreenUI: Wire up Open in File Browser functionality ( #3178 )
2024-04-16 12:49:54 +10:00
Stenzek
be1d558be1
GPU/HW: Fix black screen in Metal after vertex ID wraparound
2024-04-15 23:30:58 +10:00
Stenzek
4bcc5a312a
System: Remove log spam
2024-04-14 17:25:23 +10:00
Stenzek
3dedf5fdd5
FullscreenUI: Add missing latency stats option
2024-04-14 17:25:23 +10:00
Stenzek
c149d66d4d
System: Add 'Reduce Input Latency' option
...
i.e. pre-frame sleep.
2024-04-13 19:57:25 +10:00
Stenzek
6258cb9e0e
FullscreenUI: Various minor bug fixes
2024-04-13 19:57:25 +10:00
PugsyMAME
7adbedd341
Renamed Mem Scanner Op Text&added Virtual Address ( #3172 )
...
* Renamed Mem Scanner Op Text&added Virtual Address
Renamed the Memory Scanner Operator Text for clarity. Replaced '...' with 'Value' and 'Previous' with 'Previous Result'.
Also changed "Any Value" to "Any Value ('New Search' or 'Reset Result Value')", Any Valur should really be at the top of the index and the Previous Results should come before the other Value operators. But that's a job for another time.
The Virtual Address extra will display the virtual address of DuckStation's PSX RAM so it can be easily edited with the likes of HXD or another tool where the location of the virtual memory needs to be known.
* Replaced Mem Scanner Op Text with latest English text
Not touched the translations, just added the updated english text for the Memory Scanner "Operator:" text
* Rearranged Memory Scanner Operator class
Re-arranged Memory Scanner Operator class into a more logical order - with likely frequency of use moving item up the list.
New Order:-
Better Order:-
Any Value ('New Search' or 'Reset Result Value') x Any.
Less Than Previous Result x LessThanLast,
Less or Equal to Previous Result x LessEqualLast,
Greater Than Previous Result x GreaterThanLast,
Greater or Equal to Previous Result x GreaterEqualLast,
Not Equal to Previous Result (Changed Value) x NotEqualLast,
Equal to Previous Result (Unchanged Value) x EqualLast,
Decreased By Value x DecreasedBy,
Increased By Value x IncreasedBy,
Changed By Value x ChangedBy,
Equal to Value x Equal,
Not Equal to Value x NotEqual,
Less Than Value x LessThan,
Less or Equal to Value x LessEqual,
Greater Than Value x GreaterThan,
Greater or Equal to Value x GreaterEqual
* Rearranged Memory Scanner Operator class
Changes operator order to:-
Any Value ('New Search' or 'Reset Result Value')
Less Than Previous Result
Less or Equal to Previous Result
Greater Than Previous Result
Greater or Equal to Previous Result
Not Equal to Previous Result (Changed Value)
Equal to Previous Result (Unchanged Value)
Decreased By Value
Increased By Value
Changed By Value
Equal to Value
Not Equal to Value
Less Than Value
Less or Equal to Value
Greater Than Value
Greater or Equal to Value
* Memory Scanner line references updates
Updated <location filename="../memoryscannerwindow.ui" line="???"/> line numbers for the Memory Scanner operation re-ordering.
These are currently the only 4 translation files that make reference to memoryscannerwindow.ui, the other 12 still reference cheatmanagerdialog.ui so not replicated for them as this would only partially fix them - so I left them alone as I hope there's some automated tools to handle it.
* Update src/duckstation-qt/memoryscannerwindow.cpp
2024-04-13 19:57:12 +10:00
Stenzek
e5a024ba85
MetalDevice: Add support for framebuffer fetch
2024-04-12 21:07:16 +10:00
Stenzek
7344661801
GPUDevice: Split submission and presentation
2024-04-11 22:53:02 +10:00
Stenzek
509a8a074c
GPUDevice: Remove unused file
2024-04-11 21:33:40 +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
57f6bda59b
ImGuiFullscreen: Use popup background for all popups
2024-04-11 13:50:04 +10:00
Stenzek
1b1e42d003
System: Add Error to boot/load/save state
2024-04-11 13:42:10 +10:00
Stenzek
1809885927
FullscreenUI: Fix crash with language select on Linux
2024-04-11 12:52:56 +10:00
Bobby Smith
b58862a64a
Disable cheats by default
2024-04-11 12:20:51 +10:00
Stenzek
8c741d2d48
Qt: Update glyph range for zh-CN and purge old obsolete strings
2024-04-10 20:28:00 +10:00
Stenzek
440a1700c0
System: Interrupt execution when loading state and reset
2024-04-10 20:18:30 +10:00
Stenzek
417bf0c3bc
DMA: Better enforce CPU runtime during linked list
...
and get rid of the hack for Newman Haas.
2024-04-10 20:11:23 +10:00
Stenzek
e9ae49b3c4
FullscreenUI: Regenerate strings
2024-04-10 00:07:13 +10:00
Stenzek
bf4e8feb25
FullscreenUI: Redo landing page and add help bar
2024-04-09 23:49:24 +10:00
Stenzek
de1a1af908
FullscreenUI: Avoid per-frame memory allocations with SmallString
2024-04-09 19:54:25 +10:00
Stenzek
631fca3042
SettingsInterface: Add SmallString overloads
2024-04-09 19:54:25 +10:00
Stenzek
71f50566f3
System: Consider pending ticks when using global ticks
2024-04-07 19:01:48 +10:00
Stenzek
8a1b4d8bee
DMA: Halt linked list transfers during pad transfer
...
Plenty of games seem to suffer from this issue where they have a linked list
DMA going while polling the controller. Having a large slice size causes the
serial transfer to complete before the silly busy wait in the BIOS poll routine
returns, resulting in it thinking that the controller is disconnected. Some
games are very sensitive to this (e.g. Newman Haas Racing), to the point that
even using a slice size of 1 is insufficient for avoiding the race, probably
due to the linked list layout.
Therefore, without major refactoring to ensure the CPU runs every DMA block,
and the associated performance penalty, we just halt the DMA until the serial
transfers have completed. To reduce the chances of this significantly affecting
timing, we add accumulate the ticks that have been "lost", and allow them to be
"used up" when the transfer does happen.
2024-04-07 18:55:03 +10:00
Stenzek
8bdeb8bdac
MemoryCardImage: Handle 128KB GME files
2024-04-07 17:06:42 +10:00
Stenzek
1ee5f737ed
MemoryCardImage: Report errors to caller
2024-04-07 13:23:00 +10:00
Stenzek
99b0fb5911
GPU/HW: Move pipelines to end of struct
...
Helps keep the rest in range for ARM32's 4K displacement.
2024-04-06 21:51:52 +10:00
Stenzek
1097eab600
GPU/HW: Don't create shader blend pipelines if disallowed
2024-04-04 13:25:33 +10:00
Stenzek
c2a08bdb1d
CPU/NewRec: Fix ARM32 (again)
2024-04-04 13:25:33 +10:00
Stenzek
a432308908
GPU: Fix GLES compile error
2024-04-04 13:25:33 +10:00
Stenzek
cb6be52404
GameDatabase: Warn if CPU mode is enabled and unnecessary
2024-04-03 22:58:20 +10:00
Stenzek
74f3c8d1aa
GPU/HW: Enable feedback loops for rendering
2024-04-01 18:12:52 +10:00
Stenzek
72ab669e70
GPUDevice: Add support for feedback loops
2024-04-01 13:55:19 +10:00
Stenzek
71a07a5a8e
CPU/NewRec: Fix lwl/lwr on ARM
2024-03-31 23:49:40 +10:00
Stenzek
3ecc19c43f
GPU: Fix HW readback counter
2024-03-31 14:02:44 +10:00
Stenzek
8ebda3cdc8
CPU/NewRec: Fix register corruption in swl/swr
2024-03-31 13:55:19 +10:00
Stenzek
a3013efbca
CPU/NewRec: Fix PGXP desync
...
Wobbly geometry in Threads of Fate.
2024-03-30 00:46:38 +10:00
Stenzek
f9f9447013
SPU: Ignore End+Mute flag for noise channels
...
Fixes the noise effects cutting out too early in Motor Toon Grand Prix.
2024-03-29 15:08:14 +10:00
Stenzek
2b7008bd93
GPU/HW: Fix box downsampling with FMVs
2024-03-29 12:37:10 +10:00
Stenzek
c41563c7dc
Pad: Fix unconditional memory card replug on load state
2024-03-29 12:34:42 +10:00
Stenzek
e54ad1956a
GPU/HW: Fix height incorrect doubling in interleaved 480i mode
2024-03-29 12:17:13 +10:00
Stenzek
de1e5b24fb
CDROM: Don't send reports when subq isn't valid
2024-03-26 01:20:33 +10:00
Stenzek
83ebad1129
System: Leave title empty when booting physical audio CDs
2024-03-25 23:24:41 +10:00
Stenzek
7b8704aba1
System: Fix incorrect sanitization of memcard filenames
2024-03-25 23:24:41 +10:00
Stenzek
480c78502f
System: Fix crash toggling debug GPU device
...
When postfx is enabled.
2024-03-24 22:32:44 +10:00
Stenzek
43fc9f1ef2
Settings: Support saving WebP screenshots
2024-03-24 16:03:00 +10:00
Stenzek
b143d96476
Build: Use deps DLLs on Windows
2024-03-24 16:02:59 +10:00
Stenzek
8c09e9389d
GameDB: Add DisablePGXPPreserveProjFP trait
...
And add it to Crash Team Racing.
2024-03-23 14:11:28 +10:00
Stenzek
604dd5df40
Qt: Add copy/clear game settings
2024-03-21 00:50:57 +10:00