Commit graph

378 commits

Author SHA1 Message Date
Connor McLaughlin e9882a10aa System: Move restore/reset graphics API state to System
Fixes frame stepping.
2020-08-01 16:45:07 +10:00
Connor McLaughlin 3532ab8d72 Qt: Update interlaced rendering option help 2020-08-01 14:04:52 +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 f443691ad0 Qt: Fix deprecreated errors with 5.15 2020-07-31 03:40:51 +10:00
Connor McLaughlin fb85e2b441 Qt: Update Portuguese (Br) translation 2020-07-31 03:32:48 +10:00
Connor McLaughlin 167169a03b Qt: Update Portuguese translation 2020-07-30 00:49:32 +10:00
Connor McLaughlin 77481f5b23 Qt: Add context menu and open directory to game directory list 2020-07-29 02:51:52 +10:00
Connor McLaughlin 8956fc27ce Qt: Make about dialog more translation-friendly 2020-07-29 02:38:04 +10:00
Connor McLaughlin 982c428074 Qt: Improve auto-sizing for settings dialog 2020-07-29 02:38:04 +10:00
Connor McLaughlin bc6f6d1a6d Qt: Display Portuguese language as Portuguese (Br) 2020-07-29 02:38:04 +10:00
Connor McLaughlin f82e64a60c Qt/Settings: Add recommended resolution to scale
Apparently the framebuffer/VRAM dimensions were too confusing.
2020-07-28 20:33:09 +10:00
Connor McLaughlin b894b882ed Qt/Settings: Add help for GPU adapter 2020-07-28 20:33:09 +10:00
Connor McLaughlin 20ff075c3f Qt: Mark individual setting help as translatable 2020-07-28 20:33:09 +10:00
Connor McLaughlin e187597dec Qt: Make settings main help text translatable 2020-07-28 20:33:09 +10:00
Connor McLaughlin 27f62723c7 Qt: Make gmae list headings translatable 2020-07-28 20:33:09 +10:00
Connor McLaughlin 79c8b9f52c Qt: Add Portuguese translation 2020-07-28 20:33:09 +10:00
Connor McLaughlin 3edb255eca Qt: Add translation support and language setting 2020-07-28 19:14:44 +10:00
Connor McLaughlin 5a955a4fdc Qt: Fix audio volume/mute being lost when restarting emulation 2020-07-24 02:55:00 +10:00
Connor McLaughlin e30c0a6881 Qt: Don't allow booting when changing disc from game list 2020-07-24 02:40:46 +10:00
Albert Liu bf597aab44 Settings: Specify GPU resolution scale as VRAM size 2020-07-23 01:03:18 -07:00
Albert Liu e782b678b6 Qt/GPUSettings: Update aspect ratio help text 2020-07-22 12:08:01 -07:00
Connor McLaughlin 961afdf765 Qt: Ignore resume states when "Save state on exit" is unchecked 2020-07-23 02:44:06 +10:00
Connor McLaughlin 6c162eb3c5 Qt: Support binding multiple buttons/axis to controllers 2020-07-23 02:35:15 +10:00
Albert Liu 855fc9a31c CommonHostInterface: Prevent some potential null pointer dereferences 2020-07-21 17:14:11 -07:00
Connor McLaughlin 9496c992f7 System: Add an option to preload CD image to RAM 2020-07-22 00:03:22 +10:00
Connor McLaughlin b2595a3b3b Qt: Fix volume slider slowing down emulation 2020-07-21 20:10:17 +10:00
Connor McLaughlin 2fb00faa67 Qt: Delay settings save by one second 2020-07-21 20:10:11 +10:00
Connor McLaughlin 68d98af497 Qt: Remove usage of QString where possible for settings 2020-07-21 20:10:06 +10:00
Connor McLaughlin bddd098a66
Merge branch 'master' into qt-inisettings 2020-07-21 13:28:18 +10:00
Connor McLaughlin f67862de5f
Merge pull request #622 from ggrtk/qt-gamelistsettings
Qt/GameListSettings: Use native path separators
2020-07-19 12:58:00 +10:00
Elizabeth 39917117d2
Disable Interlacing description "Unchecked"
As noted by Kurayami6, Disable Interlacing should show "Unchecked" as the default option for this enhancement.
2020-07-18 13:21:13 -04:00
Albert Liu 2853bf851a Qt/GameListSettings: Use native path separators
Fixes possible duplicate game list entries on Windows.
2020-07-17 18:43:30 -07:00
Connor McLaughlin 1069e12bff Qt: Add binding how-to text to hotkey page 2020-07-18 01:33:51 +10:00
Connor McLaughlin 389f452e10 Qt/GameListSettings: Use push button for all buttons 2020-07-18 01:33:36 +10:00
Connor McLaughlin 5c5ee17fa7 Qt: Fix widescreen hack option positioning 2020-07-18 01:28:35 +10:00
Connor McLaughlin 1e6740762d Qt: Add widescreen hack option 2020-07-18 00:28:37 +10:00
Albert Liu a92fd98d7f Qt/GameListSettings: Fix QToolButtons staying highlighted after use 2020-07-17 03:50:02 -07:00
Albert Liu 97be6c922c Fix MSVC build 2020-07-16 20:35:49 -07:00
Albert Liu 4e2b3189b0 Qt: Replace QtSettingsInterface with INISettingsInterface 2020-07-16 20:35:49 -07:00
Albert Liu 9d6325f828 QtHostInterface: Fix compiler warning 2020-07-16 20:32:42 -07:00
Connor McLaughlin 1ed57a9fdf Qt: Hook up mouse events to ImGui 2020-07-13 02:39:59 +10:00
Connor McLaughlin a5fe740e30 Fix a bunch of compiler warnings 2020-07-09 13:30:16 +10:00
Connor McLaughlin 97a946bd62 CommonHostInterface: Implement frame step hotkey 2020-07-08 02:05:36 +10:00
Connor McLaughlin 5274fa32ac Qt: Pump events on main thread when waiting for init 2020-07-06 02:47:33 +10:00
Connor McLaughlin f396a2c373 Renderers: Make shader cache path a prefix instead of directory 2020-07-04 22:14:07 +10:00
Connor McLaughlin b3359dadc9 Qt: Save original style name for restoring after theme switch 2020-07-04 15:54:26 +10:00
Connor McLaughlin b471d1043a Settings: Load Memory Cards From State -> Load Devices From State
Makes it apply to controllers too.
2020-07-02 00:50:53 +10:00
Connor McLaughlin bf08385051 WindowInfo: Add surface_scale field 2020-07-01 01:57:25 +10:00
Connor McLaughlin 78cf890c6c Qt: Hook up per-controller-type-settings to UI 2020-07-01 00:56:46 +10:00
Connor McLaughlin bcc6d5d53d Qt: Support float settings in setting widget binder 2020-07-01 00:56:46 +10:00
Connor McLaughlin 0b11a14e24 Qt: Better handling of default settings not in ini 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 788a9a6768 Qt: Reset palette and style when selecting default theme
Fixes palette and style getting stuck when switching to default theme
after having used dark fusion theme earlier in the same session.
2020-06-24 16:08:36 -07:00
Connor McLaughlin 55a2c73097 Qt: Add Dark Fusion theme 2020-06-25 01:33:00 +10:00
Connor McLaughlin a6d976240a Qt: Add theme selection and dark theme 2020-06-25 01:33:00 +10:00
Connor McLaughlin 82a0ad8a10 Qt/Settings: Make GPU adapter more sensible
Add a default entry, rather than leaving it blank.
2020-06-22 15:57:43 +10:00
Connor McLaughlin 4d827e23c5 Qt: Add GPU/adapter selection to settings 2020-06-20 03:34:19 +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 85edbce3ca Qt: Use FrontendCommon D3D11 host display wrapper 2020-06-20 03:34:19 +10:00
Connor McLaughlin 49a9f01327 Qt: Support Vulkan 2020-06-19 00:18:53 +10:00
Albert Liu d005025f8f Qt/AdvancedSettings: Fix swapped widget bindings 2020-06-17 12:34:41 -07:00
Connor McLaughlin 7aa71529d6
Merge pull request #551 from ggrtk/advanced-settings
Qt: Connect tweak/hack settings to Qt frontend
2020-06-18 03:12:13 +10:00
Connor McLaughlin 0e3fdebb11 Qt: Don't set native window to GL surface
Might be related to the GLX crashes some people are experiencing...
2020-06-18 03:10:33 +10:00
Albert Liu b7d9ce98e8 Qt: Connect tweak/hack settings to Qt frontend 2020-06-16 09:53:18 -07:00
Connor McLaughlin b141042952
Merge pull request #549 from ggrtk/qt-rebind-all
Qt: Simplify Rebind All behavior
2020-06-15 13:26:48 +10:00
Albert Liu 1b9dbc1a0b Qt: Add help text note about binding rumble 2020-06-14 16:29:25 -07:00
Albert Liu fd4e41bc7d Qt: Simplify Rebind All behavior 2020-06-14 16:06:29 -07:00
Connor McLaughlin 41d66f5c73 Qt: Add icon to executable 2020-06-15 03:29:35 +10:00
Connor McLaughlin 0dfb9f7d90
Merge pull request #548 from ggrtk/qt-aboutdialog
Qt: Add about dialog
2020-06-12 18:50:06 +10:00
Albert Liu 4f07e30dc0 Qt: Fix broken font in about dialog on Windows 2020-06-11 10:14:27 -07:00
Albert Liu aeead1b0a6 Fix MSVC build 2020-06-11 10:09:02 -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
Albert Liu da9188a771 Qt: Fix broken links in about dialog 2020-06-11 09:36:14 -07:00
Albert Liu 4c29b6f30c Qt: Add about dialog 2020-06-11 09:26:04 -07:00
Connor McLaughlin 2504d187d3 Qt: Add separate menu items for rescan all/scan for new games 2020-06-12 01:49:17 +10:00
Connor McLaughlin f5fd37c4c4 Qt: Fix compatibility column not showing by default 2020-06-09 02:41:24 +10:00
Connor McLaughlin 075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 2020-06-09 02:35:37 +10:00
Connor McLaughlin 29d918dbb0 Qt/GameProperties: Implement hash calculation 2020-06-08 01:19:54 +10:00
Connor McLaughlin bc9246b444 Qt: Add inline help to audio settings 2020-06-07 01:30:05 +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
Connor McLaughlin 6acd8b27dd Qt: Prevent lag disabling power on buttons when starting 2020-06-06 03:44:57 +10:00
Connor McLaughlin de8aef4f44 Qt: Fix pause button repeatedly triggering sometimes 2020-05-31 02:41:31 +10:00
Connor McLaughlin 51c75554e6 Qt: Fix overlapping options in general settings 2020-05-27 02:13:04 +10:00
Connor McLaughlin 81a7b147fc System: Add option to disable loading memory cards from save states 2020-05-27 02:06:56 +10:00
Connor McLaughlin 2156236f52 Frontends: Use common GL context wrapper 2020-05-25 15:02:44 +10:00
Connor McLaughlin 9f22684cea Qt: Combine resume and power off toolbar buttons 2020-05-23 15:03:15 +10:00
Connor McLaughlin e6d52ce6de Qt: Add Resume button 2020-05-23 15:03:00 +10:00
Connor McLaughlin e24e4c20e1 Qt: Fix pause button getting locked on after restarting game 2020-05-23 15:01:36 +10:00
Connor McLaughlin dfe0dcb56c Qt: Split memory card/controller config, make bindings scroll 2020-05-20 23:26:26 +10:00
Connor McLaughlin e7778ea86e Qt: Move OpenURL to QtUtils namespace 2020-05-20 23:25:16 +10:00
Connor McLaughlin c8a00c58eb Qt: Add Remove Disc option to change disc menu 2020-05-20 02:32:19 +10:00
Connor McLaughlin 88cc695d0b HostDisplay: Adjust offsets for linear filtering
Fixes line on right of screen in South Park.
2020-05-17 21:10:48 +10:00
Connor McLaughlin 4c9cdbb147 Qt/GameProperties: Disable all fields when code is missing 2020-05-16 21:19:34 +10:00
Connor McLaughlin 525bfda672 Build: Copy data directory with VS solution too 2020-05-16 20:55:00 +10:00
Connor McLaughlin 9ff8cf009a Qt: Fix tab order in game properties dialog 2020-05-16 20:32:36 +10:00
Connor McLaughlin 4e66b12727 Qt: Hook up export compatibility info to game properties 2020-05-16 20:32:36 +10:00
Connor McLaughlin f671840a18 Qt: Add compatibility stars to game list 2020-05-16 20:32:36 +10:00
Connor McLaughlin b2a2366287 Qt: Add game properties dialog 2020-05-16 20:32:36 +10:00
Connor McLaughlin 47c2b29395 Build: Use bin directory for cmake, fix Windows/cmake build 2020-05-16 13:10:31 +10:00