Stenzek
298f39a0c8
GPU/HW: Fully report shader/pipeline creation failures
2024-07-22 15:43:18 +10:00
Stenzek
deed0c9713
GameDatabase: Merge compatibility messages
2024-07-22 14:59:55 +10:00
Stenzek
b4136d2834
TimingEvents: Avoid heap allocation in SortEvents()
2024-07-21 16:15:40 +10:00
dreamsyntax
d9ada75d4f
Qt: Toggle for DualSense Player LED ( #3254 )
2024-07-21 16:07:36 +10:00
Stenzek
3172eac8df
PINE: Disable nagle buffering
2024-07-21 13:43:21 +10:00
Stenzek
f2e88ce0e5
PINE: Add MsgReadBytes/MsgWriteBytes
2024-07-21 13:34:10 +10:00
Stenzek
79644bfb2a
CPU: Add Safe{Read,Write}MemoryBytes
2024-07-21 13:33:54 +10:00
Stenzek
52f9e8556a
CDROM: Deactivate command attempt before queueing another
...
Reduces chances of ending up with unordered events.
2024-07-20 22:35:32 +10:00
Stenzek
efd8aab437
TimingEvents: Fix events ending up out-of-order
2024-07-20 22:35:32 +10:00
Stenzek
9b77a9aff7
TimingEvents: Move interrupt dispatch to end of loop
...
Saves another iteration.
2024-07-20 13:42:01 +10:00
Stenzek
4f7ddfaae6
TimingEvents: Remove pointer indirection
...
Probably should move this to one big array for locality.
2024-07-19 22:56:41 +10:00
Stenzek
56dd9878e1
Misc: RISC-V build fixes
2024-07-19 22:25:57 +10:00
Stenzek
2e96931c32
CPU/CodeCache: Dynamically compute BIOS memory access timing
...
The timings can change if the game does so. Instead of forcing the
blocks to recompile, we can just manually multiply size * word_time.
Improves stability of Nightmare Creatures booting, and fixes corrupted
text in Formula Circus when using the cached interpreter.
2024-07-19 22:25:57 +10:00
Stenzek
d9a224ef6c
GameList: Fix bogus entries on disc change due to disc set
2024-07-19 15:51:25 +10:00
Stenzek
6a920b268e
CDROM: Handle BFRD clears inbetween DMA transfers
...
Fixes disc detection in Metal Gear Solid: Special Missions.
2024-07-19 15:51:25 +10:00
Stenzek
f0945ca3ca
BIOS: Refactor loading/hashing of images
...
Fixes identification of PS2 BIOSes. However, they are not (yet) fastboot
compatible.
2024-07-19 15:51:25 +10:00
Stenzek
19063d4288
Bus: Mirror BIOS area up to 4MB
...
Fixes bus error when using PS2 BIOS.
2024-07-19 15:51:25 +10:00
Stenzek
7217536fdd
MD5Digest: Span-ify
2024-07-19 15:51:25 +10:00
Stenzek
6176a21ff1
ProgressCallback: Eliminate redundancy and drop C format strings
2024-07-19 15:51:25 +10:00
Stenzek
567b86ce79
Host: Purge ReportFormattedDebuggerMessage()
2024-07-19 14:00:29 +10:00
Stenzek
92038da3d5
CDROM: Handle speed change while reading
...
Fixes level music in Croc 2 demo.
2024-07-18 00:31:19 +10:00
Stenzek
9a89ab3bab
GameDatabase: Add deinterlacing mode override
2024-07-17 20:57:36 +10:00
Stenzek
f1ca914512
CDROM: Further adjust IRQ delay
...
Fixes audio dropouts in Crime Crackers, Ogre Battle seems fine now as
well.
2024-07-17 20:57:36 +10:00
Stenzek
9392c19a70
CDROM: Handle audio sectors in 2X mode
...
Fixes menu background in 360 Three Sixty.
2024-07-17 20:57:35 +10:00
Stenzek
44b9d16d9f
CDROM: Defer set of autopause track
...
Pitball's menu music starts mid-second, and there's no pregap,
so the first couple of reports are for the previous track.
It doesn't enable autopause until receiving a couple, and it's
actually playing the track it wants.
2024-07-17 20:57:35 +10:00
Stenzek
fb747d6ded
CDROM: Drop setloc on double Play
...
And limit the locations position is updated while seeking.
Fixes menu music in Hot Wheels: Extreme Racing.
2024-07-17 20:57:35 +10:00
Stenzek
bc30569a6d
SPU: Reverb input should be muted when SPU muted
...
Fixes pause menu in Bubsy 3D, Tuning Car Battle Spec R.
2024-07-17 20:57:17 +10:00
Stenzek
fae6b7ae86
System: Fix double error on load/boot cancel
2024-07-14 21:32:10 +10:00
Stenzek
fee888758f
System: Purge unused RecreateSystem()
2024-07-14 21:30:52 +10:00
Stenzek
640ed4a2d3
CPU/Recompiler: Eliminate redundant speculative reg read
2024-07-14 21:26:17 +10:00
Stenzek
59a2309a83
GPU: Use half width vector types where appropriate
2024-07-14 21:25:48 +10:00
Stenzek
df979d4648
Build: Fix DiscordRPC not being included in Mac bundle
2024-07-14 21:25:26 +10:00
Stenzek
500fbe5ef1
Achievements: Fix potential uninitialized data read
2024-07-14 21:25:25 +10:00
Stenzek
8698298499
CPU/NewRec: Fix incorrect condition in GenerateCall()
2024-07-14 21:25:25 +10:00
Stenzek
a5a320720a
GPU/HW: Fix incorrect dirty rect union
...
Reduces GPU usage during screen waves effect in Um Jammer Lammy from
over 70% down to 3% on my 7900GRE at 9x.
2024-07-14 18:26:02 +10:00
Stenzek
fd0626aa6d
GameList: Re-extract memcard icon if deleted
...
But don't keep trying if the game doesn't have a save.
2024-07-14 18:26:02 +10:00
Stenzek
5da6c926d9
GameList: Always open icon cache with r+b on Linux
...
Fixes flock() error on startup.
2024-07-13 18:32:42 +10:00
Stenzek
2cfa535784
System: Fix certain GPU settings not applying until unpause
2024-07-13 17:52:42 +10:00
Stenzek
7c45ad3fed
GameList: Add dedicated gameicons directory
2024-07-11 17:17:25 +10:00
Stenzek
2ac2ad605e
CPU/Recompiler: Break blocks on invalid instructions
2024-07-11 17:17:25 +10:00
Stenzek
3b9c489787
CPU: Pass instruction query values by reference
2024-07-11 17:17:25 +10:00
Stenzek
226a8eac81
MemoryCardIconCache: Ignore shared cards
2024-07-10 21:47:02 +10:00
Stenzek
11f7bfc461
CPU/PGXP: Refactor add/sub for small speedup
2024-07-10 20:56:42 +10:00
Stenzek
e5c62b8baf
CPU/PGXP: Fix incorrect Y on invalid add/sub
2024-07-10 20:56:21 +10:00
Stenzek
5881133cf5
CPU/PGXP: Set valid on bitwise ops from lowprec
2024-07-10 19:10:56 +10:00
Stenzek
9be7a37416
GSVector: SIMD-ify YUVToRGB
...
Almost 10x speedup on the function alone, 15% in practice ingame.
2024-07-10 15:18:42 +10:00
Stenzek
8659c8cca6
Core: Add MemoryCardIconCache
2024-07-09 21:38:38 +10:00
Stenzek
de27e5de92
GPU: Add option to disable PGXP on 2D polygons
2024-07-09 20:37:58 +10:00
Stenzek
f0e2d1a9fa
CPU/PGXP: Rewrite SLTI/SLTIU handlers
...
Don't read uninitialized memory...
2024-07-09 20:14:08 +10:00
Stenzek
d922a43127
CPU/PGXP: Don't force valid input on slt/sltu
2024-07-09 19:45:44 +10:00
Stenzek
3b7844be5a
CPU/PGXP: Don't force valid inputs on mult/div
2024-07-09 19:21:47 +10:00
Stenzek
d831cb69a9
CPU/PGXP: Normalize variable names
2024-07-09 19:16:16 +10:00
Stenzek
5410a42fd7
CPU/PGXP: Explicitly handle addi rt, zero, nnnn
2024-07-09 19:07:17 +10:00
Stenzek
b6f7420018
CPU/PGXP: Don't force inputs to valid on add/sub
2024-07-08 17:18:27 +10:00
Stenzek
7f21226a99
GameDatabase: Warn if vertex cache is enabled but unnecessary
2024-07-07 14:29:29 +10:00
Stenzek
d63ae8718f
GPU: Always calculate draw rect
...
Stops postfx shaders that depend on the draw rect going into NaN
territory.
2024-07-07 12:46:09 +10:00
Nik Chizhov
a3d600d5c3
fix: moved vairable access
2024-07-07 12:45:49 +10:00
Nik Chizhov
5cdcdb565f
fix: string to c-string to string
2024-07-07 12:45:49 +10:00
PugsyMAME
d372609bdc
Add memory contents to "Addr=" string in debugger
...
Tweaks the format of the addr= string in the debugger/trace so that it includes the memory contents.
It will also take the 2nd character of the opcode and if it's b or h it will size it accordingly.
so
addr=800BC2D0
becomes
addr=800BC2D0[00000000] or addr=800BC2D0[0000] or addr=800BC2D0[00]
This change amongst other things will facilitate a widescreen cheat scanner, that will take a lot of the work away from making widescreen cheats.
2024-07-06 22:51:59 +10:00
Stenzek
ed5a99066f
GPU: Cull off-screen sprites/lines
...
And further optimizations to culling in general.
2024-07-06 22:13:46 +10:00
Stenzek
bc73dacea4
System: Use socket multiplier for sleeping when connected
...
Should significantly reduce PINE latency.
2024-07-06 21:56:30 +10:00
Stenzek
b06fceffa4
GDB/PINE: Fix listen socket leak on shutdown
2024-07-06 21:56:30 +10:00
Stenzek
9a70003b70
MSBuild: Silence MSVC warning C4324
2024-07-06 19:45:16 +10:00
Stenzek
23962fd07e
GTE: Pack local config in struct
2024-07-06 19:33:38 +10:00
Stenzek
b6a264b8b4
TimingEvents: Pack state in struct
2024-07-06 19:18:25 +10:00
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