Commit Graph

873 Commits (6bb6249e86cbf1132031f49e030dc23fcb898fae)

Author SHA1 Message Date
Connor McLaughlin ec55ab7f5e Build: Rename duckstation to duckstation-sdl 5 years ago
Connor McLaughlin 5957df5b5c Update SDL2 to 2.0.10 5 years ago
Connor McLaughlin 4eadc07629 Common/StringUtil: Fix more incorrect usage of va_list 5 years ago
Connor McLaughlin 899a8e0f03 Qt: Add "Use Debug Device" to GPU settings 5 years ago
Connor McLaughlin 96be414e3e Qt: Populate console region drop-down dynamically 5 years ago
Connor McLaughlin b11a7a106f Common/Log: Fix corrupted output/UB with va_copy
Fixes crashes on GCC9+ (#9), maybe others.
5 years ago
Connor McLaughlin c72d86cf1b Qt: Hook up CPU execution mode setting 5 years ago
Connor McLaughlin e11c7190b5 Linux build fix 5 years ago
Connor McLaughlin 070e6c32d6 Frontends: Add .chd files to open filter 5 years ago
Connor McLaughlin c1c82eb3f3 Common/CDImage: Support CHD format 5 years ago
Connor McLaughlin 18d5086e4c Common/CDImage: Changes to support CHD interfaces 5 years ago
Connor McLaughlin 0b7abf244e Timers: Fix sync mode 3 inverted condition 5 years ago
Connor McLaughlin 88936463d7 GPU: Toggle vblank timer gate for full frame
Regression from event system. Fixes Ridge Racer.
5 years ago
Connor McLaughlin 288b680e07 FileSystem: Add ReplaceExtension() helper 5 years ago
Connor McLaughlin 6624df1e8c Qt: Add CPU settings/emulation speed to console settings 5 years ago
Connor McLaughlin 5272ecd572 Qt: Support binding settings to QSliders 5 years ago
Connor McLaughlin 4c59d8a9ea Linux build fix 5 years ago
Connor McLaughlin 1b9609ef61 Implement event-based scheduler instead of lock-step components 5 years ago
Connor McLaughlin 624888e131 HostInterface: Default BIOS path to bios subdirectory 5 years ago
Connor McLaughlin faf2308695 Settings: Move set defaults to HostInterface so it can use user paths 5 years ago
Connor McLaughlin b5e73a0be4 HostInterface: Add helper methods for getting paths to save states/memcards 5 years ago
Connor McLaughlin a83cad5872 GPU/D3D11: Use shader bytecode cache 5 years ago
Connor McLaughlin 82da9a4505 D3D11: Add a shader bytecode cache class 5 years ago
Connor McLaughlin 2276975d62 Qt: Implement GitHub Repository/Issue Tracker links 5 years ago
Connor McLaughlin 1ed187fd57 Qt: Add hotkey for increasing/decreasing resolution scale 5 years ago
Connor McLaughlin 40799d0f77 HostInterface: Move ModifyResolutionScale() to base class 5 years ago
Connor McLaughlin 8148486a9f Qt: Add hotkey to toggle software rendering 5 years ago
Connor McLaughlin 4a3478b360 HostInterface: Add function to switch between sw/hw rendering 5 years ago
Connor McLaughlin f2231d6669 HostInterface: Move setting update logic to base class 5 years ago
Connor McLaughlin 82563d94f4 HostInterface: Fix offset OSD messages in Qt frontend 5 years ago
Connor McLaughlin 687772c4da HostDisplay: Move some derived class fields to base class 5 years ago
Connor McLaughlin 736d85b0f3 Qt: Implement display linear filtering 5 years ago
Connor McLaughlin abf48b6cc2 Qt: Update GPU settings when enhancements are changed 5 years ago
Connor McLaughlin f05f5aeb2b Qt: Implement browse button for BIOS path 5 years ago
Connor McLaughlin 2694181811 Qt: Hook up HostInterface::Report{Error,Message} 5 years ago
Connor McLaughlin 19cd91a684 Qt: Fix crash on exit when boot fails 5 years ago
Connor McLaughlin 78f984c412 Qt: Add automatic download of redump disc database for game list 5 years ago
Connor McLaughlin b937275073 Qt: Link with and copy Qt5Network library 5 years ago
Connor McLaughlin 65ae85eb7b Qt: Skeleton for audio settings 5 years ago
Connor McLaughlin c5faa36f43 GameList: Add function to query whether database exists 5 years ago
Connor McLaughlin f6fee86f1c HostInterface: Create user directories on startup 5 years ago
Connor McLaughlin b4c06fdcc6 GameList: Auto set cache/database path from user directory 5 years ago
Connor McLaughlin feb48899c3 Qt: Don't double-create game list 5 years ago
Connor McLaughlin 77b282862f HostInterface: Move running title info to System 5 years ago
Connor McLaughlin b3db3a1cc0 HostInterface: Share settings between SDL and Qt frontends 5 years ago
Connor McLaughlin 2c3a0a6af9 HostInterface: Change working directory to user directory at startup 5 years ago
Connor McLaughlin 53428cb55b HostInterface: Add user directory helpers 5 years ago
Connor McLaughlin 7afb79aee6 Common: Add FileSystem::{Get,Set}WorkingDirectory functions 5 years ago
Connor McLaughlin de4e45a433 Common: Add a function to get the path to the running program 5 years ago
Connor McLaughlin 9456dc5d9b Qt: Power off system correctly when exiting 5 years ago
Connor McLaughlin 069bdd471c Qt: Stub saving resume state when powering off 5 years ago
Connor McLaughlin 0200b9ffc1 Qt: Hook up 'Add Game List Directory' function 5 years ago
Connor McLaughlin 98eb71aa3f Qt: Fix extra margins in pad settings panel 5 years ago
Connor McLaughlin 1cdd4e01fb Qt: Reorder settings categories 5 years ago
Connor McLaughlin 8d4d8e44e4 HostInterface: Saving state message should be OSD not error 5 years ago
Connor McLaughlin 0a5f7fcd75 System: Update running game when media changes from save state 5 years ago
Connor McLaughlin f2d5ce74df Qt: Fix bug where render window is not focused leaving fullscreen 5 years ago
Connor McLaughlin 20b60e0f01 Qt: Update window title/save states from running title 5 years ago
Connor McLaughlin 82b4229f1b GameList: Move entry to global scope so it can be forward declared 5 years ago
Connor McLaughlin 183928b0f6 Qt: Skeleton of load/save state menus 5 years ago
Connor McLaughlin 1998aa96a4 Qt: Simplify Change Disc menu logic 5 years ago
Connor McLaughlin 69841d0a09 Qt: Move quick CPU/GPU switch to Debug menu 5 years ago
Connor McLaughlin 6737b3ec44 Qt: Drop Settings accessor from HostInterface
This should only be accessed on the emulation thread.
5 years ago
Connor McLaughlin d343743768 Qt: Safer GPU renderer switching 5 years ago
Connor McLaughlin c5282b99e1 Qt: Thread-safe QSettings access and updating 5 years ago
Connor McLaughlin 9562cbea56 Frontends: Add frame time performance counters 5 years ago
Connor McLaughlin 67710ca184 Qt: Add a signal when the game list selection is changed 5 years ago
Connor McLaughlin 99af858562 Qt/GameList: Fix incorrect game booting when sorted 5 years ago
Connor McLaughlin bfef42f4cb GPU: Fix possible driver crash on oversized update/fill 5 years ago
Connor McLaughlin d2db6bf9c3 Common/Rectangle: Add clamp methods 5 years ago
Connor McLaughlin a5135ceeb0 GameList: Fix incorrect loading of cache 5 years ago
Connor McLaughlin a832138191 Settings: Add missing Cubeb entry to audio backend names 5 years ago
Connor McLaughlin 8096dc510d Settings: Add missing load/store of GPU/ForceProgressiveScan 5 years ago
Connor McLaughlin ed1ac6df4a Frontend: Fix error in swap chain ResizeBuffers() 5 years ago
Connor McLaughlin b9538a55f5 Settings: Add option for creating a debug GPU device 5 years ago
Connor McLaughlin 8378e5ed0d Frontend: Don't use debug D3D11 device 5 years ago
Connor McLaughlin 46033898ba Frontends: Use DXGI_PRESENT_FLAG_ALLOW_TEARING for presentatation 5 years ago
Connor McLaughlin 159786c3f1 Common/Assert: Fix incorrect windows platform detection 5 years ago
Connor McLaughlin 25004f882e SDL: Fix multiple entries for settings being created in ini 5 years ago
Connor McLaughlin 504510c242 GPU: Fix reading of write-combined GPU buffers
+100fps in recompiler modes
5 years ago
Connor McLaughlin 0861a1e579 Common: Remove unused type declarations 5 years ago
Connor McLaughlin 4de82bda6d Linux build for cubeb 5 years ago
Connor McLaughlin 28efc50a04 Qt: Fix worker thread lockup on shutdown 5 years ago
Connor McLaughlin 1911ab2e1c CubebAudioStream: Initialize COM on Windows if it isn't already initialized 5 years ago
Connor McLaughlin d52d6252a9 Qt: Remove QAudioOutput-based audio stream 5 years ago
Connor McLaughlin 835bbfaea5 Merge branch 'cubeb' 5 years ago
Connor McLaughlin 8f6ac437ab Frontends: Add cubeb as audio backend option 5 years ago
Connor McLaughlin 9586970a9f AudioStream: Add cubeb implementation 5 years ago
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.
5 years ago
Connor McLaughlin 3e90d79df7 Pad: Fix log spam 5 years ago
Connor McLaughlin e68e67f161 SDL: Fix log spam in Release builds 5 years ago
Connor McLaughlin 71c1e243fe Remove YBaseLib dependency 5 years ago
Connor McLaughlin 1c2c4c8489 Qt: Fix emulation thread using 100% CPU when idle 5 years ago
Connor McLaughlin c52040434a Core: Linux warning fixes 5 years ago
Connor McLaughlin 06d26084fb Frontend: Linux compile fix 5 years ago
Connor McLaughlin 2611e64459 Qt: Implement game list sorting 5 years ago
Connor McLaughlin 64426a0be2 Qt: Fix shutdown-and-restart failing in D3D11 renderer 5 years ago
Connor McLaughlin 25f55690f2 Qt: Add icons for game list entry type (disc/exe) 5 years ago
Connor McLaughlin ecc8109d43 Qt: Show flags for region instead of text 5 years ago
Connor McLaughlin 9402c7c145 Qt: Fix double-free/crash on shutdown 5 years ago
Connor McLaughlin 048c6835e5 Qt: Don't highlight headings in game list 5 years ago
Connor McLaughlin c03c1451fe GameList: Support caching entries 5 years ago
Connor McLaughlin e0086156ca System: Compile fix for Linux 5 years ago
Connor McLaughlin e7bebb0105 Qt: Support runtime renderer switching 5 years ago
Connor McLaughlin c6d6b0405f Qt: Don't create imgui.ini 5 years ago
Connor McLaughlin d32383bd95 Settings: Don't include D3D11 renderer on non-WIN32 platforms 5 years ago
Connor McLaughlin 686df4a203 Qt: Improve imgui hidpi scaling 5 years ago
Connor McLaughlin 168eb5fe2d Qt: Add D3D11 display window implementation 5 years ago
Connor McLaughlin 5076d7dfe8 Qt: Fix handling of display window size in hidpi 5 years ago
Connor McLaughlin 1b7be01507 Qt: Implement audio output 5 years ago
Connor McLaughlin 207c75e6eb Qt: Implement fullscreen 5 years ago
Connor McLaughlin 87889a13e0 Qt: Properly handle modifier keys for input 5 years ago
Connor McLaughlin 6d5eca13a6 Qt: Ignore key repeat events for input 5 years ago
Connor McLaughlin d61f12cb4e Qt: Set focus to display window when starting 5 years ago
Connor McLaughlin 40e1b7af23 Qt: Initial hotkey implementation 5 years ago
Connor McLaughlin 0590f0935c HostInterface: Fix compile error on Linux 5 years ago
Connor McLaughlin d88fc20434 Qt: GPU settings tab 5 years ago
Connor McLaughlin fbf5e7f0e3 Qt: Enable DPI scaling 5 years ago
Connor McLaughlin bea15c97cd Qt: ImGui support 5 years ago
Connor McLaughlin 9de0bf0aaf HostInterface: Most some imgui logic from SDL to core 5 years ago
Connor McLaughlin 9436ffc806 Qt: Move some functionalty from OpenGLDisplayWindow into QtDisplayWindow 5 years ago
Connor McLaughlin ac6a7bad3f Qt: Hack for setting swap interval at runtime (currently Windows only) 5 years ago
Connor McLaughlin b135b32159 Qt: Add config and implementation for basic controller input 5 years ago
Connor McLaughlin eb7659368e Qt: Add natvis file for Qt data structures 5 years ago
Connor McLaughlin 4b1541087a Controller: Add methods to query buttons/axises for a controller type 5 years ago
Connor McLaughlin 0528a2a1f9 Settings: Put each controller in its own config section 5 years ago
Connor McLaughlin 3bdafa1932 Qt: Fix double-scanning of game list at start 5 years ago
Connor McLaughlin 77a47c87d2 Qt: Hook up console settings 5 years ago
Connor McLaughlin 62e1829ec9 Qt: Fix recursive setting toggle in game list settings 5 years ago
Connor McLaughlin f3e9c3ec8c Add initial work on Qt frontend 5 years ago
Connor McLaughlin 98214a9327 SettingsInterface: Add support for string list settings 5 years ago
Connor McLaughlin dbf651e493 CPU/Interpreter: Remove redundant comparison in divu instruction 5 years ago
Connor McLaughlin 0f1f5a4f49 Settings: Define an abstract settings retrieval interface
Can be used by both Android and Qt to access their platform-dependent
formats.
5 years ago
Connor McLaughlin 6176fc4486 NullAudioStream: Provide factory function 5 years ago
Connor McLaughlin e66214d93e GameList: Fix non-recursive scanning 5 years ago
Connor McLaughlin 0639f4264f DMA: Delay GPU transfers by block count
Needs real GPU timings, but fixes NFS5 in the meantime.
5 years ago
Connor McLaughlin 41cf894488 GPU/HW: Fix readback of odd transfer widths
Fixes character model flailing and crash in FF9.
5 years ago
Connor McLaughlin d118377c9e CPU/Recompiler: Reduced forced PC flushes 5 years ago
Connor McLaughlin 620284f7d1 CPU/Recompiler/AArch64: Use PC-relative branches to far code 5 years ago
Connor McLaughlin 9f45c67b1d JitCodeBuffer: Fix compilation on AArch64 5 years ago
Connor McLaughlin 29355bc44d CPU/Recompiler: Move branch codegen to base class 5 years ago
Connor McLaughlin aabe5b9287 CPU/Recompiler: Add GetCurrentCodePointer() 5 years ago
Connor McLaughlin 390b6da0b8 CPU/Recompiler: Add unconditional EmitBranch 5 years ago
Connor McLaughlin 4f2c1e1a6b CPU/Recompiler: Add EmitBindLabel and EmitBranchIfBitClear 5 years ago
Connor McLaughlin 03a36645a2 Settings: Save fullscreen setting to ini 5 years ago
Connor McLaughlin 5bb2b3ec63 Frontend: Add audio backend to settings (switch-while-running) 5 years ago
Connor McLaughlin 0eab6435fe Frontend: Use configured audio backend when creating stream 5 years ago
Connor McLaughlin 16317d077e Settings: Add audio backend, move sync settings to Display/Audio 5 years ago
Connor McLaughlin ed7aabe5f2 Common: Add a NullAudioStream implementation 5 years ago
Connor McLaughlin c8d3b2c546 GPU/Software: Use templates for render functions 5 years ago
Connor McLaughlin a1b52980e2 GPU: Implement line renderering in software renderer 5 years ago
Connor McLaughlin ad93d83421 JitCodeBuffer: Don't leak code space on Windows 5 years ago
Connor McLaughlin decf416aee JitCodeBuffer: Expose FlushInstructionCache() to callers 5 years ago
Connor McLaughlin 1de096224c JitCodeBuffer: Fix far code pointer not being initialized without reset 5 years ago
Connor McLaughlin ad21f48a67 Fix Android build after controller changes 5 years ago
Connor McLaughlin 52c82b6aa3 Pad: Change controller types when loading states if needed 5 years ago
Connor McLaughlin 0df741a799 Frontend: Disable controller input for navigating UI
It seems to interfere too much with normal gameplay.
5 years ago
Connor McLaughlin 6f7154fbef Frontend: Rumble support 5 years ago
Connor McLaughlin cbcb9b02b0 AnalogController: Rumble support 5 years ago
Connor McLaughlin 1d2bd11b02 Frontend: Add controller settings 5 years ago
Connor McLaughlin a347b3606e Implement support for analog controllers 5 years ago
Connor McLaughlin e4595992a5 Frontend: Fix crash in controller input 5 years ago
Connor McLaughlin 6e18e56089 Controller: Support general axis input events 5 years ago
Connor McLaughlin 32d8b4dc84 Frontend: Dynamic button mapping based on controller type 5 years ago
Connor McLaughlin c65279f944 System: Create controllers dynamically based on config 5 years ago
Connor McLaughlin ea0845d5ad Move controller creation to System class, switch shared_ptr to unique_ptr 5 years ago
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.
5 years ago
Connor McLaughlin f77721b84d CPU/Recompiler: Fix "jalr t0, t0" and like instructions (mainly AArch64) 5 years ago
Connor McLaughlin 5e5b1b64db CPU/Recompiler: Incorporate latest work into AArch64 backend 5 years ago
Connor McLaughlin 44c76f3bf3 CPU/Recompiler: Support three-operand basic operations
e.g. add r1, r2, r3. This eliminates the extra move on ARM.
5 years ago
Connor McLaughlin 41298a74e1 CPU/Recompiler: Fetch instruction before dispatching interrupts
Fixes polygon glitches in Crash.
5 years ago
Connor McLaughlin aa52dbfeb8 CPU/Recompiler: Use register cache for managing pc
Reduces the number of loadstores after each instruction.
5 years ago
Connor McLaughlin 002d1cd4fd CPU/CoreCache: Use virtual (unmasked) address as PC 5 years ago
Connor McLaughlin a267451614 CPU/Recompiler: Remove unused code 5 years ago
Connor McLaughlin 20c7aaf74b CPU/Recompiler: Support pushing/popping the register cache state 5 years ago
Connor McLaughlin 1905d22a9a CPU/Recompiler/AArch64: Fix potential stack corruption in function calls 5 years ago
Connor McLaughlin 18066239b7 CPU/Recompiler: Fix bad codegen on slti where rd==rs 5 years ago
Connor McLaughlin aafac96f34 CPU/Recompiler: Linux/Android compile fix 5 years ago
Connor McLaughlin 37933e9678 CPU/Recompiler: Read GTE registers directly from struct 5 years ago
Connor McLaughlin b0eb8074f5 CPU/Recompiler: Implement lwc2/swc2 5 years ago
Connor McLaughlin a5afb250ea CPU/Recompiler: Don't require fallback for GTE instructions 5 years ago
Connor McLaughlin a6dab97928 CPU: Simplify GTE register addressing 5 years ago
Connor McLaughlin 4e7d420a06 CPU/Recompiler: Implement mfc0/mtc0/rfe 5 years ago
Connor McLaughlin f5d65448d6 GPU: Improve structure alignment 5 years ago
Connor McLaughlin 8f624afb59 GPU: Fix handling of GP1(09h) 5 years ago
Connor McLaughlin ffe90083d3 GPU: Refactor draw mode setting 5 years ago
Connor McLaughlin cda2394287 System: Fix loading of EXEs with sp=0 (leave unchanged) 5 years ago
Connor McLaughlin bf44f72169 Frontend: Remove unused texture for icon 5 years ago
Connor McLaughlin 6f78fea159 GL: Improve error handling with texture creation 5 years ago
Connor McLaughlin 05e6d4c401 GPU/OpenGL: Clean up VAOs at shutdown time
These were leaking before.
5 years ago
Connor McLaughlin 152b56c8cc GPU: Fix mask bit setting on non-textured polygons
Fixes garbled colours in FMVs in some games.
5 years ago
Connor McLaughlin 0d293c4be4 Settings: Disable fast boot and TTY output by default
The latter can cause crashes in some games.
5 years ago
Connor McLaughlin 56b87f33c0 Controller: Linux build fix 5 years ago
Connor McLaughlin df6e079920 GPU: Add a Force Progressive Scan option (disable interlacing) 5 years ago
Connor McLaughlin fb0aad0917 System: Include SIO in save state 5 years ago
Connor McLaughlin 89e9373037 Controller: Add a set-button interface in base class 5 years ago
Connor McLaughlin da14b10e72 Split MemoryCard and PadDevice (now Controller) 5 years ago
Connor McLaughlin c1710482df Pad: Add button name -> code lookup functions 5 years ago
Connor McLaughlin 8930383c96 GPU: Use start address in computation of drawing_even_line 5 years ago
Connor McLaughlin 42ee55ae17 CDROM: Seek to start of first track on stop
Fixes WipEout crashing after track selection.
5 years ago