Commit graph

487 commits

Author SHA1 Message Date
Connor McLaughlin d7f8884291 Qt: Fix compilation under clang-9
Fixes #23.
2020-02-13 16:54:09 +09:00
Connor McLaughlin 5c7ef65a34 HostInterface: Non-standard speeds are <100% too 2020-02-12 21:27:43 +09:00
Connor McLaughlin b8210ecbe3 GPU: Use correct texture page size in overlap tracking 2020-02-12 20:58:34 +09:00
Connor McLaughlin 278aa86d14 SPU: Refactor ADSR/implement exponential mode 2020-02-11 23:10:00 +09:00
Connor McLaughlin e098c83342 HostInterface: Disable vsync/audio sync when running at not-100% speed 2020-02-11 12:03:25 +09:00
Connor McLaughlin 70fe43a3ec System: Implement variable emulation speed 2020-02-11 12:02:42 +09:00
Connor McLaughlin 9ac7b002e2 GPU/HW: Improve dirty rectangle tracking
Fixes title screen of Activision Classics and performance regression
from Vagrant Story motion blur fix.
2020-02-09 22:49:53 +09:00
Connor McLaughlin c820ddba79 HostInterface: Move throttle and perf stats to System class 2020-02-09 22:16:25 +09:00
Connor McLaughlin 1e45c9c4e1 GPU: Fix incorrect overwrite of set mask bit from draw mode
Fixes motion blur in Vagrant Story.
2020-02-08 00:01:37 +09:00
Connor McLaughlin 287ab93cdc GPU: Fix texture bit15 not propogating when blending enabled 2020-02-08 00:01:12 +09:00
Connor McLaughlin ac5af4658d GPU: Mask bit check should use existing colour not new colour 2020-02-07 00:11:12 +09:00
Connor McLaughlin a36fe8bfe6 GPU: Keep drawing area invalidated after invalidating shadow VRAM copy
Partially fixes the motion blur in Vagrant Story.
2020-02-07 00:10:58 +09:00
Connor McLaughlin 7e862cd63e GPU: Texture bit should be ignored when drawing lines
Fixes line flickering in Vagrant Story.
2020-02-07 00:10:36 +09:00
Stenzek 057263bda3 HostInterface: Track changes to CPU mode in ApplySettings() 2020-02-05 17:43:15 +09:00
Stenzek c26b9bc54c System: UpdateCPUExecutionMode -> SetCPUExecutionMode 2020-02-05 17:43:00 +09:00
Stenzek 733ab1bca0 Settings: Store debug settings to ini 2020-02-04 15:22:48 +09:00
Connor McLaughlin 52fd070d3b Build: Compile tinyxml2 as static library instead of dll 2020-02-03 14:22:17 +10:00
Connor McLaughlin 0b7abf244e Timers: Fix sync mode 3 inverted condition 2020-01-30 16:22:05 +10:00
Connor McLaughlin 88936463d7 GPU: Toggle vblank timer gate for full frame
Regression from event system. Fixes Ridge Racer.
2020-01-30 16:22:05 +10:00
Connor McLaughlin 4c59d8a9ea Linux build fix 2020-01-24 16:44:13 +10:00
Connor McLaughlin 1b9609ef61 Implement event-based scheduler instead of lock-step components 2020-01-24 16:23:39 +10:00
Connor McLaughlin 624888e131 HostInterface: Default BIOS path to bios subdirectory 2020-01-24 14:52:12 +10:00
Connor McLaughlin faf2308695 Settings: Move set defaults to HostInterface so it can use user paths 2020-01-24 14:52:04 +10:00
Connor McLaughlin b5e73a0be4 HostInterface: Add helper methods for getting paths to save states/memcards 2020-01-24 14:52:03 +10:00
Connor McLaughlin a83cad5872 GPU/D3D11: Use shader bytecode cache 2020-01-24 14:52:01 +10:00
Connor McLaughlin 40799d0f77 HostInterface: Move ModifyResolutionScale() to base class 2020-01-24 14:51:56 +10:00
Connor McLaughlin 4a3478b360 HostInterface: Add function to switch between sw/hw rendering 2020-01-24 14:51:53 +10:00
Connor McLaughlin f2231d6669 HostInterface: Move setting update logic to base class 2020-01-24 14:51:52 +10:00
Connor McLaughlin 82563d94f4 HostInterface: Fix offset OSD messages in Qt frontend 2020-01-24 14:51:38 +10:00
Connor McLaughlin 687772c4da HostDisplay: Move some derived class fields to base class 2020-01-24 14:51:36 +10:00
Connor McLaughlin abf48b6cc2 Qt: Update GPU settings when enhancements are changed 2020-01-24 14:51:33 +10:00
Connor McLaughlin 78f984c412 Qt: Add automatic download of redump disc database for game list 2020-01-24 14:51:25 +10:00
Connor McLaughlin c5faa36f43 GameList: Add function to query whether database exists 2020-01-24 14:51:12 +10:00
Connor McLaughlin f6fee86f1c HostInterface: Create user directories on startup 2020-01-24 14:51:10 +10:00
Connor McLaughlin b4c06fdcc6 GameList: Auto set cache/database path from user directory 2020-01-24 14:51:09 +10:00
Connor McLaughlin 77b282862f HostInterface: Move running title info to System 2020-01-24 14:51:05 +10:00
Connor McLaughlin b3db3a1cc0 HostInterface: Share settings between SDL and Qt frontends 2020-01-24 14:51:03 +10:00
Connor McLaughlin 2c3a0a6af9 HostInterface: Change working directory to user directory at startup 2020-01-24 14:51:02 +10:00
Connor McLaughlin 53428cb55b HostInterface: Add user directory helpers 2020-01-24 14:51:00 +10:00
Connor McLaughlin 8d4d8e44e4 HostInterface: Saving state message should be OSD not error 2020-01-24 14:50:50 +10:00
Connor McLaughlin 0a5f7fcd75 System: Update running game when media changes from save state 2020-01-24 14:50:48 +10:00
Connor McLaughlin 20b60e0f01 Qt: Update window title/save states from running title 2020-01-24 14:50:46 +10:00
Connor McLaughlin 82b4229f1b GameList: Move entry to global scope so it can be forward declared 2020-01-24 14:50:44 +10:00
Connor McLaughlin 9562cbea56 Frontends: Add frame time performance counters 2020-01-24 14:49:47 +10:00
Connor McLaughlin bfef42f4cb GPU: Fix possible driver crash on oversized update/fill 2020-01-23 00:01:05 +10:00
Connor McLaughlin a5135ceeb0 GameList: Fix incorrect loading of cache 2020-01-22 17:56:58 +10:00
Connor McLaughlin a832138191 Settings: Add missing Cubeb entry to audio backend names 2020-01-21 21:27:29 +10:00
Connor McLaughlin 8096dc510d Settings: Add missing load/store of GPU/ForceProgressiveScan 2020-01-21 21:27:21 +10:00
Connor McLaughlin b9538a55f5 Settings: Add option for creating a debug GPU device 2020-01-19 14:54:19 +10:00
Connor McLaughlin 504510c242 GPU: Fix reading of write-combined GPU buffers
+100fps in recompiler modes
2020-01-16 14:36:10 +10:00
Connor McLaughlin 835bbfaea5 Merge branch 'cubeb' 2020-01-11 13:52:02 +10:00
Connor McLaughlin 8f6ac437ab Frontends: Add cubeb as audio backend option 2020-01-11 13:51:44 +10:00
Connor McLaughlin c6119c210a Revert "DMA: Delay GPU transfers by block count"
This reverts commit 0639f4264f.

