Stenzek
c1792108f4
GPU/HW: Eliminate raw texture pipeline permutations
2024-06-16 17:09:24 +10:00
Stenzek
ef69c31e9f
GPUDevice: Support transpiling shaders at compile time
...
And use it for GLSL postprocessing shaders.
2024-06-14 21:21:34 +10:00
Stenzek
f0c2832d03
Dep: Update vixl to 662828c
2024-06-14 17:42:24 +10:00
Stenzek
8124fb2ef5
CDROM: Fix incorrect sector dropped log message
2024-06-13 18:35:02 +10:00
Stenzek
9a88cbce09
Pad: Fix incorrect card mismatch OSD message
2024-06-13 18:35:02 +10:00
Stenzek
c86f6eb639
Achievements: Fix incorrect data source for mastery points
2024-06-13 18:35:02 +10:00
Stenzek
ac1bb905fe
GPU: Set idle bit during VRAM upload
...
Tenga Seiha does a bunch of completely-invalid VRAM writes on boot, then
expects GPU idle to be set. It's unclear what actually happens, I need to
write another test, but for now, just skip these uploads. Not setting GPU
idle during the write command breaks Doom, so that's not an option.
2024-06-13 18:35:02 +10:00
Stenzek
354b250642
PostProcessing: Add native width/height inputs
...
Available in GLSL as GetNativeSize(), GetUpscaleMultiplier(), and in
reshade as native_width/native_height/upscale_multiplier.
GetPaddedOriginalSize() is now deprecated, as it does not make since
since the postfx shader runs with a window-sized off-screen target as an
input, not the internal render texture.
2024-06-11 14:04:45 +10:00
Stenzek
b464b6d668
FullscreenUI: Fix loading undo state from menu
2024-06-11 13:07:47 +10:00
Stenzek
8595175267
CDROM: Improve accuracy of sector redelivery on DMA complete
...
Fixes hang in loading in Syphon Filter 2/3.
2024-06-09 19:47:51 +10:00
Stenzek
34861074c1
CDROM: Ensure complete IRQs for Init go through
...
Fixes booting games with OpenBIOS and its Init spam.
2024-06-08 16:58:08 +10:00
Stenzek
7222c21cd9
CDROM: Further refine interrupt delay
2024-05-31 23:59:44 +10:00
Stenzek
3e3572c410
DMA: Fix range check in mode0 when decrementing
...
Fixes lag on startup in Clone (Euro Demo 42).
2024-05-31 23:08:07 +10:00
Stenzek
c637e2b337
System: Fix title after loading state for EXE-boot
2024-05-31 21:08:45 +10:00
Stenzek
e70f155054
MemoryCard: Implement GetID command
2024-05-31 21:08:21 +10:00
Stenzek
8ef73203b2
Bus: Ignore SPU byte writes to unaligned addresses
2024-05-31 21:00:55 +10:00
Stenzek
a7543ab365
GPU/HW: Fix crash on VRAM write/copy with mask test
2024-05-31 20:39:31 +10:00
Stenzek
627c12bebe
GPU: Fix IRQ request
2024-05-31 20:39:18 +10:00
Stenzek
73136d7dc4
GPU: Tie idle bit to FIFO emptyness on VRAM write
...
Fixes Tenga Seiha lockup on boot.
2024-05-31 20:12:59 +10:00
Stenzek
53600746c7
GPU: Cancel VRAM writes on Reset
2024-05-31 19:49:40 +10:00
Stenzek
d013438810
CDROM: Rewrite BFRD handling
...
Fixes hang on startup in Unirom.
2024-05-31 19:45:42 +10:00
Stenzek
723af4de3a
Misc: Loading old save state versions is unlikely
2024-05-31 18:48:26 +10:00
Stenzek
3063101274
CDROM: Implement 0x60 test command
...
Apparently needed for unirom.
2024-05-30 22:34:06 +10:00
Stenzek
7682cd2c10
System: Generate hash serials when running PS-EXE
...
Allows for per-game settings.
2024-05-30 22:21:52 +10:00
Stenzek
25bf2b3adc
CDROM: Clear async interrupt on read/seek start
...
Fixes broken audio in Road Rash.
2024-05-30 20:49:58 +10:00
Stenzek
039796690c
GPU/HW: Fix a couple of out-of-order UBO pushes
2024-05-28 17:38:28 +10:00
Stenzek
2eb0085539
System: Fix inverted volume selection
2024-05-27 11:58:42 +10:00
Stenzek
015804c434
System: Move GDB server into core
2024-05-27 00:18:05 +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
328a3cd7af
System: Prevent save states while memory cards are being saved
2024-05-25 17:42:12 +10:00
Stenzek
2ff1f398a3
CDROM: Handle INT1 with pending command
...
Fixes lockup during track playback in Gokujou Parodius Da! Deluxe Pack.
2024-05-25 16:10:09 +10:00
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
Stenzek
3085172ffd
FullscreenUI: Update translation strings
2024-03-20 22:48:23 +10:00
Stenzek
9703542775
AudioStream: Re-add SDL backend
2024-03-20 22:46:20 +10:00
Stenzek
e70f0e1bc1
GPU/HW: Use texelFetch() instead of sampler
2024-03-20 21:56:20 +10:00
Stenzek
a4a58c6ba2
SPU: Implement volume sweep phase inversion
2024-03-20 21:55:55 +10:00
Stenzek
2003c9452b
DMA: Properly handle bus errors and DICR transitions
2024-03-18 02:07:42 +10:00
Stenzek
fa6850902a
CPU: Make interrupts actually edge-triggered
2024-03-18 01:46:19 +10:00
Stenzek
e755e15c69
GPU: Fix GLSL compile error
2024-03-17 00:07:18 +10:00
Stenzek
1ab7850ed0
GPU: Rewrite deinterlacing and add adaptive/blend modes
2024-03-16 14:14:15 +10:00
Stenzek
43eb6e20fa
System: Improve screenshot naming
2024-03-16 14:14:15 +10:00
Stenzek
6aa491f863
GPU: Ensure screenshots are saved before shutdown
2024-03-16 14:14:15 +10:00
Stenzek
9211d9f2e3
Path: Add CreateFileURL()
2024-03-16 14:10:35 +10:00
Stenzek
d1a1cab9a9
Bus: Direct KUSEG+KSEG0 isolated cache reads to ICache
2024-03-13 14:14:40 +10:00
Stenzek
3395853ba2
CDROM: Fix overflow in UpdatePositionWhileSeeking()
2024-03-13 14:14:40 +10:00
Stenzek
8fe86ff690
GPU/HW: Fix another buffer unmapping case
2024-03-08 21:16:00 +10:00
Stenzek
7159330f63
GPU/HW: Ensure buffers are unmapped before present
...
Darn DX11...
2024-03-08 13:43:22 +10:00
Stenzek
25db163347
System: Fix incorrect save state screenshot size
2024-03-08 04:12:50 +10:00
Stenzek
c854b8f85e
Image: Swap stb for libpng/libjpeg
2024-03-07 00:02:35 +10:00
Stenzek
250b1bea8f
GPU: Use Image class for screenshot saving
2024-03-06 23:55:18 +10:00
Stenzek
620d08f72d
Build: Move Image from common to util
2024-03-06 16:09:21 +10:00
Stenzek
f80ead6a21
GameDB: More settings
2024-03-05 00:02:22 +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
96f29d9b99
System: Warn if compatibility settings are disabled
2024-03-02 21:21:20 +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
250fb56838
GPU/HW: Switch to indexed draws
2024-03-01 15:33:00 +10:00
Stenzek
b34742cdd2
GPU/HW: Slightly reduce struct size
2024-03-01 13:51:16 +10:00
Stenzek
d50ba989ae
Settings: Use bitfields for bool
...
Slightly more compact, memory-wise.
2024-03-01 13:42:29 +10:00
Stenzek
f936a36c85
GPUDevice: Add GPUDownloadTexture
...
Which can also be based in host/client memory.
Use it for screenshots and VRAM downloads.
2024-02-29 18:56:50 +10:00
Stenzek
411213d6a0
GPU: Make VRAM a global object
2024-02-29 17:00:51 +10:00
Stenzek
7340324ed9
CDROM: Accuracy improvements
2024-02-29 17:00:51 +10:00
Stenzek
71094a0e44
CPU: Implement memory breakpoints/watchpoints
2024-02-28 00:02:02 +10:00
Stenzek
ef4389cea8
Qt: Cache CPU register values
...
That way they don't update while running.
2024-02-27 22:38:43 +10:00
Stenzek
4599109854
CPU/CodeCache: Clear backpatch info for blocks when recompiled
2024-02-27 22:16:59 +10:00
Stenzek
454cceab80
CPU/CodeCache: Move backpatch lookup after RAM check
...
Saves a map lookup if we're just invalidating code.
2024-02-27 21:04:26 +10:00
Stenzek
eb7b6d217d
System: Ensure GPU is flushed before invalidating on pause
2024-02-27 21:04:26 +10:00
Stenzek
eeef0a92bb
CPU: Make single step go through the "normal" execution path
...
That way it exits and re-enters the dynarec as expected.
2024-02-27 21:04:25 +10:00
Stenzek
4a70164dac
CMake: Determine host page size at build time
...
Needed for running on Asahi Linux.
2024-02-25 20:30:41 +10:00
Stenzek
ab83247de3
GLContext: Rename to OpenGLContext
2024-02-25 20:30:41 +10:00
Stenzek
c1381cfda6
System: Gracefully handle memory allocaion failure
2024-02-25 20:30:41 +10:00
Stenzek
ff9dc11a38
CPU/CodeCache: Increase frame delta for manual protected blocks
...
Reduces stutter in Wild Arms 2.
2024-02-24 15:06:24 +10:00
Stenzek
35cdfc5ef7
CPU: Move PGXP registers earlier in struct
2024-02-24 14:57:31 +10:00
Stenzek
53c0dc8bbc
CPU/NewRec: Speculative execution for mult/div
2024-02-24 14:57:30 +10:00
Stenzek
175d2a17f7
CPU/NewRec: Don't panic on unused opcodes
2024-02-24 14:57:29 +10:00
KamFretoZ
1f6636f62b
Qt: Icon updates
2024-02-18 15:44:12 +09:00
Stenzek
1faecd8853
Qt: Fix labels when changing multi-tap controller type
2024-02-15 22:06:01 +09:00
Tobias Jakobi
739729516e
Core: Add missing standard library includes
2024-02-06 23:48:45 +10:00
Stenzek
8e7b212b03
System: Clear cheat list on reset
2024-02-06 22:24:33 +09:00
Stenzek
f6dc80cefa
GameDatabase: Use TitleCase for traits
2024-02-04 16:47:26 +10:00
Stenzek
8ffc50a2a5
Data: Remove JSON GameDB
2024-02-04 16:14:05 +10:00
Stenzek
d7a1c447c6
GameDatabase: Switch to YAML
2024-02-04 16:14:05 +10:00
Stenzek
a957fb669d
StringUtil: Fix inequal-length EqualNoCase
2024-02-04 15:22:38 +10:00
Stenzek
c2c3eac749
Build: Use shared webp/zstd/zlib
2024-02-03 19:41:56 +10:00
Stenzek
cdb614a51f
GPU/HW: Fix possible crash (again)
2024-02-03 16:00:24 +10:00
Stenzek
cdea4eb68b
GPU/HW: Fix possible crash on setting change
2024-01-31 20:02:34 +10:00
Stenzek
ad41c81fa8
ImGuiOverlays: Fix incorrect animation when opening state selector
2024-01-31 00:53:30 +10:00
Stenzek
af2042e713
GPU/HW: Fix toggling PGXP depth buffer causing black screen
2024-01-31 00:53:30 +10:00
Stenzek
14e3969736
Misc: Warning fixes
2024-01-26 14:31:03 +10:00
Stenzek
b545234152
CPU/NewRec/AArch32: Fix double condition
2024-01-25 13:42:41 +10:00
Stenzek
4f347bf626
Qt: Add missing display setting help text
2024-01-24 13:56:22 +10:00
Hugo Locurcio
1b8e75e90b
Take widescreen hack into account when determining automatic resolution scale
...
At widescreen aspect ratios, a greater resolution scale factor is required
to maintain crisp visuals. For instance, a 16:9 output requires ~1.333×
the resolution scale of a 4:3 output (as 16:9 is ~1.333× wider than 4:3).
This improves visuals at widescreen aspect ratios when the widescreen hack
is enabled, especially for ultrawide.
2024-01-22 14:41:19 +10:00
athenavr
5e2c6d24b9
Add independent settings for NeGcon axes ( #3094 )
...
* Add independent settings for NeGcon axes
* TOSQUASH coverage of the full NeGcon twisting range
2024-01-22 14:41:19 +10:00
Stenzek
37e8d1ab86
GPU/HW: Fix VRAM write replacements
2024-01-22 14:41:19 +10:00
Stenzek
a7b7ce2720
System: Fix crash with replacement precaching
2024-01-22 14:41:19 +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
Stenzek
884c851079
CPU: Fix GTE control register disassembly
2024-01-21 02:45:09 +10:00
Stenzek
f66866ed73
GPUDevice: Use Error class for initialization errors
2024-01-21 00:18:33 +10:00
Stenzek
429cb4f351
Qt: Allow toggling fullscreen when VM is paused
2024-01-21 00:07:32 +10:00
Stenzek
b98ac8722a
FullscreenUI: Move functionality to Host
2024-01-20 20:29:33 +10:00
Stenzek
bc04854ed3
GPU/HW: Bump shader cache version
2024-01-20 02:14:56 +10:00
Stenzek
687e212dfe
GPU/HW: Shader compile fix
2024-01-20 02:14:36 +10:00
Stenzek
37276472eb
Qt: Tidy up Enhancement settings
2024-01-19 21:40:44 +10:00
Stenzek
f369724b7c
dep/imgui: Update to v1.90.1
2024-01-19 21:22:26 +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
5f9eef585f
Achievements: Wrap long achievement descriptions
2024-01-14 01:44:21 +10:00
Stenzek
eae4f73f94
Achievements: Open cheevo details in browser when selected
2024-01-14 01:44:21 +10:00
Stenzek
da9e3064c2
Achievements: Display missable/progression/win icons
2024-01-14 01:44:21 +10:00
Stenzek
e86cf51a48
GPU/HW: Handle palette VRAM wrapping
...
Fixes block colours in The Next Tetris.
2024-01-13 13:54:51 +10: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
fcbae6cef3
GPU/HW: Fix off-by-one in dirty rect checks
...
Fixes transitions in Crash 3.
2024-01-08 15:49:05 +10:00
Stenzek
32f5482ad2
CPU: Inhibit debug dispatcher when COP0 BP is invalid
2024-01-01 15:25:48 +10:00
Stenzek
cc84952fdc
AnalogController: Minimum deadzone/activation threshold should be 1%
2023-12-31 19:42:52 +10:00
Stenzek
12b9cf1898
GPU: Fix crash when trying to postprocess surfaceless
2023-12-31 19:40:45 +10:00
Connor McLaughlin
e60654de38
Merge pull request #3080 from tobiasjakobi/different-types-fix
...
CPU/Recompiler: Fix build error
2023-12-28 18:54:36 +10:00
Stenzek
6d3e3f78da
System: Shorten libcrypt error on Android
2023-12-28 15:37:22 +10:00
Stenzek
958b033a66
PostProcessing: Fix assertion on some shader/texture formats
2023-12-28 15:31:03 +10:00
Stenzek
98d5b98ab1
GPU/HW: Fix incorrect pipeline layout with texture buffers disabled
2023-12-27 02:03:50 +10:00
Stenzek
044eb589f9
Settings: Expose disable texture buffers/copy to self options
2023-12-27 01:44:08 +10:00
Tobias Jakobi
dbe29bd5ca
CPU/Recompiler: Fix build error
...
Build currently fails on a GCC 13.2.x with:
/var/tmp/portage/games-emulation/duckstation-9999/work/duckstation/src/core/cpu_recompiler_code_generator.cpp: In member function ‘bool CPU::Recompiler::CodeGenerator::Compile_Bitwise(CPU::Instruction, const CPU::CodeCache::InstructionInfo&)’:
/var/tmp/portage/games-emulation/duckstation-9999/work/duckstation/src/core/cpu_recompiler_code_generator.cpp:1330:81: error: operands to ‘?:’ have different types ‘BitField<unsigned int, CPU::Reg, 16, 5>’ and ‘BitField<unsigned int, CPU::Reg, 21, 5>’
1330 | PGXP::PackMoveArgs(dest, lhs.HasConstantValue(0) ? instruction.r.rt : instruction.r.rs)),
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/games-emulation/duckstation-9999/work/duckstation/src/core/cpu_recompiler_code_generator.cpp:1362:81: error: operands to ‘?:’ have different types ‘BitField<unsigned int, CPU::Reg, 16, 5>’ and ‘BitField<unsigned int, CPU::Reg, 21, 5>’
1362 | PGXP::PackMoveArgs(dest, lhs.HasConstantValue(0) ? instruction.r.rt : instruction.r.rs)),
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-12-26 13:07:28 +01:00
Stenzek
62d2f12236
Settings: Expose exclusive fullscreen control
2023-12-25 23:44:15 +10:00
Silent
8d491d3faa
System: Mark the VM as Stopping in ShutdownSystem unconditionally
...
Fixes an issue where Discord RPC didn't revert to "No Game Running"
on shutdown.
2023-12-23 15:27:10 +01:00
Silent
d08a40bcd8
DiscordRPC: Show session time in Discord Rich Presence
2023-12-23 15:19:22 +01:00
Stenzek
8fe6ef1fa8
CPU/NewRec: Allocate callee-saved registers before caller-saved
2023-12-21 02:00:19 +10:00
Stenzek
b7c3c76014
CPU/NewRec/RISCV64: Implement PGXP
2023-12-21 02:00:19 +10:00
Stenzek
36643fe78b
GameList: Add "File Size" field
2023-12-20 23:40:28 +10:00
Stenzek
bbd021bd5f
DMA: Memory wraparound is unlikely
2023-12-20 22:44:50 +10:00
Stenzek
48a1282a08
GPU/HW: Fix incorrect layout for non-buffer VRAM write
2023-12-20 22:42:32 +10:00
Stenzek
dc5e4120cd
GPUDevice: Improve texture pooling
2023-12-20 22:42:32 +10:00
Stenzek
5ef2ba0eb2
GPU/HW: Add fallback path for no-texture-buffers
...
Yay, old Mali drivers without SSBOs...
2023-12-19 22:38:36 +10:00
Stenzek
f5ddd7ba32
DMA: Template transfer functions
...
~20% speedup in FMV playback on a Ryzen 9 7950X3D. CPUs hate branches.
2023-12-19 22:38:36 +10:00
Stenzek
b9665e83a3
MSBuild: Only link with Zydis in Debug builds
2023-12-19 22:38:35 +10:00
Stenzek
cf45047463
CI/Windows: Use Clang-CL instead of MSVC
2023-12-19 22:38:35 +10:00
Stenzek
21bbe5c76c
CPU/CodeCache: Fix page error when rewinding
2023-12-19 22:38:27 +10:00
Stenzek
6a7dea6908
CPU/CodeCache: Fix rewinding on Apple Silicon
2023-12-18 21:01:57 +10:00
Stenzek
7829abc014
MSBuild: We don't need WinPixEventRuntime in Release builds
2023-12-18 20:50:36 +10:00
Stenzek
df08e122c3
System: Fix rewind throttling at half speed
2023-12-18 20:50:36 +10:00
Stenzek
87d24d3259
System: Fix crash on emptying rewind buffer
2023-12-18 20:50:36 +10:00
Stenzek
e6be0532cb
System: Fix incorrect rewind VRAM estimation
2023-12-18 20:50:35 +10:00
Stenzek
8842a46a90
CPU: Fix namespacing in disassembler
2023-12-17 13:40:38 +10:00
Stenzek
73968ac526
SaveStateSelectorUI: Decouple current slot from list
2023-12-17 13:33:51 +10:00
Stenzek
cffb383c10
CPU: Add disassembly of GTE instructions
2023-12-17 00:38:11 +10:00
Stenzek
6328d08c14
System: Don't unconditionally refresh save state UI
2023-12-17 00:09:15 +10:00
Stenzek
e93fec49bb
Achievements: Reload settings after hardcode disabled
2023-12-16 21:12:05 +10:00
Stenzek
fb0ad26de8
Achievements: Fix incorrect fallback message
2023-12-15 23:54:31 +10:00
Stenzek
aa658047f6
CPU/Recompiler: Fix jal/jalr to load delayed register
...
NewRec already handled this correctly.
2023-12-15 21:46:30 +10:00
Stenzek
87a7c09466
GPU/HW: Improve heuristics for draw/write when copying
2023-12-15 16:05:44 +10:00
Stenzek
a499e21453
CPU/CodeCache: Don't try to compile direct double branches
...
Invalidation nightmare.
2023-12-15 13:46:48 +10:00
Stenzek
98a96db1bd
GPU: Remove redundant fields
2023-12-14 20:23:49 +10:00
Stenzek
23d5b20da6
GPU/HW: Split dirty rect into draw/write
...
Significant performance improvement in Persona 2.
2023-12-14 20:23:49 +10:00
Stenzek
5218ac6944
GPU/HW: Fix incorrect mask in VRAM offset calc
2023-12-14 20:23:48 +10:00
Stenzek
adfde45dc1
System: Add unsafe settings summary
2023-12-14 20:23:48 +10:00
Stenzek
57aa138808
PostProcessing: Add compile progress indicator
2023-12-14 20:23:48 +10:00
Stenzek
7e2afe82b5
FullscreenUI: Fix opening while paused
2023-12-14 20:23:48 +10:00
Stenzek
710698f7e1
Misc: Remove StringUtil::{Starts,Ends}With, use C++20
2023-12-13 21:18:19 +10:00
Stenzek
79c226efff
SmallString: fmt -> format, format -> sprintf
2023-12-13 21:06:15 +10:00
Stenzek
bc2c334370
Misc: Combine some redundant functions
2023-12-13 20:56:40 +10:00
Stenzek
ad96b1ec75
FullscreenUI: Improve menu button borders
2023-12-13 01:12:55 +10:00
Stenzek
c467825791
SaveStateSelectorUI: Make less ugly
2023-12-13 01:00:13 +10:00
Stenzek
39913b2a39
GPUDevice: Fix incorrect positioning with PostFX and GL
2023-12-10 23:26:43 +10:00
Stenzek
f1604db4a3
GPU/HW: Dynamically size downsampling textures
2023-12-09 22:08:14 +10:00
Stenzek
6b00bf016d
GPU/HW: Dynamically size display texture
2023-12-09 22:08:14 +10:00
Stenzek
a907e1f550
GPUDevice: Pool textures
2023-12-09 22:08:13 +10:00
Stenzek
3b2c70cda5
GPUDevice: Get rid of framebuffer abstraction
2023-12-09 22:08:13 +10:00
Stenzek
61783d4a34
GPU/HW: Remove unused variable
2023-12-08 20:24:59 +10:00
Stenzek
b7c53102c6
GameDB: P2
2023-12-07 20:16:22 +10:00
Stenzek
6557033b98
FullscreenUI: Replace some std::string instances with TinyString
2023-12-06 20:12:20 +10:00
Stenzek
e835f118b7
Hotkeys: Fix toggle CPU PGXP with Interpreter
2023-12-06 20:12:20 +10:00
Stenzek
591a2228d6
GTE: Add register names for debugging
2023-12-06 20:12:20 +10:00
Stenzek
185af2b039
CPU/NewRec: Fix lui/mfc0 not getting called in CPU PGXP mode
2023-12-06 20:12:20 +10:00
Stenzek
b166ec3403
CPU/NewRec: Allocate callee-saved before flush in lwx/swx
...
It might move a callee-saved -> caller-saved reg, in which case it's
going to get clobbered when the loadstore function is called.
SaGa Frontier 2 with PGXP on x64.
2023-12-05 00:27:55 +10:00
Stenzek
2071addce0
CPU/NewRec: Fix OOB reads on InstructionInfo
2023-12-05 00:27:55 +10:00
Stenzek
dc6bb357d4
Achievements: Handle dynamically-sized leaderboard trackers
2023-12-04 14:12:32 +10:00
Stenzek
90b14d6237
GPU/HW: Skip per-primitive flush for BG-FB with fbfetch
2023-12-03 21:37:26 +10:00
Connor McLaughlin
e5af7fefde
Merge pull request #3059 from CookiePLMonster/fix-total-unofficial-achievements
...
Achievements: Fix the percentage counter when only unofficial achievements exist
2023-12-02 16:17:26 +10:00
Silent
888582713b
Achievements: Fix the percentage counter when only unofficial achievements exist
...
Now correctly shows "This game has no achievements" and no percentage bar,
as per the RetroAchievements integration guide.
2023-12-01 22:24:59 +01:00
Silent
4854031a1c
FullscreenUI: Properly account for multiline Rich Presence in Title Info
2023-12-01 18:08:19 +01:00
Stenzek
2ca503639d
GPU/HW: Avoid extra texture copy in Vulkan/GL
2023-12-01 19:08:50 +10:00
Stenzek
d43efebcc5
GameDB: Add DisableTextureFiltering option
2023-12-01 17:36:37 +10:00
Stenzek
dc72f7a7af
GPU/HW: Fix texturing-and-drawing overlap
...
Worms Pinball.
2023-12-01 17:36:23 +10:00
Stenzek
df91c63b31
CDROM: Add PVD/directory entries to file map
2023-11-30 14:38:38 +10:00
Stenzek
7d5e2bf50c
FullscreenUI: More localization fixes
2023-11-30 14:21:44 +10:00
Stenzek
28556ee3e9
Achievements: Fix multiple leaderboard trackers
2023-11-30 14:10:28 +10:00
Stenzek
dfb27c14be
FullscreenUI: More localization fixes
2023-11-29 23:11:28 +10:00
Stenzek
4ac4388b08
GameDatabase: Fix identification of misnamed-exe games
2023-11-29 23:05:27 +10:00
Stenzek
35799aba47
CDROM: Add current file to debug window
2023-11-29 22:01:45 +10:00
Stenzek
5442242c64
IsoReader: Add GetEntriesInDirectory()
2023-11-29 21:56:40 +10:00
Stenzek
325dcc81ca
FullscreenUI: Allow changing UI language
2023-11-29 20:26:36 +10:00
Stenzek
8ce2be57c5
CPU/CodeCache: Call Block constructor/destructor
...
Fixes crash in MSVC Debug build.
2023-11-29 19:16:33 +10:00
Stenzek
eab9f57a5d
GameDB: Widescreen rendering disables
2023-11-29 16:08:05 +10:00
Stenzek
0b6cd330e5
System: Add missing controller poll while rewinding
2023-11-29 15:41:29 +10:00
Stenzek
26f3d5ba56
FullscreenUI: Add missing translation strings
2023-11-29 02:18:20 +10:00
Stenzek
5ff44ebcf5
CPU: Panic process on memory alloc fail
2023-11-29 02:01:24 +10:00
Stenzek
667b11121c
Qt: Update glyph ranges
2023-11-29 02:00:31 +10:00
Stenzek
08fcee2f56
CPU: Flush load delays before PCDrv calls
2023-11-28 18:25:12 +10:00
Stenzek
c482dfd27a
Qt: Fix 'Edit Memory Cards' using disc-specific cards
2023-11-28 15:06:12 +10:00
Stenzek
e382f2b64a
Settings: Add option to disable DSB/fbfetch
2023-11-28 14:38:38 +10:00
Stenzek
afe8384b6d
System: Use Async HC mode disable for resuming
2023-11-27 00:45:00 +10:00
Stenzek
c40cc4ef43
Hotkeys: Throttle pause requests
2023-11-27 00:15:52 +10:00
Stenzek
72716719b3
Achievements: Use big picture for confirm hardcore disable
2023-11-26 23:57:49 +10:00
Stenzek
c1d0419361
FullscreenUI: Use icon font for bindings
2023-11-26 23:57:49 +10:00
Stenzek
43c0ce0b3e
FullscreenUI: Put bindings on one line
2023-11-26 23:57:49 +10:00
Stenzek
fc6359457b
ImGuiManager: Use PromptFont icons for input OSD
2023-11-26 21:35:29 +10:00
Stenzek
8446856ecf
GPU/HW: Trace min/max UVs for hazards
2023-11-26 17:35:48 +10:00
Stenzek
dc75afeb3d
RegTest: Fix directory creation always failing
2023-11-25 22:04:05 +10:00
Stenzek
ff17444074
GPU/HW: Add framebuffer fetch blending path
2023-11-25 21:22:35 +10:00
Stenzek
a456741ae6
GPU/HW: Don't blend binary alpha texture filters
2023-11-25 19:49:05 +10:00
Stenzek
7cc52bba23
CMake: Support multiple CMAKE_OSX_ARCHITECTURES
2023-11-25 00:50:12 +10:00
Stenzek
cc6f22163c
HTTPDownloader: Add support for progress updates/cancelling
2023-11-25 00:50:12 +10:00
Stenzek
ca1dd27d4a
CPU/NewRec: Fix SR interrupts on non-x64
2023-11-24 20:35:12 +10:00
Stenzek
e10ff550d5
CPU/NewRec: Handle inside-block SMC
...
i.e. Spyro 2/3 PAL.
2023-11-21 22:31:18 +10:00
Stenzek
20de40a597
RegTest: Fix build on Mac
2023-11-21 22:31:18 +10:00
Stenzek
dbd052528e
CPU/NewRec: Fix build for AArch32
2023-11-18 17:16:51 +10:00
Stenzek
cce7be4723
Misc: Make struct member functions file-local
2023-11-18 16:46:11 +10:00
Stenzek
bee1f986a9
CMake: Fix incorrect library for HTTPDownloaderCurl
2023-11-18 14:58:45 +10:00
Stenzek
ad1716e376
GPU/HW: Correct OSD message
2023-11-15 19:26:02 +10:00
Stenzek
5fff97c9e1
GPU/HW: Clear instead of invalidating adaptive downsample RTs
2023-11-15 19:14:27 +10:00
Stenzek
3093d40869
Qt: Update link
2023-11-11 13:35:26 +10:00
Stenzek
312790c9a6
CPU/NewRec: Handle mtc0 rt, sr
2023-11-10 21:19:45 +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
b459a42fb7
Achievements: Use a 60 second timeout for server calls
2023-11-06 23:17:58 +10:00
Stenzek
0fe6e9170b
HTTPDownloader: Move to util project
2023-11-06 23:17:57 +10:00
Stenzek
3c6b6c5770
Achievements: Use retryable client error status code
2023-11-06 23:17:57 +10:00
Stenzek
3dfc3bd2ba
CPU: Fix incorrect scratchpad masking
2023-11-06 18:09:27 +10:00
Stenzek
928d137111
System: Add missing icons to some OSD messages
2023-11-05 22:38:25 +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
9d88a373bd
GPU: Fix Guncon positioning with window padding
2023-11-04 20:11:51 +10:00
Stenzek
0e2c6676a3
Build: Compiling x64 builds on Apple Silicon host
2023-11-04 20:11:51 +10:00
Stenzek
f05ff4103e
Misc: Build fixes for Android
2023-11-04 20:11:51 +10:00
Stenzek
538266aacd
System: Fix Discord Rich Presence
2023-10-29 22:46:02 +10:00
Stenzek
bd49e0df63
System: Fix playlist memory card handling
...
But you really don't need to use them these days.
2023-10-29 20:37:42 +10:00
Stenzek
117cbeecaa
CPU/CodeCache: Fix NewRec on Apple Silicon
2023-10-28 14:41:29 +10:00
Stenzek
f786138175
CPU/CodeCache: Fix crash on Apple Silicon
2023-10-24 18:30:34 +10:00
Stenzek
06c4dc5e1b
GPU/OpenGL: Fix incorrect 1/4 blend on Mali
2023-10-22 00:07:46 +10:00
Stenzek
6592cafadc
CPU/NewRec: Add speculative constants
2023-10-22 00:07:46 +10:00
Stenzek
b3cbe5a7ee
CPU/NewRec: Add AArch32 backend
2023-10-21 20:22:51 +10:00
Stenzek
41bb9fddfc
CMake: Fix Debug x64 builds on Linux
2023-10-21 13:49:35 +10:00
Stenzek
d00ed000f9
CPU/NewRec/AArch64: Don't recreate assembler every time
2023-10-21 13:49:35 +10:00
Stenzek
52e0d8d473
CPU/Recompiler/AArch32: Load membase on demand
2023-10-21 13:49:35 +10:00
Stenzek
cce1ec598c
CPU/Recompiler/AArch32: Reduce register usage of Mul
2023-10-21 13:49:35 +10:00
Stenzek
23dff0a9b6
Bus: Properly set unmapped pages to NULL for LUT fastmem
2023-10-21 13:49:35 +10:00
Stenzek
e36130158c
CPU/Recompiler: Fix incorrect shift in LUT fastmem
2023-10-21 13:49:35 +10:00
Stenzek
c727ac33c7
CPU/CodeCache: Include hi/lo in state logging
2023-10-21 13:49:35 +10:00
Stenzek
9501439d6b
CPU: Add new experimental recompiler
2023-10-18 00:49:01 +10:00
Stenzek
c179473c2b
Bus: Allow LUT fastmem on mirrors
2023-10-18 00:49:01 +10:00
Stenzek
9d40164f84
CPU/Recompiler: Offset LUT fastmem pointers
2023-10-18 00:49:01 +10:00
Stenzek
a062b00c1a
Bus: Protect main RAM buffer
...
Get rid of write-time checks.
2023-10-18 00:49:01 +10:00
Stenzek
79e1ae3e54
CPU/CodeCache: Rewrite using new-rec's block management
2023-10-18 00:49:01 +10:00
Stenzek
f82d08e223
TimingEvents: Reset downcount when head is resorted
2023-10-17 13:14:05 +10:00
Stenzek
78959f6339
MemoryCardImage: Swap over to fmt
2023-10-17 13:08:44 +10:00
Stenzek
ad04f79e57
FullscreenUI: Fix controller strings not translating
2023-10-12 19:30:23 +10:00
Stenzek
f9d8a49324
CPU: Fix incorrect writing of unaligned words via cheats
2023-10-11 01:10:31 +10:00
Stenzek
5c0dab4fe8
FullscreenUI: Fix button behaviour in Load/Save State
2023-10-08 13:58:59 +10:00
Stenzek
ce7f6128e9
OpenGLDevice: Cache intermediate state
2023-10-08 01:47:29 +10:00
Stenzek
eb080834ad
OpenGLDevice: Actually check max texture buffer size
2023-10-08 01:10:52 +10:00
Stenzek
7625d4769c
Bus: Keep old behavior of memory being readable when Isc
...
Some games (e.g. Parasite Eve) write to cache control with Isc on.
Need some hardware tests here.
2023-10-06 22:57:54 +10:00
Stenzek
da1c28bd16
Misc: Fix arm32 build
2023-10-02 23:59:01 +10:00
Stenzek
6fd7eda68f
Misc: Fix build on Debian Bullseye
2023-10-02 23:50:56 +10:00
Stenzek
a96111eaeb
Misc: Swap make_array() for size deduction
2023-10-02 13:33:33 +10:00
Stenzek
56fc207af6
CPU: Use lookup tables for memory access
2023-10-01 20:48:02 +10:00
Stenzek
05fe925409
CPU: Make namespacing explicit
2023-10-01 20:48:02 +10:00
Stenzek
ecb082b672
CDROM: Add NEON implementation of GetPeakVolume()
2023-10-01 17:24:34 +10:00
Stenzek
01e505ec8b
Common: Add intrin.h
2023-10-01 17:24:34 +10:00
Stenzek
b1bb33a566
Common: Move CPU macros to types.h
2023-10-01 13:57:25 +10:00
Stenzek
dd204d116e
CPU: Warning fix
2023-10-01 13:20:14 +10:00
Stenzek
d5608bf12d
GPU: Fix crash with Box Downsampling/Auto Resolution Scale
2023-09-30 23:20:09 +10:00
Stenzek
2171fd9a6f
Bus: Fix RAM mirrors with LUT fastmem
2023-09-30 23:14:06 +10:00
Stenzek
8822698eaf
Bus: Fix running multiple DuckStation instances
2023-09-30 21:49:30 +10:00
Stenzek
8f267c87c0
System: Only update played time when game list is loaded
2023-09-30 21:42:15 +10:00
Stenzek
15b29b4caa
Settings: TTY logging is no longer an enhancement
2023-09-30 21:36:43 +10:00
Stenzek
7c102ec29d
CI: Build fix
2023-09-30 15:17:31 +10:00
Stenzek
4ad777f54f
Qt: Add log window
2023-09-30 15:09:07 +10:00
Mrlinkwii
062af59a8c
Achievements: Different choice of words in achievement popup
2023-09-24 15:28:13 +01:00
Stenzek
4266f42257
Achievements: Don't turn HC off on login fail if we reauth
2023-09-24 12:21:19 +10:00
Stenzek
9517638bcb
GPUDevice: Don't recreate device on SW switch in GLES:
2023-09-23 14:14:52 +10:00
Stenzek
7edb57ca15
Settings: Add Default renderer option
2023-09-23 14:14:52 +10:00
Stenzek
aa1e59c9f1
Achievements: Don't disable HC while login pending
2023-09-23 14:14:52 +10:00
Stenzek
b678fcd874
GPUDevice: Move debug messages over to fmt
2023-09-23 14:14:52 +10:00
Stenzek
184b0a1a52
Misc: Swap most C format strings for fmt
2023-09-23 14:14:52 +10:00
Stenzek
92440bdfcf
Log: Add fmt overloads
2023-09-23 14:14:52 +10:00
Stenzek
ac0601f408
Common: Drop String, add SmallString
2023-09-23 14:14:52 +10:00
Stenzek
3c68543491
Bus: 16KB page compatibility for mmap fastmem
2023-09-23 14:14:52 +10:00
Stenzek
7d76643c02
GunCon: Fix incorrect translation context
2023-09-20 21:38:49 +10:00
Stenzek
c25c7070b6
Bus: Make variable prefixes consistent
2023-09-20 21:38:38 +10:00
Stenzek
0e0beec1f4
OpenGLDevice: Fix PBO and non-PBO path for SW renderer
2023-09-20 19:35:46 +10:00
Stenzek
3c47f9b1b1
Host: Report error on GPU device creation fail
2023-09-20 19:12:49 +10:00
Stenzek
18ae01bedb
GPU/HW: Tidying up
2023-09-20 18:54:26 +10:00
Stenzek
3cd28f433b
Controller: Use std::span
2023-09-20 17:11:29 +10:00
Stenzek
7e07d2feb8
GunCon: Add relative pointer binding
2023-09-20 17:11:29 +10:00
Stenzek
3a47c1eb52
Fullscreen: Light mode corrections
2023-09-20 00:10:08 +10:00
Stenzek
4ee71eb40f
FullscreenUI: Update translation strings
2023-09-18 22:42:28 +10:00
Stenzek
2818eb2199
GPU/HW: Fix copy pipeline not getting destroyed
2023-09-18 22:38:15 +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
57cdb180c6
Hotkeys: Fix crash when toggling PGXP
2023-09-17 00:55:30 +10:00
Stenzek
6b34c2a66d
System: Swap to fmt for media errors
2023-09-17 00:51:28 +10:00
Stenzek
99c30b1e80
FullscreenUI: Mark some missing strings for localization
2023-09-16 19:06:59 +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
a4911946ec
FullscreenUI: Fix incorrect achievement points display
2023-09-16 19:00:28 +10:00
Stenzek
a2f19143da
MetalDevice: Support multisampling
2023-09-16 19:00:28 +10:00
Stenzek
b30c86ed75
Build: Improve MacOS support
2023-09-16 19:00:28 +10:00
Stenzek
2efda31694
Misc: More enum cast warning fixes
2023-09-05 22:10:50 +10:00
Stenzek
60aca2fc4d
Misc: Swap LIKELY/UNLIKELY macros for attributes
2023-09-05 22:10:50 +10:00
Stenzek
adc124c759
Misc: Unreachable code warning fixes
2023-09-05 22:10:50 +10:00
Stenzek
605aa3c53a
Misc: Swap gsl::span for std::span
2023-09-05 22:10:50 +10:00
Stenzek
391307efaa
Common: Drop fallback path for HeterogeneousContainers
2023-09-05 21:37:04 +10:00
Stenzek
9b47561c89
Misc: C++20 fixes
2023-09-05 21:37:03 +10:00
Stenzek
4c5b650d11
FullscreenUI: Tag some missing translation strings
2023-09-04 22:45:44 +10:00
Stenzek
a4c7293d28
CPU: Fix breakpoints/single stepping
2023-09-03 19:49:34 +10:00
Stenzek
4974a8015f
GPU/HW: Fix texture filtering making everything transparent
2023-09-03 18:06:27 +10:00
Stenzek
585cf25ac4
GPU: Add downsample scale option
2023-09-03 17:10:40 +10:00
Stenzek
80e3d29ab8
Misc: clang-cl warning clean-up
2023-09-03 14:30:26 +10:00
Stenzek
7f446526d1
FullscreenUI: Fix some option values not being translated
2023-09-03 13:20:45 +10:00
Stenzek
0076ab5cc4
System: Restore context after pumping messages
2023-09-03 13:14:22 +10:00
Stenzek
25fb69564b
GameDatabase: Fix stale database cache check
2023-09-02 23:17:56 +10:00
Stenzek
7ad1b8d093
GPU: Add wireframe rendering/overlay
2023-09-02 22:26:03 +10:00
Stenzek
e804b5e701
GPUDevice: Support geometry shaders
2023-09-02 22:09:22 +10:00
Stenzek
4fc984e082
Qt: Add setup wizard
2023-09-02 21:44:15 +10:00
Stenzek
5480e42cd1
ImGuiManager: Fix changing global scale through FSUI
2023-09-02 21:44:08 +10:00
Stenzek
bcda86d782
GPU: Fix non-internal resolution screenshots
2023-09-02 21:44:08 +10:00
Stenzek
9e8ff3969e
GPU: Clamp UVs to active rect when presenting
2023-09-02 21:44:08 +10:00
Stenzek
cee4f93097
Build: Use precompiled headers
2023-09-02 21:44:08 +10:00
Stenzek
0da14a5442
GPU/Vulkan: Fix MSAA
...
And disable sample rate shading ("SSAA") on AMD, Intel, and broken
mobile drivers, because it doesn't work.
2023-09-01 21:25:12 +10:00
Stenzek
09e7a5843f
GPU: Add scaling shader support
...
Currently only Bilinear (Sharp).
2023-08-31 23:38:11 +10:00
Stenzek
9439cf65a3
AnalogController: Always use analog mode from save state
2023-08-31 22:09:17 +10:00
Stenzek
5421900bb2
System: Add InterruptExecution()
2023-08-30 22:20:36 +10:00
Stenzek
2915d4ce01
System: Remove memory card warnings on config change
2023-08-30 22:20:36 +10:00
Stenzek
b483931444
System: Allow overriding BIOS in boot parameters
2023-08-30 22:20:36 +10:00
Stenzek
15af10e82a
System: Expose memory save states
2023-08-30 22:20:36 +10:00
Stenzek
ae9cf5b889
BIOS: Add FindBIOSPathWithHash()
2023-08-30 22:20:36 +10:00
Stenzek
afaf5ddafd
System: Centralize frame presentation
2023-08-30 22:20:36 +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
92b1c21b8a
CPU: Fix crash on breakpoint add/trace enable
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
8db8baf33f
GPUDevice: Move display logic to GPU
2023-08-30 00:44:00 +10:00
Stenzek
6c185ca17b
GPUDevice: Remove mouse pointer position
2023-08-30 00:44:00 +10:00
Stenzek
674f9a5b1c
Resources: Remove embedded crosshair image
2023-08-30 00:44:00 +10:00
Stenzek
259193a8e5
GPUDevice: Move software cursor to ImGuiManager
2023-08-30 00:44:00 +10:00
Stenzek
39b8dcda6e
GPU/HW: Fix wrapped image writes
2023-08-30 00:44:00 +10:00
Stenzek
e23c9875d5
Misc: Split core and util Host
2023-08-30 00:44:00 +10:00
Stenzek
3e82409c10
GPU/HW: Fix base settings not updating on change
2023-08-25 21:53:33 +10:00
Stenzek
08acc3144c
Host: Avoid leaving GPU state unbound after represent
2023-08-24 18:04:52 +10:00
Stenzek
dc9c99438b
Misc: Post-refactor cleanups
2023-08-24 18:01:32 +10:00
Stenzek
82cdef45b3
System: Fix crash on non-database game
2023-08-23 19:39:22 +10:00
Stenzek
c7f987bfb7
System: Share memory cards in multi-disc games
...
Even without playlists.
2023-08-23 18:41:14 +10:00
Stenzek
7d914a9384
Qt: Use disc sets for changing discs
2023-08-23 18:41:14 +10:00
Stenzek
2419008242
GameDatabase: Parse discSetName/discSetSerials
2023-08-23 18:41:14 +10:00
Stenzek
76b5b8ad06
MSBuild: Support building with clang-cl
2023-08-21 22:38:55 +10:00
Stenzek
bf15d13eb7
dep/xbyak: Update to v6.73
2023-08-21 22:38:31 +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
496cf01369
FullscreenUI: Make translatable
2023-08-20 12:40:47 +10:00
Stenzek
c88a558ae0
Misc: Make controller bindings translatable
2023-08-20 12:40:47 +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
39f64a03ee
Common: Error/FileSystem backports
2023-08-20 12:40:47 +10:00
Stenzek
4fbc9abe8a
GameDatabase: Linux build fix
2023-08-19 23:06:27 +10:00
Stenzek
cee5decec4
GameDB: Merge traits/compatibility into single file
2023-08-19 22:00:20 +10:00
Stenzek
a00a4391ca
Common: DynamicHeapArray/FixedHeapArray
2023-08-19 21:18:28 +10:00
Stenzek
bb60170d9a
Move frontend-common to util/core
2023-08-16 01:13:00 +10:00
Stenzek
5b980dafa5
System: Refactor main loop
...
Reduces JIT exits.
Improves runahead performance.
2023-08-16 01:13:00 +10:00
Stenzek
4ebd34fcb3
MSBuild: Use project referencing instead of .lib linking
2023-08-16 01:12:59 +10:00
Stenzek
56ac3d6c32
HostDisplay: Fix incorrectly positioned screenshots
2023-08-04 21:39:52 +10:00
Stenzek
6fbdb6d7db
GPU: Enable GPUSTAT.28 in read mode
...
Fixes Celeste Classic.
2023-07-24 19:24:08 +10:00
Jamie Meyer
36c4345019
core / system: Disc-Region Fix For Netplay
...
Fixes an issue which is only really valid for netplay since can start from an non-auto region sinc eit pulls it from the host.
2023-05-24 12:33:24 +02:00
Stenzek
9aa6c24620
System: Store game hash as well as serial
2023-05-15 23:39:07 +10:00
Stenzek
7681551544
System: Don't auto enable analog on unknown games
2023-05-08 13:07:19 +10:00
Connor McLaughlin
481174255e
Merge pull request #2965 from stenzek/resize
...
HostDisplay: Treat internal res screenshots as a screenshot
2023-05-04 01:00:46 +10:00
Jamie Meyer
6afb267bb9
core: fix-comment
2023-05-03 16:44:48 +02:00
Dolphin
9526e15ec2
Update japanese translation ( #2969 )
...
* update base duckstation-qt_ja.ts
* update Japanese translation
* translate controller name on controllersettingsdialog
2023-05-02 21:46:06 +10:00
Stenzek
6b366afb05
HostDisplay: Treat internal res screenshots as a screenshot
2023-05-02 21:44:03 +10:00
Stenzek
84e5fbe0c6
CPU: HLE implementation of PCDrv (host file access)
2023-04-29 20:45:39 +10:00
Stenzek
991f7312b2
SPU: Fix building with SPU_DUMP_ALL_VOICES
2023-04-23 13:19:43 +10:00
Stenzek
2e3d924bc6
System: Fix crash when using unknown BIOS
2023-04-14 18:14:39 +10:00
Stenzek
fe41e92579
CDROM: Improve handling of command spam
...
Fixes booting games with OpenBIOS.
2023-04-14 18:14:21 +10:00
Stenzek
fd0d12a4f4
GL: Fix shader/memory leak
2023-04-10 23:50:09 +10:00
Stenzek
3bbce19df2
Pad: Don't backup card state unconditionally
2023-03-16 21:48:58 +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
Stenzek
33f5d9cb9c
System: Remove BIOS from save state
...
Makes the states smaller, as well as not creating potential piracy
issues when sending across the wire.
2023-03-16 19:34:01 +10:00
Stenzek
1fcf16fc81
System: Store BIOS image info/hash after loading
2023-03-16 19:22:54 +10:00
Stenzek
70695d3a4d
CPU: Don't leave fault_count uninitialized
2023-03-16 18:58:43 +10:00
Stenzek
befbc7bc2e
HostDisplay: Fix cursor texture leak
2023-02-07 20:06:29 +10:00
Stenzek
bd1df7b25b
Settings: Default to Vulkan/Metal renderer on Mac
2023-02-05 15:12:43 +10:00
Stenzek
0ef24398f8
Qt: Ensure system is shut down before closing
...
Fixes crash on shutdown on Mac.
2023-02-05 13:43:15 +10:00
Stenzek
178a659a98
GPU: Move graphics API reset state to System
...
Stops us trying to reset state on objects which don't exist if
initialization failed (apparently some Android devices.. of course).
2023-02-05 13:12:45 +10:00
Stenzek
c8e7922c1a
AnalogController: Fix incorrect locked message format
2023-02-05 13:12:45 +10:00
Stenzek
e8f4bd5c5e
GameDatabase: Fix ForceSoftwareRendererForReadbacks
2023-01-30 19:26:48 +10:00
Stenzek
e88214966f
Settings: Default to digital controller on Android
2023-01-30 19:17:11 +10:00
Stenzek
14cf865905
Misc: Correctness fixes for OpenGL
...
GLES2 fallback should be functional again.
2023-01-30 19:17:11 +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
NicknineTheEagle
bd7517b0c9
CDROM: Try to reject non-PS1 discs
2023-01-20 05:46:22 +03:00
NicknineTheEagle
7270531c3d
CDROM: Fix region check
2023-01-20 05:46:20 +03:00
Stenzek
55f716e69e
Settings: Fix default value of depth clear threshold
2023-01-17 18:47:54 +10:00
Stenzek
95306d3362
CDROM: Slightly adjust seek timing when on target
...
Fixes Resident Evil 3 booting.
2023-01-17 18:38:19 +10:00
Connor McLaughlin
fe08d34e52
Qt: Add COP0/GTE registers to debugger list
2023-01-15 15:13:54 +10:00
Connor McLaughlin
395e9a934b
InputManager: Support inverted full axis
...
i.e. pedals
2023-01-15 15:13:54 +10:00
Connor McLaughlin
5b600602c2
Settings: Make disable-all-enhancements use new MDEC routines
2023-01-13 21:03:35 +10:00
Connor McLaughlin
1aa3be70c7
SPU: Bypass FIFO for direct memory writes
...
Aconcagua writes a single halfword with transfers halted, but never enables
DMA.. so when it eventually does later on, there's an extra halfword
written out to memory, which corrupted part of a sound effect.
2023-01-13 21:03:10 +10:00
Connor McLaughlin
2c2304b5b7
System: Fix inverted ifdef
2023-01-12 18:12:58 +10:00
Connor McLaughlin
3b038fd27d
System: Further improve frame timing consistency
2023-01-12 18:02:12 +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
3e0be0a577
MDEC: Tweak block timing further
...
Improves frame rate during animated backgrounds in Final Fantasy VII.
2023-01-12 16:48:34 +10:00
Connor McLaughlin
50a616421f
System: Add -exe parameter for overriding boot executable
...
Lets you re-use a disc image, but boot a different file.
2023-01-11 19:49:11 +10:00
Connor McLaughlin
ba7517fccc
Timers: Fix debug window rendering in hidpi
2023-01-11 19:15:59 +10:00
Connor McLaughlin
3e16746e85
Pad: Convert to namespace
2023-01-11 19:15:59 +10:00
Connor McLaughlin
835834f8f4
SIO: Convert to namespace
2023-01-11 19:15:59 +10:00
Connor McLaughlin
0683b9fa0e
InterruptController: Convert to namespace
2023-01-11 19:15:59 +10:00
Connor McLaughlin
db364d0e95
Timers: Convert to namespace
2023-01-11 19:15:59 +10:00
Connor McLaughlin
3acf569d67
DMA: Convert to namespace
2023-01-11 19:15:59 +10:00
Connor McLaughlin
90fe071dda
CDROM: Adjust Init timing
2023-01-11 19:15:59 +10:00
Connor McLaughlin
05eea3cd2b
CPU/CodeCache: Always compute uncached fetch ticks
...
Running code out of uncached ROM is slowwww.
2023-01-11 19:15:59 +10:00
Connor McLaughlin
b74eb37996
ImGuiOverlays: Display PAL/NTSC in resolution
2023-01-09 22:20:27 +10:00
Connor McLaughlin
2c125bde8c
CDROM: Fix size of debug window
2023-01-09 22:20:27 +10:00
Connor McLaughlin
9de849aa66
CDROM: Delay async interrupts immediately after ACKs
...
Fixes music playback stopping in Ogre Battle.
Closes #2596 .
Closes #575 .
2023-01-09 22:20:27 +10:00
Connor McLaughlin
dd73811628
CDROM: Convert to namespace
2023-01-09 22:20:27 +10:00
Connor McLaughlin
19b4f4e921
System: Add frame time graph
2023-01-07 13:10:43 +10:00
Dolphin
91a6608118
mark some analog controller/joystick messages as translatable
2023-01-07 10:35:17 +09:00
Connor McLaughlin
1bb321c41f
MDEC: Don't round when texture replacements are enabled
...
This changes texture hashes, and people got annoyed :/
2022-12-27 22:17:58 +10:00
Connor McLaughlin
928dd0e665
MDEC: Fix Linux compiling
2022-12-21 17:30:22 +10:00
Connor McLaughlin
c2e15b0078
System: Fix toggling Show GPU Usage at runtime
2022-12-20 21:32:51 +10:00
Connor McLaughlin
d65cbe42ae
GPU: Truncate instead of rounding 24bpp->16bpp
...
Thanks to axetion for writing a test to confirm this is what the console
GPU indeed does.
2022-12-20 21:19:58 +10:00
Connor McLaughlin
1c8ef86f12
MDEC: Convert to namespace
2022-12-20 21:18:30 +10:00
Connor McLaughlin
3082fd55d7
Qt: Add output audio device selection
2022-12-14 17:58:14 +10:00
Connor McLaughlin
8ab46d0713
MDEC: Redo IDCT and conversion
...
RE2 backgrounds look better now (mainly due to the 24bpp->16bpp
conversion). Also implements signed output (untested).
2022-12-14 17:28:34 +10:00
Connor McLaughlin
1905ce3e01
CDROM: Don't prevent GetlocL after Init
...
Console apparently just returns whatever was in memory, even though it
seeked to the start. Fixes Meremanoid booting.
2022-12-08 19:56:00 +10:00
Connor McLaughlin
e27f259bf8
System: Fix broken missing-SBI detection
2022-12-06 18:09:40 +10:00
Connor McLaughlin
7101b86d2f
System: Don't unconditionally apply TTY enable patch
...
Fixes Intelligent Qube hang.
2022-12-06 13:31:35 +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
Connor McLaughlin
1ba877409f
HostDisplay: Remove sleep logging
...
Accidentially left this in...
2022-12-04 18:34:02 +10:00
Connor McLaughlin
f8cb480779
Timer: Improve SleepUntil()
2022-12-04 15:40:46 +10:00
Connor McLaughlin
7d3ac98cc6
HostDisplay: Manually throttle fullscreen UI presentation
...
Fixes flickering screen in fullscreen with Vulkan.
2022-12-04 14:06:56 +10:00
Connor McLaughlin
eafa4fb1a3
HostDisplay: Simplify method naming
...
Match PCSX2.
2022-12-04 13:22:13 +10:00
Connor McLaughlin
71c558625e
GPU/SW: Fix incorrect min/max in polylines
...
Thanks to FPGAzumSpass for catching.
2022-11-28 18:04:58 +10:00
Connor McLaughlin
a6f5ac264e
CDROM: Handle some edge cases
...
- Reel Fishing: Reads while an implicit seek is still going.
- Transformers - Beast Wars: Needs a longer delay when it issues a
ReadN after a SeekL and simulated position hits exactly.
2022-11-28 18:04:28 +10:00
Connor McLaughlin
cf05037428
GPU: Fix GL shaders on Mesa with PGXP + uncorrected colours
2022-11-22 23:14:54 +10:00
Connor McLaughlin
201a671709
System: Fix dumping audio on boot
2022-11-21 12:55:24 +10:00
Connor McLaughlin
6db90e8116
BIOS: Add detection of OpenBIOS
2022-11-15 21:22:42 +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
601e3586b2
CPU/CodeCache: Impove overflow handling
2022-11-05 14:43:52 +10:00
Connor McLaughlin
72dfbaf6cc
Misc: Backports from PCSX2 UI
2022-10-23 14:49:44 +10:00
Connor McLaughlin
f5b7311a45
Controllers: Make deadzone circular
2022-10-21 21:20:21 +10:00
Connor McLaughlin
b6686b8239
System: Preserve controller type on core settings reset
2022-10-21 00:30:42 +10:00
Connor McLaughlin
11ba87059e
HostDisplay: Remove parameters which get pulled from config
...
No point duplicating them.
2022-10-14 00:14:34 +10:00
Connor McLaughlin
ccfe3925fc
HostDisplay: Use border sampling for post processing shaders
2022-10-13 22:53:16 +10:00
Connor McLaughlin
c9d13c028e
CDROM: Debugger names for some commands
2022-10-13 22:53:16 +10:00
Connor McLaughlin
adf41b9bbd
D3D12HostDisplay: Implement post processing
2022-10-13 22:13:09 +10:00
Connor McLaughlin
cc3fadba14
Qt: Move downsampling to enhancement settings
2022-10-13 17:55:25 +10:00
Connor McLaughlin
0709f92ac1
Misc: Cleanup/deduplicate from c9cba5e
2022-10-13 17:37:39 +10:00
Connor McLaughlin
5498ddfab7
RegTest: Port to new host abstractions
2022-10-13 17:27:09 +10:00
nobody
553d58052b
Expose Display Host Aligment as a Setting in Ini
2022-10-09 00:55:56 -04:00
Connor McLaughlin
e395a74832
Settings: Fix default values for achievements
2022-10-09 14:21:01 +10:00
Connor McLaughlin
4feb5ad548
Controller: Make InAnalogMode() virtual
2022-10-09 14:10:54 +10:00
Connor McLaughlin
3a3f571ecc
Settings: Persist OSD options when resetting
2022-10-08 23:36:39 +10:00
Connor McLaughlin
1745d3e803
Settings: Don't allow both runahead and rewind
2022-10-08 23:36:24 +10:00
Connor McLaughlin
42768c3101
Achievements: Fix a few minor issues
2022-10-08 21:21:33 +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
5f6490f68b
GPU/Vulkan: Fix downloads messing up later commands
2022-10-05 18:29:43 +10:00
Connor McLaughlin
587fbf6ca7
System: Disable auto analog mode when starting shell
2022-10-04 00:20:37 +10:00
Connor McLaughlin
8f39ad3555
GPU/OpenGL: Don't recreate context on sw switch when using GLES
2022-10-04 00:00:56 +10:00
Connor McLaughlin
106addf5a8
Qt: Fix shutdown and save state in fullscreen UI
2022-10-04 00:00:56 +10:00
Connor McLaughlin
f25d7f6e09
Misc: Fix various warnings
2022-10-04 00:00:56 +10:00
Connor McLaughlin
a9038133c8
HostDisplay: Common texture base class for all APIs
2022-10-04 00:00:56 +10:00
Connor McLaughlin
12d400b76a
OpenGLHostDisplay: Replace GL ID handle with texture class
2022-10-03 21:08:42 +10:00
Connor McLaughlin
971bba07d6
GPU: Make perspective-correct color interpolation toggleable
2022-10-03 21:08:41 +10:00
Connor McLaughlin
8aa1c8827c
GPU/D3D11: Purge D3D11::StagingTexture
2022-09-26 22:15:51 +10:00
Connor McLaughlin
6bafcea94f
HostDisplay: Remove DestroyRenderDevice()
2022-09-26 22:15:51 +10:00
Connor McLaughlin
84917ec6aa
Common/Image: Add resize methods
2022-09-26 22:15:51 +10:00
Connor McLaughlin
f7aa7c659c
D3D11/Texture: Add layers/texture arrays
2022-09-26 22:15:50 +10:00
Connor McLaughlin
e7fb42347f
GL/Texture: Add multi-layer/level support
2022-09-26 22:15:50 +10:00
Connor McLaughlin
5ef0ad1ec6
GPU/Vulkan: Get rid of additional stream buffer
2022-09-26 22:15:50 +10:00
Connor McLaughlin
cb1e15da58
GPU/D3D12: Fix incorrect stream buffer upload size
2022-09-26 22:15:50 +10:00
Connor McLaughlin
4668334516
GameDatabase: Make unknown controller types non-fatal
2022-09-26 22:15:50 +10:00
Connor McLaughlin
9d27f7095f
Vulkan: Use Vulkan Memory Allocator
2022-09-26 22:15:50 +10:00
Connor McLaughlin
37d579c652
BIOS: Compile fix
2022-09-26 20:42:35 +10:00
Connor McLaughlin
864dffc789
Merge pull request #2894 from lukahn/patch-1
...
Update bios.cpp
2022-09-25 13:07:04 +10:00
Connor McLaughlin
d25a9a22e3
System: Fix per-game bindings being used when disabled
2022-09-24 13:14:24 +10:00
Connor McLaughlin
736996ab38
Controller: Add invert and button deadzone options
2022-09-24 13:14:13 +10:00
Luke Wakefield
2cfbd43bb6
Update bios.cpp
...
Adding PS1 BIOS files from PS2 consoles.
2022-09-23 16:08:07 +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
cba4bb4ab2
Achievements: Show primed/challenge-in-progress achievements
2022-09-21 23:06:23 +10:00
Connor McLaughlin
3dcd901885
MemoryCardImage: Support importing mem/psx and a few other formats
...
Untested.
2022-09-18 19:39:57 +10:00
Connor McLaughlin
a062cc4706
VulkanHostDisplay: Fix uploading of strided textures
2022-09-18 12:10:36 +10:00
Connor McLaughlin
3e16dbfc37
System: Fix crash when toggling memory exceptions off
2022-09-17 15:56:05 +10:00
Connor McLaughlin
05eecf9944
System: Fix very low underclocks locking up
2022-09-17 15:56:05 +10:00
Connor McLaughlin
21b7261dc9
System: Fix turbo getting dropped on renderer switch
2022-09-13 17:50:42 +10:00
Connor McLaughlin
0b3461338c
HostDisplay: Use streaming for sw renderer display
2022-09-13 17:50:42 +10:00
Connor McLaughlin
023900dc77
System: Fix inverted save screenshot colour channels
2022-09-09 13:31:13 +10:00