Stenzek
5ed96fcfe4
GameDB: ICache for Nightmare Creatures
...
Janky ass disc code...
2024-09-25 01:37:07 +10:00
Stenzek
50cfbf1629
GameDB: PGXP-CPU for Valkyrie Profile
...
Fixes wobble during screen transitions and battle stages.
Hopefully nothing else breaks, if it does, please let me know.
2024-09-25 01:37:07 +10:00
Stenzek
114effd9a1
CDROM: Simulate backwards 1T jump on short seeks
...
Fixes hangs in LMA Manager, Nightmare Creatures PAL with Interpreter.
2024-09-25 01:37:07 +10:00
Stenzek
3808217298
SPU: Handle ignore loop address with IRQs on
...
This was actually the issue with World Cup 98, not anything to do with
disc timing. Which makes more sense.
Game has IRQs enabled, but because it wasn't keyed on, the condition
never held true, therefore the new repeat address was immediately
overwritten.
2024-09-25 01:37:07 +10:00
Stenzek
2cfad2126d
Common: Missed another SSE4 instruction
2024-09-25 01:37:07 +10:00
Stenzek
71cf206dc8
CI: Add Windows SSE2 builds
2024-09-23 21:42:48 +10:00
Stenzek
b971125469
MSBuild: Support creating legacy SSE2 builds
2024-09-23 21:19:28 +10:00
Stenzek
ed7a9e2f8c
CI: Refactoring and add Linux SSE2 builds
...
Windows will follow at some point.
2024-09-23 20:27:58 +10:00
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