Commit Graph
100 Commits
Author SHA1 Message Date
Stenzek 18b0b11094 CommonTests: Add GSVector MDEC YUVToRGB test 2024-07-10 15:18:42 +10:00
Stenzek 7c818c0c53 CI/Flatpak: Bump to flatpak-github-actions b6c9217 2024-07-10 15:18:38 +10:00
Stenzek a56ebf24b2 Qt: Fix incorrect sort indicator on loading 2024-07-09 21:49:17 +10:00
Stenzek 93836636a1 Qt: Center type icon in game list 2024-07-09 21:49:17 +10:00
Stenzek addadbabc6 Qt: Use memory card icon as window icon 2024-07-09 21:49:12 +10:00
Stenzek 9143116616 Qt: Show memory card icons in game list
You can disable it if you really hate it.
2024-07-09 21:38:38 +10:00
Stenzek 8659c8cca6 Core: Add MemoryCardIconCache 2024-07-09 21:38:38 +10:00
Stenzek ec851c9d6d FileSystem: Add FTruncate64() 2024-07-09 21:38:38 +10:00
Stenzek 36abbd97e8 GameDB: Set DisablePGXPOn2DPolygons on Xenogears
Fixes misaligned UI. For future reference: game does a multiply by 4096,
then a right shift of 12, which should give back the same value, but
with it being implemented in PGXP-CPU with a divide that does not round
down, it ends up being off by one.

Rounding down loses precision in other games, so that's not an option.
2024-07-09 20:38:21 +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 985b9f8a38 GameDB: CPU-PGXP for Xenogears 2024-07-08 17:20:46 +10:00
Stenzek b6f7420018 CPU/PGXP: Don't force inputs to valid on add/sub 2024-07-08 17:18:27 +10:00
Stenzek f5cc70923b CMake: Fix typo in Mac CMAKE_CXX_FLAGS 2024-07-07 15:12:49 +10:00
Stenzek 7373342ea9 GameDB: CPU-PGXP for Resident Evil 3
And disable WS for Japanese releases of RE1-3.
2024-07-07 14:29:29 +10:00
Stenzek 7f21226a99 GameDatabase: Warn if vertex cache is enabled but unnecessary 2024-07-07 14:29:29 +10:00
Stenzek fe055280e1 Deps: Patch macdeployqt timeout 2024-07-07 14:10:24 +10:00
Stenzek aac7a9992c CI/AppImage: Drop gcc13 workaround
Been fixed upstream for some time now.
2024-07-07 14:10:24 +10:00
Stenzek e1a9c69a4a Deps: Bump to SDL 2.30.5 2024-07-07 14:10:18 +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
Stenzek ff7bfaaadb dep/reshadefx: Avoid emitting more reserved keywords as identifiers 2024-07-07 12:46:09 +10:00
Stenzek 6f50e12ea2 PostProcessing/FX: Remove debug shader dump 2024-07-07 12:46:09 +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 1fd8d2701d Sockets: Add HasAnyClientSockets() 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 eba0794b4f FileSystem: Add Error to file writing 2024-07-06 19:36:15 +10:00
Stenzek 29b3fa2b95 GSVector: Add {min,max}v_{u8,u16} 2024-07-06 19:36:15 +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 d021a61eb5 GameDB: PGXP-CPU for Rat Attack 2024-07-04 22:11:16 +10:00
Stenzek 4c0250716d GPU/HW: Ensure buffers are freed prior to recreating 2024-07-04 21:54:44 +10:00
Stenzek 3749b812a3 GPUDevice: Add ExecuteAndWaitForGPUIdle() 2024-07-04 21:54:19 +10:00
Stenzek 9fcc98a60a InputSource: Explicitly construct binding key 2024-07-04 21:40:32 +10:00
Stenzek c02bf0f662 CPU/NewRec/RV64: Compile fix 2024-07-04 21:40:19 +10:00
Stenzek 487eb102b7 Common: __m128 shouldn't be used in nosimd 2024-07-04 19:18:47 +10:00
Stenzek 87f2995f3d TextureReplacements: Namespace-ify 2024-07-04 15:52:32 +10:00
Stenzek 82b5772d27 Deps: Move build scripts/patches into own directory 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 4bc9fd7574 Deps: Remove discord-rpc from in-tree 2024-07-04 15:52:32 +10:00
Stenzek e59e93696b CMake: Fix warning building with MSVC 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 f35397cf8d Deps: Build discord-rpc 2024-07-04 15:52:31 +10:00
Stenzek eb8df23366 Qt: Fix gap in advanced graphics settings on Linux 2024-07-04 13:25:27 +10:00
Stenzek 4b61a3cbf3 Qt: Unrestrict resolution scale up to device limits 2024-07-04 13:25:27 +10:00
Stenzek 7927ec647f Qt: Fix a couple of instances of inconsistent sorting 2024-07-04 13:25:26 +10:00
Stenzek 63b30e2925 Qt: Annotate unofficial release builds 2024-07-04 13:25:26 +10:00
Stenzek d178853392 PostProcessing/FX: Fix incorrect draw rect 2024-07-04 00:32:22 +10:00
Stenzek 3c230ba1bf PlatformMisc: Swap include order for Mac 2024-07-03 16:04:05 +10:00
Stenzek e0509ebd9f Common: Remove Rectangle class 2024-07-03 15:54:32 +10:00
Stenzek 29533650a8 MetalDevice: Rectangle -> GSVector4i 2024-07-03 15:54:32 +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 2a7de25505 Common: Remove gsvector.h dependency on assert.h 2024-07-03 15:44:12 +10:00
Stenzek e16f2c4dab README: Mention SSE4.1 requirement 2024-07-03 00:24:13 +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 faa151d5ad CDImageCHD: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek 0654b2dc43 AudioStream: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek b094c9cd87 MDEC: Vectorize IDCT 2024-07-03 00:24:12 +10:00
Stenzek 0ae6ddcf7f Common: Add GSVector
Mostly based on PCSX2.
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 a255b5bc75 Deps: Remove cpuinfo from in-tree 2024-07-03 00:24:12 +10:00
Stenzek 31aa040758 Deps: Build cpuinfo 2024-07-03 00:24:12 +10:00
Stenzek 31c3af4866 RegTest: Add spacebar swapper 2024-07-02 16:56:11 +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 fbdeea7889 GameDB: Duke Nukem games 2024-07-02 16:56:10 +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 da2dc5fa1e FIFOQueue: Optimize PopRange() for trivially-copyable types 2024-07-02 14:26:16 +10:00
Stenzek 1963d80d2c RegTest: Fix crash on startup 2024-07-01 01:07:27 +10:00
Stenzek e169189441 GPU/HW: Fix possible crash when changing texture filtering 2024-07-01 01:07:27 +10:00
Stenzek 422102989c CMake: Remove unused macro 2024-06-30 16:55:04 +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 0d3e674500 Qt: Move resources out of exe into rcc file 2024-06-30 16:45:51 +10:00
Stenzek 8c0af03448 MSBuild: ARM64 only builds with Clang 2024-06-30 16:45:51 +10:00
Stenzek 5bf9e1d655 dep/vixl: Fix ARM32 build 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 89eea91ed5 Extras: Update to PadTest 1.1 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 d8bd35e8d6 GPUDevice: Add D24S8/D32F/D32FS8 types 2024-06-29 13:09:45 +10:00