Commit Graph

126 Commits (8b4624a98ee6e264417da260be5c6d99eeb4b8cf)

Author SHA1 Message Date
Connor McLaughlin 9b7512f7b8 GPU/HW: Implement automatic resolution scale from window size 5 years ago
Connor McLaughlin ba9ada1100 Qt: Add Portuguese (Pt) translation 5 years ago
Connor McLaughlin e9882a10aa System: Move restore/reset graphics API state to System
Fixes frame stepping.
5 years ago
Connor McLaughlin b6f871d2b9
JIT optimizations and refactoring (#675)
* CPU/Recompiler: Use rel32 call where possible for no-args

* JitCodeBuffer: Support using preallocated buffer

* CPU/Recompiler/AArch64: Use bl instead of blr for short branches

* CPU/CodeCache: Allocate recompiler buffer in program space

This means we don't need 64-bit moves for every call out of the
recompiler.

* GTE: Don't store as u16 and load as u32

* CPU/Recompiler: Add methods to emit global load/stores

* GTE: Convert class to namespace

* CPU/Recompiler: Call GTE functions directly

* Settings: Turn into a global variable

* GPU: Replace local pointers with global

* InterruptController: Turn into a global pointer

* System: Replace local pointers with global

* Timers: Turn into a global instance

* DMA: Turn into a global instance

* SPU: Turn into a global instance

* CDROM: Turn into a global instance

* MDEC: Turn into a global instance

* Pad: Turn into a global instance

* SIO: Turn into a global instance

* CDROM: Move audio FIFO to the heap

* CPU/Recompiler: Drop ASMFunctions

No longer needed since we have code in the same 4GB window.

* CPUCodeCache: Turn class into namespace

* Bus: Local pointer -> global pointers

* CPU: Turn class into namespace

* Bus: Turn into namespace

* GTE: Store registers in CPU state struct

Allows relative addressing on ARM.

* CPU/Recompiler: Align code storage to page size

* CPU/Recompiler: Fix relative branches on A64

* HostInterface: Local references to global

* System: Turn into a namespace, move events out

* Add guard pages

* Android: Fix build
5 years ago
Connor McLaughlin f443691ad0 Qt: Fix deprecreated errors with 5.15 5 years ago
Connor McLaughlin bc6f6d1a6d Qt: Display Portuguese language as Portuguese (Br) 5 years ago
Connor McLaughlin 79c8b9f52c Qt: Add Portuguese translation 5 years ago
Connor McLaughlin 3edb255eca Qt: Add translation support and language setting 5 years ago
Connor McLaughlin 5a955a4fdc Qt: Fix audio volume/mute being lost when restarting emulation 5 years ago
Albert Liu 855fc9a31c CommonHostInterface: Prevent some potential null pointer dereferences 5 years ago
Connor McLaughlin b2595a3b3b Qt: Fix volume slider slowing down emulation 5 years ago
Connor McLaughlin 2fb00faa67 Qt: Delay settings save by one second 5 years ago
Connor McLaughlin 68d98af497 Qt: Remove usage of QString where possible for settings 5 years ago
Albert Liu 4e2b3189b0 Qt: Replace QtSettingsInterface with INISettingsInterface 5 years ago
Albert Liu 9d6325f828 QtHostInterface: Fix compiler warning 5 years ago
Connor McLaughlin 1ed57a9fdf Qt: Hook up mouse events to ImGui 5 years ago
Connor McLaughlin 97a946bd62 CommonHostInterface: Implement frame step hotkey 5 years ago
Connor McLaughlin 5274fa32ac Qt: Pump events on main thread when waiting for init 5 years ago
Connor McLaughlin f396a2c373 Renderers: Make shader cache path a prefix instead of directory 5 years ago
Connor McLaughlin 4dc9e10777 HostInterface: Support per-controller-type settings 5 years ago
Connor McLaughlin 2a38090e7a HostDisplay: Move most backend logic to FrontendCommon 5 years ago
Connor McLaughlin 77291096db Settings: Add GPU adapter option and hook up to D3D11/Vulkan 5 years ago
Connor McLaughlin 49a9f01327 Qt: Support Vulkan 5 years ago
Connor McLaughlin 075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 5 years ago
Connor McLaughlin 6acd8b27dd Qt: Prevent lag disabling power on buttons when starting 5 years ago
Connor McLaughlin 2156236f52 Frontends: Use common GL context wrapper 5 years ago
Connor McLaughlin e6d52ce6de Qt: Add Resume button 5 years ago
Connor McLaughlin e24e4c20e1 Qt: Fix pause button getting locked on after restarting game 5 years ago
Connor McLaughlin dfe0dcb56c Qt: Split memory card/controller config, make bindings scroll 5 years ago
Connor McLaughlin c8a00c58eb Qt: Add Remove Disc option to change disc menu 5 years ago
Connor McLaughlin 2d6bdc1f82 Qt: Fix rumble not stopping on power off 5 years ago
Connor McLaughlin d8ab587153 HostInterface: Modify settings loading interface to support per-frontend settings 5 years ago
Connor McLaughlin 55fc3fffd9 Qt: Add integer upscaling option 5 years ago
Connor McLaughlin 828513409f Qt: Remove unnecessary log spam 5 years ago
Connor McLaughlin dac114fa4e Qt: Use coarse timer for background controller polling
Fixes high idle CPU usage.
5 years ago
Connor McLaughlin d80aaf3880 Qt: Fix possible race/crash on shutdown 5 years ago
Connor McLaughlin b56546d8ad Qt: Always poll controllers even when not running
Fixes pause hotkey not unpausing when bound to controller.
5 years ago
Connor McLaughlin 1000cb30a9 HostDisplay: Track mouse position 5 years ago
Connor McLaughlin 3723cd5867 Qt: Mouse button binding support 5 years ago
Connor McLaughlin 9e2331c52a Qt: Redraw window immediately when switching between fullscreen/windowed
Fixes content not showing when displaying a popup message.
5 years ago
Connor McLaughlin 1dd2e0f498 Qt: Fix assertion tripping when starting fullscreen 2nd time 5 years ago
Connor McLaughlin ea3c0b65cf Qt: Refactor render widget state transitions
Recreate widget each time. Fixes fullscreen mode switches on D3D11 and
hopefully Wayland.
5 years ago
Connor McLaughlin 8a5e955ba3 Qt: Add input profile support 5 years ago
Connor McLaughlin d9ebb975b2 CommonHostInterface: Reimplement controller rumble support
Even better than before, supports separate motor control.
5 years ago
Connor McLaughlin 67f2eb3fed Qt: Fix -fullscreen not working 5 years ago
Connor McLaughlin 81cf4b469f Frontends: Add shared command line interface
Also provides batch mode and automatic fullscreen switching.

  -help: Displays this information and exits.
  -version: Displays version information and exits.
  -batch: Enables batch mode (exits after powering off)
  -fastboot: Force fast boot for provided filename
  -slowboot: Force slow boot for provided filename
  -resume: Load resume save state. If a boot filename is provided,
    that game's resume state will be loaded, otherwise the most
    recent resume save state will be loaded.
  -state <index>: Loads specified save state by index. If a boot
    filename is provided, a per-game state will be loaded, otherwise
    a global state will be loaded.
  -statefile <filename>: Loads state from the specified filename.
    No boot filename is required with this option.
  -fullscreen: Enters fullscreen mode immediately after starting.
  -nofullscreen: Prevents fullscreen mode from triggering if enabled.
  -portable: Forces "portable mode", data in same directory.
  --: Signals that no more arguments will follow and the remaining
    parameters make up the filename. Use when the filename contains
    spaces or starts with a dash.
5 years ago
Connor McLaughlin e91d760175 HostInterface: Fix crash on startup with controller connected 5 years ago
Connor McLaughlin e7640d5367 HostInterface: Make SetUserDirectory() overridable by frontends 5 years ago
Connor McLaughlin 11e8a91e30 CommonHostInterface: Simplify fullscreen toggle 5 years ago
Connor McLaughlin bf6c1c4866 Qt: Implement render-to-seperate-window and render-to-main toggle 5 years ago