Commit Graph

915 Commits (97c435a1541d976446e9a5d3f42e62cd758a314a)

Author SHA1 Message Date
Connor McLaughlin b605a84f7d HostInterface: Set user directory for Linux/macOS, portable.txt support 5 years ago
Connor McLaughlin f5482cb3b6 Don't require OpenGL compatibility profile 5 years ago
Connor McLaughlin 1c17d5495e CMake: Attempting to around SDL2 issues on macOS 5 years ago
Connor McLaughlin 65b5013da0 Qt: Work around indirect include of glext.h by QOpenGLContext on macOS
Hacky, but aside from not using glad I'm not sure what else to do.
5 years ago
Connor McLaughlin 15e49b9f61 Core/TimingEvent: Add missing <string> include 5 years ago
Connor McLaughlin f0910dc948 Common/FileSystem: Include fix 5 years ago
Connor McLaughlin f805764fea Common/FileSystem: More OSX fixes.. 5 years ago
Connor McLaughlin 2ac8f7a6ac Common/FileSystem: uint32 -> u32 5 years ago
Connor McLaughlin 244302557f SDL: Add missing <cmath> include to sdl_host_interface.cpp 5 years ago
Connor McLaughlin 8eba4b379c Settings: Default to D3D11 renderer on Windows
This point it's less buggy and slightly more performant.
5 years ago
Connor McLaughlin 4681f9d744 Common/FileSystem: Don't include malloc.h on macOS 5 years ago
Connor McLaughlin 33f3ab4d86 Common/FIFOQueue: Use posix_memalign instead of memalign 5 years ago
Connor McLaughlin 23c8a5588d Add macOS to some Linux/Android-only-isms 5 years ago
Connor McLaughlin 5aba89091e HostInterface: Fix possible crash in BIOS loading 5 years ago
Connor McLaughlin d7f8884291 Qt: Fix compilation under clang-9
Fixes #23.
5 years ago
Connor McLaughlin c008a5d523 Display: Fix bleeding from adjacent VRAM columns with linear filtering 5 years ago
Connor McLaughlin 5c7ef65a34 HostInterface: Non-standard speeds are <100% too 5 years ago
Connor McLaughlin b8210ecbe3 GPU: Use correct texture page size in overlap tracking 5 years ago
Connor McLaughlin 278aa86d14 SPU: Refactor ADSR/implement exponential mode 5 years ago
Connor McLaughlin e098c83342 HostInterface: Disable vsync/audio sync when running at not-100% speed 5 years ago
Connor McLaughlin 70fe43a3ec System: Implement variable emulation speed 5 years ago
Connor McLaughlin a81a0c0f21 Qt: Add normalized float values to SettingWidgetBinder 5 years ago
Connor McLaughlin 9ac7b002e2 GPU/HW: Improve dirty rectangle tracking
Fixes title screen of Activision Classics and performance regression
from Vagrant Story motion blur fix.
5 years ago
Connor McLaughlin 2bf6912f39 Qt: Simplify emulation thread loop 5 years ago
Connor McLaughlin c820ddba79 HostInterface: Move throttle and perf stats to System class 5 years ago
Connor McLaughlin 895cefec60 Qt: Fix core trying to use core OpenGL shaders on OpenGL ES 5 years ago
Connor McLaughlin 1e45c9c4e1 GPU: Fix incorrect overwrite of set mask bit from draw mode
Fixes motion blur in Vagrant Story.
5 years ago
Connor McLaughlin 287ab93cdc GPU: Fix texture bit15 not propogating when blending enabled 5 years ago
Connor McLaughlin ac5af4658d GPU: Mask bit check should use existing colour not new colour 5 years ago
Connor McLaughlin a36fe8bfe6 GPU: Keep drawing area invalidated after invalidating shadow VRAM copy
Partially fixes the motion blur in Vagrant Story.
5 years ago
Connor McLaughlin d1c8775996 Common/Rectangle: Compile fix when using operator= 5 years ago
Connor McLaughlin 7e862cd63e GPU: Texture bit should be ignored when drawing lines
Fixes line flickering in Vagrant Story.
5 years ago
Stenzek 8d9ce82281 Qt: Slightly rework desktop/GLES context creation 5 years ago
Stenzek 8654778298 Qt: OpenGL display window crash fix 5 years ago
Stenzek e4e15f234b Qt: Fix up debug CPU mode switch menu 5 years ago
Stenzek 057263bda3 HostInterface: Track changes to CPU mode in ApplySettings() 5 years ago
Stenzek c26b9bc54c System: UpdateCPUExecutionMode -> SetCPUExecutionMode 5 years ago
Stenzek 93f85535eb Qt: Handle creation of ES contexts even when it wasn't specified 5 years ago
Stenzek edb6d7c97e Qt: Add debug settings to menu 5 years ago
Stenzek 733ab1bca0 Settings: Store debug settings to ini 5 years ago
Stenzek 6718f0442c Qt: Support QActions in SettingsWidgetBinder 5 years ago
Connor McLaughlin 52fd070d3b Build: Compile tinyxml2 as static library instead of dll 5 years ago
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