Commit graph

2771 commits

Author SHA1 Message Date
Stenzek a57101c1f0
Timers: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek f5cae1957b
MDEC: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek e1a4c7dfdd
DMA: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek 536b48d706
SPU: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek 77488db3dc
Misc: Align CPU state and SPU voices to cache lines
Fixes the ~12% performance regression from the texture replacement
namespace'ify commit. Apparently LTO was placing the CPU struct in the
middle of a cache line...
2024-07-06 18:49:37 +10:00
Stenzek 4c0250716d
GPU/HW: Ensure buffers are freed prior to recreating 2024-07-04 21:54:44 +10:00
Stenzek c02bf0f662
CPU/NewRec/RV64: Compile fix 2024-07-04 21:40:19 +10:00
Stenzek 87f2995f3d
TextureReplacements: Namespace-ify 2024-07-04 15:52:32 +10:00
Stenzek 69c35c9fcd
Deps: Remove rapidjson from in-tree 2024-07-04 15:52:32 +10:00
Stenzek f6d3a7987d
System: Load discord-rpc dynamically 2024-07-04 15:52:32 +10:00
Stenzek 00d2d862c2
Build: Use shared discord-rpc 2024-07-04 15:52:32 +10:00
Stenzek 4b61a3cbf3
Qt: Unrestrict resolution scale up to device limits 2024-07-04 13:25:27 +10:00
Stenzek 2bcb85d431
GPU/HW: Push all draws/writes through a common path 2024-07-03 15:44:12 +10:00
Stenzek 9ef7e8c5d0
GPU/HW: Use GSVector instead of Rectangle 2024-07-03 15:44:12 +10:00
Stenzek ef152c47a6
GPU/HW: Interpolate native texture coordinates when upscaling 2024-07-03 15:44:12 +10:00
Stenzek 044d7a4797
GPU: Eliminate heap allocation on state load 2024-07-03 00:24:12 +10:00
Stenzek f9bf2e8239
GPU: Use GSVector for SW scanout 2024-07-03 00:24:12 +10:00
Stenzek 0968610ba7
CDROM: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek 69471950f0
ImGuiOverlays: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek b094c9cd87
MDEC: Vectorize IDCT 2024-07-03 00:24:12 +10:00
Stenzek baab966b4e
System: Check for SSE4.1 in early hardware checks 2024-07-03 00:24:12 +10:00
Stenzek 173a61039c
System: Use cpuinfo for cache line size check 2024-07-03 00:24:12 +10:00
Stenzek aabe39d0f8
GPU: Allow DMAs in Mode 1
Exact behaviour is still unknown, but it works on console (Nicolas
Noble's torus demo).
2024-07-02 16:56:11 +10:00
Stenzek e1f90e6baf
MDEC: Store scale/IDCT matrix transposed 2024-07-02 16:56:10 +10:00
Stenzek 6d6659c85e
MDEC: Increase intermediate IDCT precision 2024-07-02 16:56:07 +10:00
Stenzek e169189441
GPU/HW: Fix possible crash when changing texture filtering 2024-07-01 01:07:27 +10:00
Stenzek 44142ab4f9
CPU/Recompiler: Prefer adrp over trampoline for +/-4GB branches 2024-06-30 16:45:51 +10:00
Stenzek f3671d21f3
CPU/CodeCache: Reduce far code size when using NewRec 2024-06-30 16:45:51 +10:00
Stenzek 9b42ad3859
CPU/CodeCache: Purge JitCodeBuffer 2024-06-30 16:45:51 +10:00
Stenzek be8fbafd71
CPU/CodeCache: Always dynamically allocate code buffer
Reduces .bss size.
2024-06-30 16:45:51 +10:00
Stenzek 890f3fcf5d
Common/Log: Make actually writing unlikely
Move it out of the hot path.
2024-06-30 16:45:51 +10:00
Stenzek 34d5cdec96
GPU/HW: Expose depth buffer to internal postprocessing 2024-06-29 14:25:36 +10:00
Stenzek e39a2d00bf
GPU/HW: Use D32F for PGXP depth
16-bit isn't accurate enough for post processing.
2024-06-29 13:09:45 +10:00
Stenzek 1cb3e6bd49
ShaderGen: Support multiple render target output 2024-06-29 13:09:45 +10:00
Stenzek 80d1056ddf
GPU: Add virtual call when buffers are swapped 2024-06-28 21:15:47 +10:00
Stenzek 0c3cf1f5f8
PostProcessing: Split into internal and display chains 2024-06-28 20:17:15 +10:00
Stenzek 810ce1ce57
GPU: Remove duplicate display params fields
And enable postfx when the DAC is turned off.
2024-06-28 20:17:15 +10:00
Stenzek 3877486712
System: Ensure titles are sanitized for screenshots 2024-06-28 19:44:27 +10:00
Stenzek a89ec0eaf9
Achievements: Always recompute state data size on save
It can be smaller, or, apparently fail in some cases...
2024-06-28 13:12:27 +10:00
Stenzek ebf50edb79
System: Allocate JIT space before fastmem area
On Intel MacOS 14, the fastmem area gets allocated close to the
executable base, leaving no region free +/- 2GB for the JIT area.
2024-06-26 17:11:27 +10:00
Stenzek db305660c1
Achievements: Implement disc change without state reset 2024-06-24 13:16:50 +10:00
Stenzek b9ff358ab3
Achievements: Support scratchpad memory 2024-06-24 13:16:50 +10:00
Stenzek e7e09023e2
Achievements: Avoid malloc on state save/load 2024-06-24 13:16:50 +10:00
Stenzek 63055f1e7f
FullscreenUI: Add sprite texture filtering option 2024-06-23 13:10:10 +10:00
Stenzek ccb76d1451
GameList: Add custom title/regions
Largely inspired by https://github.com/PCSX2/pcsx2/pull/9330, but almost
entirely rewritten.
2024-06-17 23:45:02 +10:00
Stenzek 01fc3258a3
CPU/Recompiler: Warning fix for ARM64/Clang 2024-06-17 17:13:23 +10:00
Stenzek 1ae79c89e3
System: Refactor unsafe settings warning
And warn about round upscaled texture coordinates option.
2024-06-17 17:02:55 +10:00
Stenzek a5f8684bcd
BIOS: Add further detail to missing BIOS message 2024-06-17 16:47:21 +10:00
Stenzek 34f20798a1
GPU/HW: Add separate 3D/2D (sprite) texture filtering 2024-06-17 15:56:56 +10:00
Stenzek be4abb016f
GPU/HW: Reduce multiple setting source of truth 2024-06-17 15:49:12 +10:00
Stenzek 6870010351
GPU/HW: Remove log spam 2024-06-16 21:15:37 +10:00
Stenzek 3d6b9e18c5
Settings: Include cheats in disable-all-enhancements 2024-06-16 19:22:09 +10:00
Stenzek 8455c9c3c6
GPU/HW: Add 'Force Round Upscaled Texture Coordinates' 2024-06-16 19:09:46 +10:00
Stenzek 1582b2ae5d
GPU/HW: Make texture filtering a fragment shadergen parameter 2024-06-16 19:09:46 +10:00
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