Commit Graph
100 Commits
Author SHA1 Message Date
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
Stenzek 3f25db79b8 D3D11Device: Make depth targets sampleable 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
Stenzek 0c3cf1f5f8 PostProcessing: Split into internal and display chains 2024-06-28 20:17:15 +10:00
Stenzek 810ce1ce57 GPU: Remove duplicate display params fields
And enable postfx when the DAC is turned off.
2024-06-28 20:17:15 +10:00
Stenzek e4cb359625 GameDB: Breath of Fire III 2024-06-28 20:17:15 +10:00
Stenzek 3877486712 System: Ensure titles are sanitized for screenshots 2024-06-28 19:44:27 +10:00
Stenzek 8c72fd57f1 GPUDevice: Disable SPIR-V optimization on GLSL output
SSO causes SPIRV-Cross to redeclare builtins, which we don't want
(breaks on Mesa).
2024-06-28 13:52:01 +10:00
Stenzek dd420cbfcf Common: Alloc failures in HeapArray are unlikely 2024-06-28 13:12:50 +10:00
Stenzek a89ec0eaf9 Achievements: Always recompute state data size on save
It can be smaller, or, apparently fail in some cases...
2024-06-28 13:12:27 +10:00
Stenzek 5c94ab9f22 dep/rcheevos: Avoid -1 return in rc_runtime_progress_size() 2024-06-28 13:12:07 +10:00
Stenzek 71c319ccf0 dep/rcheevos: Set RC_NO_THREADS
We protect the state ourselves, **and** Win32 mutexes are horribly slow.
2024-06-28 12:25:28 +10:00
Stenzek ebf50edb79 System: Allocate JIT space before fastmem area
On Intel MacOS 14, the fastmem area gets allocated close to the
executable base, leaving no region free +/- 2GB for the JIT area.
2024-06-26 17:11:27 +10:00
Stenzek 8c1228a7aa Qt: Tidy up theme change workaround 2024-06-24 13:25:16 +10:00
Stenzek db305660c1 Achievements: Implement disc change without state reset 2024-06-24 13:16:50 +10:00
Stenzek b9ff358ab3 Achievements: Support scratchpad memory 2024-06-24 13:16:50 +10:00
Stenzek e7e09023e2 Achievements: Avoid malloc on state save/load 2024-06-24 13:16:50 +10:00
Stenzek 17d459511a dep/rcheevos: Hash functions are not needed 2024-06-24 13:16:49 +10:00
Stenzek 1a2ad89a17 dep/rcheevos: Bump to d54cf8f 2024-06-24 13:16:49 +10:00
Stenzek 6021e435ba Qt: Work around QList<QPair> marshalling issue 2024-06-24 00:55:00 +10:00
Stenzek 6bfd862cb3 GPUDevice: Fix transpiled interface linking with OpenGL 2024-06-23 23:39:56 +10:00
Stenzek b8ed013ec3 dep/reshadefx: Fix UBO reference with OpenGL 2024-06-23 23:39:39 +10:00
Stenzek 1797050f97 VulkanDevice: Release swap chain images on resize 2024-06-23 16:17:31 +10:00
Stenzek 6892c3d095 Qt: Work around theme swap bug with Classic Windows 2024-06-23 13:43:50 +10:00
Stenzek e8541648ce Deps: Bump versions 2024-06-23 13:20:48 +10:00
Stenzek 966cce1581 Postprocessing: Sort shader list lexiographically 2024-06-23 13:20:47 +10:00
Stenzek ea3fa7fe3d Postprocessing/FX: Fix locating shaders in subdirectories 2024-06-23 13:20:47 +10:00
Stenzek 63055f1e7f FullscreenUI: Add sprite texture filtering option 2024-06-23 13:10:10 +10:00
Stenzek 3d00957248 Resources: Update gamecontrollerdb.txt 2024-06-23 11:15:17 +10:00
Stenzek ccb76d1451 GameList: Add custom title/regions
Largely inspired by https://github.com/PCSX2/pcsx2/pull/9330, but almost
entirely rewritten.
2024-06-17 23:45:02 +10:00
Stenzek 01fc3258a3 CPU/Recompiler: Warning fix for ARM64/Clang 2024-06-17 17:13:23 +10:00
Stenzek 70d7d4ab67 MSBuild: Enable Vulkan on Windows ARM64
Apparently there are drivers now/in the works.
2024-06-17 17:13:23 +10:00
Stenzek 1ae79c89e3 System: Refactor unsafe settings warning
And warn about round upscaled texture coordinates option.
2024-06-17 17:02:55 +10:00
Stenzek a5f8684bcd BIOS: Add further detail to missing BIOS message 2024-06-17 16:47:21 +10:00
Stenzek 7b1ec5dab2 GameDB: Force round texcoords on Digimon World 3 2024-06-17 16:46:55 +10:00
Stenzek 34f20798a1 GPU/HW: Add separate 3D/2D (sprite) texture filtering 2024-06-17 15:56:56 +10:00
Stenzek be4abb016f GPU/HW: Reduce multiple setting source of truth 2024-06-17 15:49:12 +10:00
Stenzek 6870010351 GPU/HW: Remove log spam 2024-06-16 21:15:37 +10:00
Stenzek e9a47233f7 GPUDevice: Compile warning fix 2024-06-16 20:49:30 +10:00
Stenzek 3d6b9e18c5 Settings: Include cheats in disable-all-enhancements 2024-06-16 19:22:09 +10:00
Stenzek 0563350d04 GameDB: Set force round texcoords on Crash games 2024-06-16 19:09:46 +10:00
Stenzek 8455c9c3c6 GPU/HW: Add 'Force Round Upscaled Texture Coordinates' 2024-06-16 19:09:46 +10:00
Stenzek 1582b2ae5d GPU/HW: Make texture filtering a fragment shadergen parameter 2024-06-16 19:09:46 +10:00
Stenzek 5be2e68ab9 Qt: Update glyph ranges 2024-06-16 17:15:46 +10:00
Stenzek c1792108f4 GPU/HW: Eliminate raw texture pipeline permutations 2024-06-16 17:09:24 +10:00
Stenzek 51648b0714 CI/AppImage: Explicitly remove libwayland-* 2024-06-16 17:09:23 +10:00
Stenzek 54097fc14e Postprocessing/FX: Expose 'viewportoffset' uniform 2024-06-16 00:00:01 +10:00
Stenzek eb80a82ce5 GameDB: Disable widescreen on Final Fantasy Tactics 2024-06-15 23:58:15 +10:00
Stenzek 964b94960e Postprocessing/FX: Ensure RT isn't bound as sampler
Prevents possible Vulkan spec violation in some shaders.
2024-06-15 23:55:33 +10:00
Stenzek ef69c31e9f GPUDevice: Support transpiling shaders at compile time
And use it for GLSL postprocessing shaders.
2024-06-14 21:21:34 +10:00
Stenzek f0c2832d03 Dep: Update vixl to 662828c 2024-06-14 17:42:24 +10:00
Stenzek d45e218da7 CI: Re-enable Flathub pushes
The job can just take longer.. can't be arsed to write a separate
workflow at the moment.
2024-06-14 15:59:32 +10:00
Stenzek d51b880052 Postprocessing/FX: Fix incorrect pixel size uniforms 2024-06-14 00:38:08 +10:00
Stenzek 277147199e Qt: Fix checked state on startup for disc merging 2024-06-13 22:15:53 +10:00
Stenzek 8124fb2ef5 CDROM: Fix incorrect sector dropped log message 2024-06-13 18:35:02 +10:00
Stenzek 9a88cbce09 Pad: Fix incorrect card mismatch OSD message 2024-06-13 18:35:02 +10:00
Stenzek c86f6eb639 Achievements: Fix incorrect data source for mastery points 2024-06-13 18:35:02 +10:00
Stenzek ac1bb905fe GPU: Set idle bit during VRAM upload
Tenga Seiha does a bunch of completely-invalid VRAM writes on boot, then
expects GPU idle to be set. It's unclear what actually happens, I need to
write another test, but for now, just skip these uploads. Not setting GPU
idle during the write command breaks Doom, so that's not an option.
2024-06-13 18:35:02 +10:00
Stenzek e6a11abedc Shaders: Fix upscaling moire in CRT-Lottes 2024-06-11 23:32:19 +10:00
Stenzek facce0d8cb PostProcessing: Expose aspect-correct pixel sizes
That consider the display aspect ratio/padding when sampling pixels in
the input (window size).
2024-06-11 23:32:19 +10:00
Stenzek 354b250642 PostProcessing: Add native width/height inputs
Available in GLSL as GetNativeSize(), GetUpscaleMultiplier(), and in
reshade as native_width/native_height/upscale_multiplier.

GetPaddedOriginalSize() is now deprecated, as it does not make since
since the postfx shader runs with a window-sized off-screen target as an
input, not the internal render texture.
2024-06-11 14:04:45 +10:00
Stenzek bac2ac0151 FullscreenUI: Fix incorrect padding calculation in pause menu
Fixes scrollbars appearing in menu.
2024-06-11 13:12:37 +10:00
Stenzek b464b6d668 FullscreenUI: Fix loading undo state from menu 2024-06-11 13:07:47 +10:00
Stenzek f41c238c53 VulkanDevice: Disable VK_KHR_dynamic_rendering_local_read on AMD
Like everything else on RDNA3, it appears to be broken and causes GPU
hangs/resets.
2024-06-10 17:44:10 +10:00
Stenzek 0879dff93a Updater: Add icon/rc file 2024-06-10 13:10:11 +10:00
Stenzek e11f73ede2 Updater: Add VC runtime check 2024-06-10 13:02:20 +10:00
Stenzek 484c1dccd4 Qt: Use 64-bit comparison for VC runtime check 2024-06-10 13:01:32 +10:00