Stenzek
bfc914aaa9
CMake: Add DISABLE_SSE4 option
...
NOT recommended. Only if you ABSOLUTELY need it.
The SSE2/legacy build will be a separate download option, and
warn you if you try to run it on a CPU that supports SSE4.
2024-09-23 20:27:58 +10:00
Stenzek
d67b826033
CI/Flatpak: Improve install behaviour
...
Use "standard" install path.
2024-09-23 19:21:14 +10:00
Stenzek
dae38cb309
Qt: Fix gap in advanced graphics settings on Linux
2024-09-23 19:18:29 +10:00
Stenzek
bb3d27f153
GPU/SW: Drop dithering function specialization
...
Reduces the code size by roughly half, which may be beneficial on
icache-starved processors.
Also fixes too-bright values being fed into the blending equation.
2024-09-23 01:01:07 +10:00
Stenzek
2768d27c05
Qt: Make log window legible in light theme
2024-09-23 00:50:51 +10:00
Stenzek
23ec40d032
Settings: Set log level to none if no sinks enabled
2024-09-23 00:26:48 +10:00
Stenzek
cf32774b24
RegTest: Check size before hash
2024-09-22 21:06:05 +10:00
Stenzek
206f32e511
Qt: Fix early console debug output
2024-09-22 21:06:05 +10:00
Stenzek
c439de6364
Common: SSE2 backsupport for vector classes
...
shuffle8() sucks, the rest aren't _too_ bad.
2024-09-22 21:06:05 +10:00
Stenzek
e1c876671a
Misc: More iNN => sNN
2024-09-22 21:06:05 +10:00
Stenzek
986e207cff
GPU/HW: Make batch shaders independent on resolution
...
Almost a 6x reduction in *compressed* shader cache size.
2024-09-22 21:06:05 +10:00
Stenzek
f9941c3f68
GPU/HW: Reduce shader dependence on global constants
...
Step 1 of making resolution-independent shaders.
2024-09-22 21:06:05 +10:00
Stenzek
f169b892c1
GPU: Defer frame done if not running events
...
Prevents interruption/execution exiting if the frame was ticked over
by a MMIO access, e.g. reading GPUSTAT.
2024-09-22 21:06:05 +10:00
Stenzek
3dca598063
Log: Switch to enum class
...
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
88381209b3
System: Fix crash when disabling runahead
2024-09-21 22:26:06 +10:00
Stenzek
1754ecf4f9
SPU: Get rid of second output stream
2024-09-21 22:26:05 +10:00
Stenzek
df17528b18
Qt: Move threaded rendering toggle to Debug tab
...
Frees up some space.
2024-09-21 22:26:05 +10:00
Stenzek
54e5d93165
GPU/SW: Enable SIMD path and make default
2024-09-21 22:26:05 +10:00
Stenzek
19698559c3
System: Drop IPC server
...
The one group using it switched to shared memory exports anyway.
2024-09-21 22:26:05 +10:00
Stenzek
ac8461a28b
System: Fix bogus SW thread CPU in OSD
2024-09-21 22:26:05 +10:00
Stenzek
e617f17294
System: Set GPU timing enable on init/destroy
...
It's really unrelated to the guest GPU.
2024-09-21 22:26:05 +10:00
Stenzek
e7aa0495ab
System: Not all setting changes need to interrupt
2024-09-21 22:26:05 +10:00
Stenzek
40670726b4
GPU/SW: Fix SSE4 path and add 256-bit AVX2 path
2024-09-21 22:26:05 +10:00
Stenzek
a7747c5be3
Common: Add 256-bit integer vector wrapper
2024-09-21 22:26:05 +10:00
Stenzek
d07c7e4b68
Qt: Fix 100% CPU usage while downloading files
...
The wonders of having fast internet, you never realize when this happens
because it completes too quickly...
2024-09-21 22:26:05 +10:00
Stenzek
5f80cb1188
GPU/HW: Fix inaccurate shader progress counter
2024-09-21 22:26:05 +10:00
Stenzek
b5df06a54a
GPU/HW: Rewrite automatic internal resolution selection
...
Make it aspect ratio aware, as well as updating when/if the game changes
resolution. Also include the padding area in the OSD/status resolution.
2024-09-21 22:26:05 +10:00
Stenzek
e056bcb5ff
AudioStream: Fix incorrect padding
2024-09-21 22:26:05 +10:00
Stenzek
96ece5de1c
SmallString: MSVC warning fix
2024-09-19 22:25:35 +10:00
Stenzek
0538b95d9b
GPU/HW: Reduce number of shaders/pipelines in default config
...
~3x speedup in shader compile time on a cold cache.
2024-09-19 22:18:58 +10:00
Stenzek
292c1e0f06
Misc: Normalize OSD message keys
2024-09-18 22:35:50 +10:00
Stenzek
369599202c
StringUtil: Speed up EncodeHex()/append_hex()
2024-09-18 21:42:46 +10:00
Stenzek
401295ebdb
Common: Allow PRINTFLIKE to work on Clang
...
And thus clang-cl.
2024-09-18 21:31:06 +10:00
Stenzek
8ba85d62dc
Pad: Fix stuck inputs after loading mismatched state pad type
2024-09-18 21:21:57 +10:00
Stenzek
8b67ed8536
CPU: Display loadstore offsets in hex
...
Also add 0x prefix to logical immediate operands, since it is printed
in hex, and normalize arithmetic operands.
2024-09-15 17:29:33 +10:00
Stenzek
b96e6d1425
Qt/Debugger: Connect breakpoint checkbox
2024-09-15 17:15:47 +10:00
Stenzek
8fa406061a
CPU: Add SetBreakpointEnabled()
2024-09-15 17:15:38 +10:00
Stenzek
1ffd2f4149
Qt/Debugger: Improve row scrolling
...
Don't center the current PC unless we're going off screen, or requested
a specific address.
2024-09-14 02:07:08 +10:00
Stenzek
6d637127f2
Qt: Fix memory view colours in light themes
2024-09-14 00:44:44 +10:00
Stenzek
350cf7ee32
GPUDevice: Use suffixed shaderc libname
...
Avoids conflicts with other installations of shaderc, e.g. the Vulkan
SDK, which might be in the user's LD_LIBRARY_PATH.
2024-09-13 23:05:01 +10:00
Stenzek
d28f0fa4e6
Qt: Enable word wrap in Settings window list
2024-09-13 21:22:48 +10:00
Stenzek
e17eaf77dd
ImGuiFullscreen: Disable border animation when smooth scrolling is off
2024-09-13 21:14:07 +10:00
Stenzek
e03deb4928
System: Set realtime constraints on MacOS
...
Significantly improves frame timing/pacing, now it is a
flat line on my 2023 MBP like other platforms.
2024-09-13 20:23:57 +10:00
Stenzek
d330dca38a
MetalDevice: Use CocoaTools methods
2024-09-13 19:52:09 +10:00
Stenzek
d981dc7471
MetalDevice: Implement pipeline cache
2024-09-13 19:26:44 +10:00
Stenzek
ad67ab7ec3
MetalDevice: Use TranspileAndCreateShaderFromSource()
2024-09-13 17:31:59 +10:00
Stenzek
6f31e562a0
MetalDevice: Implement timed present
2024-09-13 15:19:29 +10:00
Stenzek
f2720b98dd
System: Reduce force-displayed-warning scope
...
Please don't make me regret this.
2024-09-10 23:53:39 +10:00
Stenzek
ddcb0cb541
Misc: Warning fixes
2024-09-10 23:53:27 +10:00
Stenzek
20b4581bbe
Settings: Remove second source of truth for OSD notifications
...
And split it into warnings/messages. Warnings are always displayed
regardless of the "Show OSD Messages" setting, because they're critical
and users forget they disable messages.
2024-09-10 22:10:42 +10:00
Stenzek
2813b4bece
Achievements: Open profile on leaderboard selection
2024-09-09 22:10:06 +10:00
Stenzek
6c3f33804f
ImGuiFullscreen: Fix whole menu being unscrollable
...
If the first/last menu items were not enabled, e.g. settings pages
2024-09-09 21:37:52 +10:00
Stenzek
891d5cefbe
ImGuiFullscreen: Allow smooth scrolling
2024-09-09 21:57:08 +10:00
Stenzek
e93dea5ad8
SPU: Connect 0x1F801DB8/0x1F801DBA writes
...
But I'm not aware of any games that actually use this, and if there is a
sweep active, it will be soon overwritten anyway.
2024-09-09 21:04:47 +10:00
Stenzek
d1770b616f
Settings: Default console logging to running from TTY
2024-09-09 20:55:15 +10:00
Stenzek
fe9d06a194
Qt/Debugger: Snap code view to center on goto address
2024-09-09 20:41:10 +10:00
Stenzek
936c945e73
Qt/Debugger: Highlight selection on dump address
2024-09-09 20:37:04 +10:00
Stenzek
c633a6bacc
Qt/Debugger: Invalidate blocks on manual memory edit
...
Ensures recompiler isn't executing stale code.
2024-09-09 20:19:26 +10:00
Stenzek
128d5254ca
MSBuild: Disable RTTI on Windows builds
...
It's not used.
2024-09-09 19:22:41 +10:00
Stenzek
e2a3fe14f0
Cheats: Prevent inlining of memory functions
...
Clang is way too eager here and inlines the whole thing hundreds of
times within CheatList::Apply().
2024-09-09 18:53:51 +10:00
Stenzek
7bcdf11240
MediaCapture: Fix audio timestamp drift
...
Fixes capture lag after approximately 10 minutes.
2024-09-09 17:27:22 +10:00
Stenzek
de551c1836
D3D12Device: Fix crash when using media capture
2024-09-09 17:27:10 +10:00
Stenzek
559aff0ad5
D3D12Device: Use DXC and 12.0 feature level
2024-09-09 00:23:30 +10:00
Stenzek
a22acfc8a7
Deps: Include DXC and DirectX Agility SDK
2024-09-09 00:00:35 +10:00
Stenzek
4c31218d2b
GPUDevice: Add API version field
...
Also tie shader caches to API version and device LUID. That way we don't
have tons of cache files, and they're regenerated if the GPU/driver
changes.
2024-09-08 23:33:05 +10:00
Stenzek
c42fb7c16e
GPUDevice: Support ingesting SPIR-V
...
Will be transpiled to HLSL -> DXBC for DirectX backends.
2024-09-08 22:11:58 +10:00
Stenzek
6a5f16d89a
VulkanDevice: Handle rare case of unaligned SPIR-V
2024-09-08 21:55:51 +10:00
Stenzek
432fd80f3d
PostProcessing/FX: Use SPIR-V instead of GLSL for Vulkan
2024-09-08 19:43:18 +10:00
Stenzek
86bff869bc
dep/reshadefx: Update to 7bdfb03
2024-09-08 19:19:58 +10:00
Stenzek
3078339f64
Common: Extract out ryml helpers
2024-09-09 00:35:31 +10:00
Stenzek
b10f043350
StringUtil: Fix typo
2024-09-09 00:35:12 +10:00
Stenzek
1d83e72887
Achievements: Fix incorrect plural string
2024-09-08 11:51:31 +10:00
Stenzek
1956575710
Cheats: Fix detection of ungrouped cheat import
2024-09-08 11:49:59 +10:00
Stenzek
32a3311208
System: Add option to automatically resize window
2024-09-07 22:05:54 +10:00
Stenzek
9d6ec23dc4
Common: Fix GSVector natvis
2024-09-07 21:53:32 +10:00
Stenzek
940cc636d6
GPU: Fix internal res screenshot AR with None cropping
2024-09-07 20:19:28 +10:00
Stenzek
af777c16ff
MediaCapture: Log video size
2024-09-07 20:19:07 +10:00
Stenzek
47a3cd44f3
CDROM: Support reading MODE1 sectors
2024-09-07 16:05:53 +10:00
Stenzek
1b2ff7e0e8
CDImage: Support reading MODE1 sectors
2024-09-07 16:05:43 +10:00
Stenzek
6ea2bb1810
Qt/Debugger: Auto refresh memory every 100ms
2024-09-07 13:39:14 +10:00
Stenzek
71ec59be06
Qt/Debugger: Highlight changed bytes in memory view
2024-09-07 13:19:01 +10:00
Stenzek
ac5a2a153a
GPUDevice: Remove BeginPresent() skip parameter
...
It wasn't used - System does its own present skipping.
2024-09-07 12:53:55 +10:00
Stenzek
4b0c1fdbf2
GPUDevice: Add recovery from lost device
2024-09-07 12:48:44 +10:00
Stenzek
1c1b82ed66
GPUDevice: Purge threaded presentation
...
Worse frame pacing, and GPU thread (when I finish it) will give
significantly faster performance on mobile anyway.
2024-09-07 12:15:42 +10:00
Stenzek
c5dd48474f
CI/MacOS: Don't use ninja for lunasvg
2024-09-06 22:59:21 +10:00
Stenzek
2e080d4998
Qt: Add edit function to debugger memory view
2024-09-06 22:48:50 +10:00
Stenzek
153d95982b
RegTest: Compile fix
2024-09-06 22:14:29 +10:00
Stenzek
929b049bd8
Qt: Save/restore additional window positions
...
Cheat Manager, Memory Scanner, CPU Debugger.
2024-09-06 20:43:43 +10:00
Stenzek
ab1c85790c
CPU: Refactor execution mode switching
...
Fixes single step breaking in branch delay slots with recompiler.
Simplifies initialization.
Removes multiple sources of truth for fastmem.
2024-09-06 20:00:30 +10:00
Stenzek
4c59513c79
GPUDevice: Fix pipeline cache loading
...
(again)
2024-09-06 18:00:00 +10:00
Stenzek
a074699dab
Qt: Fix 'Boot and Debug' menu option
2024-09-06 17:45:59 +10:00
Stenzek
129df8410e
PostProcessing/FX: Log pipeline creation error description
2024-09-03 23:28:27 +10:00
Stenzek
a53dc85035
GPUDevice: Fix initial pipeline cache not being created
2024-09-03 22:45:42 +10:00
Stenzek
0458dfe8be
MemoryCard: Don't display message for empty card
2024-09-03 21:49:51 +10:00
Stenzek
a7d8e6d018
Host: Add disambiguation variants for translations
2024-09-03 21:39:00 +10:00
Stenzek
060c5553c0
INISettingsInterface: Use FileSystem atomic update routines
2024-09-03 20:43:42 +10:00
Stenzek
87eded4bce
FileSystem: Fix FD leak with atomic updated file on Linux
...
Also add the ability to explicitly commit and check for errors.
2024-09-03 20:43:10 +10:00
Stenzek
1eb1b03141
MemoryCard: Defer creation of card until first save
...
Also do not overwrite the card if it failed to load.
2024-09-03 20:13:03 +10:00
Stenzek
1446e3035f
Settings: Make Disable Interlacing a Deinterlacing mode
...
Saving that precious vertical space.
2024-09-03 20:02:01 +10:00
Stenzek
94911abdca
System: Display disabled enhancements in safe mode
2024-09-03 19:29:59 +10:00