Breaks FF7's FMVs in the top row. Needs GPU timings.
2020-01-11 13:40:04 +10:00
Connor McLaughlin 3e90d79df7 Pad: Fix log spam 2020-01-11 13:29:30 +10:00
Connor McLaughlin 71c1e243fe Remove YBaseLib dependency 2020-01-10 13:40:53 +10:00
Connor McLaughlin c52040434a Core: Linux warning fixes 2020-01-09 08:46:52 +10:00
Connor McLaughlin c03c1451fe GameList: Support caching entries 2020-01-08 13:37:43 +10:00
Connor McLaughlin e0086156ca System: Compile fix for Linux 2020-01-08 13:34:21 +10:00
Connor McLaughlin d32383bd95 Settings: Don't include D3D11 renderer on non-WIN32 platforms 2020-01-07 18:54:39 +10:00
Connor McLaughlin 686df4a203 Qt: Improve imgui hidpi scaling 2020-01-07 18:52:33 +10:00
Connor McLaughlin 1b7be01507 Qt: Implement audio output 2020-01-07 14:18:51 +10:00
Connor McLaughlin 0590f0935c HostInterface: Fix compile error on Linux 2020-01-04 15:25:15 +10:00
Connor McLaughlin 9de0bf0aaf HostInterface: Most some imgui logic from SDL to core 2020-01-02 19:14:06 +10:00
Connor McLaughlin 4b1541087a Controller: Add methods to query buttons/axises for a controller type 2020-01-02 16:10:42 +10:00
Connor McLaughlin 0528a2a1f9 Settings: Put each controller in its own config section 2020-01-02 16:10:30 +10:00
Connor McLaughlin f3e9c3ec8c Add initial work on Qt frontend 2019-12-31 16:18:30 +10:00
Connor McLaughlin 98214a9327 SettingsInterface: Add support for string list settings 2019-12-31 16:16:47 +10:00
Connor McLaughlin dbf651e493 CPU/Interpreter: Remove redundant comparison in divu instruction 2019-12-31 11:41:52 +10:00
Connor McLaughlin 0f1f5a4f49 Settings: Define an abstract settings retrieval interface
Can be used by both Android and Qt to access their platform-dependent
formats.
2019-12-30 21:22:49 +10:00
Connor McLaughlin e66214d93e GameList: Fix non-recursive scanning 2019-12-30 00:45:37 +10:00
Connor McLaughlin 0639f4264f DMA: Delay GPU transfers by block count
Needs real GPU timings, but fixes NFS5 in the meantime.
2019-12-29 15:34:07 +10:00
Connor McLaughlin 41cf894488 GPU/HW: Fix readback of odd transfer widths
Fixes character model flailing and crash in FF9.
2019-12-28 15:50:37 +10:00
Connor McLaughlin d118377c9e CPU/Recompiler: Reduced forced PC flushes 2019-12-28 14:04:15 +10:00
Connor McLaughlin 620284f7d1 CPU/Recompiler/AArch64: Use PC-relative branches to far code 2019-12-27 20:38:07 +10:00
Connor McLaughlin 29355bc44d CPU/Recompiler: Move branch codegen to base class 2019-12-27 20:38:07 +10:00
Connor McLaughlin aabe5b9287 CPU/Recompiler: Add GetCurrentCodePointer() 2019-12-27 20:38:07 +10:00
Connor McLaughlin 390b6da0b8 CPU/Recompiler: Add unconditional EmitBranch 2019-12-27 20:38:07 +10:00
Connor McLaughlin 4f2c1e1a6b CPU/Recompiler: Add EmitBindLabel and EmitBranchIfBitClear 2019-12-27 20:38:07 +10:00
Connor McLaughlin 03a36645a2 Settings: Save fullscreen setting to ini 2019-12-27 20:38:07 +10:00
Connor McLaughlin 5bb2b3ec63 Frontend: Add audio backend to settings (switch-while-running) 2019-12-27 20:38:07 +10:00
Connor McLaughlin 16317d077e Settings: Add audio backend, move sync settings to Display/Audio 2019-12-27 20:38:07 +10:00
Connor McLaughlin c8d3b2c546 GPU/Software: Use templates for render functions 2019-12-22 19:34:24 +10:00
Connor McLaughlin a1b52980e2 GPU: Implement line renderering in software renderer 2019-12-22 18:53:20 +10:00
Connor McLaughlin ad21f48a67 Fix Android build after controller changes 2019-12-16 16:46:43 +10:00
Connor McLaughlin 52c82b6aa3 Pad: Change controller types when loading states if needed 2019-12-16 00:05:48 +10:00
Connor McLaughlin cbcb9b02b0 AnalogController: Rumble support 2019-12-15 23:22:53 +10:00
Connor McLaughlin 1d2bd11b02 Frontend: Add controller settings 2019-12-15 22:24:27 +10:00
Connor McLaughlin a347b3606e Implement support for analog controllers 2019-12-15 21:58:27 +10:00
Connor McLaughlin 6e18e56089 Controller: Support general axis input events 2019-12-15 00:32:55 +10:00
Connor McLaughlin 32d8b4dc84 Frontend: Dynamic button mapping based on controller type 2019-12-15 00:17:43 +10:00
Connor McLaughlin c65279f944 System: Create controllers dynamically based on config 2019-12-14 23:29:26 +10:00
Connor McLaughlin ea0845d5ad Move controller creation to System class, switch shared_ptr to unique_ptr 2019-12-14 23:20:24 +10:00
Connor McLaughlin 5fd421860a GameList: Support detecting region from system area of CDROM
More accurate than basing it off the code, and better support for
homebrew discs.
2019-12-13 16:51:40 +10:00
Connor McLaughlin f77721b84d CPU/Recompiler: Fix "jalr t0, t0" and like instructions (mainly AArch64) 2019-12-13 14:36:41 +10:00
Connor McLaughlin 5e5b1b64db CPU/Recompiler: Incorporate latest work into AArch64 backend 2019-12-13 01:25:05 +10:00
Connor McLaughlin 44c76f3bf3 CPU/Recompiler: Support three-operand basic operations
e.g. add r1, r2, r3. This eliminates the extra move on ARM.
2019-12-13 00:51:41 +10:00
Connor McLaughlin 41298a74e1 CPU/Recompiler: Fetch instruction before dispatching interrupts
Fixes polygon glitches in Crash.
2019-12-12 23:55:42 +10:00
Connor McLaughlin aa52dbfeb8 CPU/Recompiler: Use register cache for managing pc
Reduces the number of loadstores after each instruction.
2019-12-12 23:55:23 +10:00
Connor McLaughlin 002d1cd4fd CPU/CoreCache: Use virtual (unmasked) address as PC 2019-12-12 20:23:53 +10:00
Connor McLaughlin a267451614 CPU/Recompiler: Remove unused code 2019-12-12 20:17:52 +10:00