Commit graph

98 commits

Author SHA1 Message Date
jpchow26 2a43b8b182
Update ini_settings_interface.cpp (#734)
* Update ini_settings_interface.cpp

Fix compiler error on Windows.
2020-08-11 02:59:58 +10:00
Connor McLaughlin 5c6e92cdfc GPU/HW: Disable coordinate clamping when unnecessary 2020-08-10 23:28:37 +10:00
Connor McLaughlin ac42510780 INISettingsInterface: Fix saving/loading with Unicode paths 2020-08-09 04:40:21 +10:00
Connor McLaughlin fbdc9ae631 CommonHostInterface: Remove additional API reset/restore on screenshot 2020-08-04 21:08:56 +10:00
Connor McLaughlin 0c1b637549 PGXP: Add initial implementation 2020-08-02 00:25:07 +10:00
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
2020-07-31 17:09:18 +10:00
Connor McLaughlin 3edb8e113e StringUtil: Add wide string<->utf8 conversion for Windows 2020-07-31 16:04:00 +10:00
Connor McLaughlin 8665a24eee CommonHostInterface: Fix crash when there's no controller interface 2020-07-26 23:59:47 +10:00
Albert Liu 79576ca956 AnalogController: Expose axis scale setting to frontend 2020-07-24 19:18:41 -07:00
Connor McLaughlin 4a3e5ed644 VulkanHostDisplay: Fix custom crosshair rendering on NVIDIA 2020-07-24 02:40:46 +10:00
Albert Liu 855fc9a31c CommonHostInterface: Prevent some potential null pointer dereferences 2020-07-21 17:14:11 -07:00
Connor McLaughlin 68d98af497 Qt: Remove usage of QString where possible for settings 2020-07-21 20:10:06 +10:00
Connor McLaughlin eb7da791ea CommonHostInterface: Fix command line help not printing on Windows 2020-07-21 20:09:54 +10:00
Albert Liu 79adabeb91 CommonHostInterface: Bump to settings version 3
This is required for phasing out QSettings usage because game paths were
being saved using the QSettings multi-value format, which is
incompatible with SimpleIni.
2020-07-16 20:35:49 -07:00
Connor McLaughlin 8febf5df04 D3D11HostDisplay: Fix reversed feature level order 2020-07-12 00:44:13 +10:00
Connor McLaughlin d6ec1fd84e Build fix 2020-07-10 14:46:44 +10:00
Connor McLaughlin c01854e9d1 Define LIBRETRO macro when building core, skip swap chain 2020-07-10 14:02:45 +10:00
Connor McLaughlin a5fe740e30 Fix a bunch of compiler warnings 2020-07-09 13:30:16 +10:00
Connor McLaughlin 60a739e305 D3D11HostDisplay: Add __has_include check for dxgi1_5.h 2020-07-09 13:24:56 +10:00
Connor McLaughlin 5984f977ca D3D11HostDisplay: Ensure we only get feature level 10-11 2020-07-09 13:00:31 +10:00
Connor McLaughlin 97a946bd62 CommonHostInterface: Implement frame step hotkey 2020-07-08 02:05:36 +10:00
Connor McLaughlin 76cb52407b SDLControllerInterface: Init joystick API as well 2020-07-06 02:47:33 +10:00
Connor McLaughlin b9ffca1ddf libretro: Vulkan renderer support 2020-07-04 22:14:07 +10:00
Connor McLaughlin 2c4fce3f0d D3D11HostDisplay: Don't create swap chain for headless 2020-07-04 17:37:50 +10:00
Albert Liu 0a0a2024fd SDLControllerInterface: Prefer cbutton.which for button events
Functionally the same as caxis.which due to SDL_Event union, but prefer
using SDL_ControllerButtonEvent members for button events.
2020-07-02 17:45:44 -07:00
Connor McLaughlin 655dff84e2 VulkanHostDisplay: Fix software cursor rendering 2020-07-01 01:57:25 +10:00
Connor McLaughlin 400ee3d9b3 OpenGLHostDisplay: Fix software cursor rendering 2020-07-01 01:57:25 +10:00
Connor McLaughlin 8cd9e0887e libretro: Use framebuffer view dimensions not texture dimensions 2020-07-01 01:57:25 +10:00
Connor McLaughlin ed6065d7f5 D3D11HostDisplay: Fix software cursor rendering 2020-07-01 00:56:46 +10:00
Connor McLaughlin 4dc9e10777 HostInterface: Support per-controller-type settings 2020-07-01 00:56:46 +10:00
Connor McLaughlin 2a38090e7a HostDisplay: Move most backend logic to FrontendCommon 2020-06-30 03:03:56 +10:00
Albert Liu 1a45ee3018 CommonHostInterface: Use largeImage fields in Discord presence payload
Fixes application icon not showing up in Discord Rich Presence.
2020-06-26 22:28:48 -07:00
Connor McLaughlin 58b0e6859a Frontend: Reset/restore GPU state before saving screenshot
Fixes driver crashes in Vulkan.
2020-06-27 02:59:58 +10:00
Albert Liu 293c2f50cd ControllerInterface: Make axis-to-button deadzone customizable 2020-06-23 08:15:17 -07:00
Albert Liu 6b7c068f83 ControllerInterface: Implement axis scaling for axis-to-axis mappings
This feature allows us to work around analog stick range issues at the
intercardinal directions in certain titles (e.g. Rockman DASH 2) caused
by modern controllers having a tighter logical range of reporting than
PS1 analog controllers.
2020-06-23 08:14:37 -07:00
Connor McLaughlin eaca5eca07 GPU/Vulkan: Use Metal layer instead NSView on macOS. 2020-06-22 15:58:07 +10:00
Connor McLaughlin f846817848 Vulkan: Fix crash when opening settings window -> resizing 2020-06-22 15:58:00 +10:00
Connor McLaughlin 1455e793d5 Vulkan: Fix crash when drag-resizing window 2020-06-22 15:57:54 +10:00
Connor McLaughlin 77291096db Settings: Add GPU adapter option and hook up to D3D11/Vulkan 2020-06-20 03:34:19 +10:00
Connor McLaughlin 1b5f8db2fc Vulkan/Context: Support specifying GPU to use 2020-06-20 03:34:19 +10:00
Connor McLaughlin 7fce9b102e FrontendCommon: Add GPU enumeration methods to D3D11/Vulkan host displays 2020-06-20 03:34:19 +10:00
Connor McLaughlin 1e26ded73c SDL: Use FrontendCommon D3D11 host display wrapper 2020-06-20 03:34:19 +10:00
Connor McLaughlin 6eb2079088 FrontendCommon: Add D3D11 helper for host display 2020-06-20 03:33:34 +10:00
Connor McLaughlin 6aacf0019a FrontendCommon: Add a Vulkan host display interface 2020-06-19 00:18:19 +10:00
Connor McLaughlin 63cc4ab197 CommonHostInterface: Release save state selector before display
This can have GPU objects, so needs to be released first.
2020-06-19 00:16:59 +10:00
Albert Liu 8a94fc944a CommonHostInterface: Fix minor log message typo 2020-06-16 09:53:18 -07:00
Connor McLaughlin 8d2c7db224 Qt: Source input profiles from program and user directory
This way Linux users as well as Windows users who use the Documents
user directory can use the shipped input profiles.
2020-06-12 02:47:40 +10:00
Connor McLaughlin 075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 2020-06-09 02:35:37 +10:00
Connor McLaughlin b9bfe30b1e SDL: Fix compilation on older versions 2020-06-07 01:38:38 +10:00
Connor McLaughlin 531c3ad5fa AudioStream: Replace buffer queue with ring buffer
Should achieve a decent overall minimum latency reduction.
2020-06-07 01:22:03 +10:00