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