Commit graph

76 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 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 73c9a31b86 Android: Expose more settings via UI 2020-07-31 03:40:27 +10:00
Connor McLaughlin d406c03ba9 Android: Add memory card mode settings 2020-07-30 02:00:39 +10:00
Connor McLaughlin 24ffe6f67e Android: Multiple fixes
- Fix possible crash when applying settings worker thread (no JNIEnv).
 - Fix settings not applying until restarting the app.
 - Support analog controller - auto-binding of axixes. Currently no
   touchscreen controller for the joysticks.
 - Add option to auto-hide the touchscreen controller.
2020-07-29 02:38:04 +10:00
Connor McLaughlin a7e24da7fe Android: Multiple changes
- Fix game list display of NTSC-J region
 - Hook up quick load/save/reset options in emulation view.
 - Add speed limiter toggle to emulation view.
 - Add game list scanning options to main menu.
 - Add resume button (not yet hooked up to save states, it'll start the
   BIOS shell)
2020-07-27 00:05:18 +10:00
Albert Liu bf597aab44 Settings: Specify GPU resolution scale as VRAM size 2020-07-23 01:03:18 -07:00
Connor McLaughlin 0398c6cb4a Android: Fix build 2020-07-21 20:25:40 +10:00
Connor McLaughlin 68d98af497 Qt: Remove usage of QString where possible for settings 2020-07-21 20:10:06 +10:00
Connor McLaughlin 9833bfddf3 Android: Add Vulkan renderer to options 2020-07-12 23:28:18 +10:00
Connor McLaughlin f9cbc3acfb Android: Hook up settings interface 2020-07-11 03:29:15 +10:00
Connor McLaughlin a451e7f177 Android: Get it running again
Currently settings are not changable.
2020-07-07 00:59:56 +10:00
Connor McLaughlin e91d760175 HostInterface: Fix crash on startup with controller connected 2020-04-06 12:18:33 +10:00
Connor McLaughlin b418f880ab Android: It builds again, but needs a lot more work 2020-04-06 00:25:40 +10:00
Connor McLaughlin ad21f48a67 Fix Android build after controller changes 2019-12-16 16:46:43 +10:00
Connor McLaughlin b6aa2a6496 Android: Add Game List settings 2019-12-09 22:53:28 +10:00
Connor McLaughlin c136ec5930 Android: Update app icon 2019-12-09 22:53:19 +10:00
Connor McLaughlin 6592b59597 Android: Add touchscreen controller toggle 2019-12-09 22:34:08 +10:00
Connor McLaughlin 9321fcb627 Android: Basic game controller input forwarding 2019-12-09 22:18:18 +10:00
Connor McLaughlin 35bbde6d71 Android: Finish basic overlay controller implementation 2019-12-09 21:42:07 +10:00
Connor McLaughlin 5d91c011a6 Android: Basic touchscreen controller implementation 2019-12-09 01:43:37 +10:00
Connor McLaughlin 737bec0e7d Android: Get storage permissions before populating game list 2019-12-04 21:54:37 +10:00
Connor McLaughlin 8c33163ef1 Android: Add type to game list (disc/psexe) 2019-12-04 21:54:14 +10:00
Connor McLaughlin 6da9e23d3b Android: Implementation of basic game list 2019-12-02 01:09:25 +10:00
Connor McLaughlin adc3a2fac1 Android: Support GLES3 and hardware renderers 2019-12-01 21:57:27 +10:00
Connor McLaughlin ea35c5f3bc Import initial work on Android frontend 2019-11-29 00:17:24 +10:00