Connor McLaughlin
34f1c644f5
GPU: Update GPUSTAT if raster has passed to the next line
...
Fixes games which poll GPUSTAT, including The Next Tetris (Europe).
2020-03-01 17:14:42 +10:00
Connor McLaughlin
b0b1fd8f1a
GPU: Timing for CPU->VRAM transfers
...
Fixes Monkey Hero, probably others.
2020-03-01 17:14:38 +10:00
Connor McLaughlin
6b9c6d3750
GPU: Add a helper function to determine how many GPU ticks are pending
2020-03-01 17:14:32 +10:00
Connor McLaughlin
635ab72b37
GPU: Implement "Scaled Dithering" option
...
Fixes #29 .
2020-03-01 00:05:31 +10:00
Connor McLaughlin
d41e6dd28f
CommonHostInterface: Add some more default key bindings
...
Also remove some unused code.
2020-02-29 00:41:17 +10:00
Connor McLaughlin
fdcb891ed3
GPU: Fix incorrect detection of 480i mode
2020-02-29 00:19:23 +10:00
Connor McLaughlin
ed493c846d
GPU: Don't panic on oversized VRAM copies
...
Fixes #31 .
2020-02-29 00:19:09 +10:00
Connor McLaughlin
7412e78aa1
GPU: Move software copy/fill functions to base class so it can be used as fallback
2020-02-29 00:18:33 +10:00
Connor McLaughlin
e1d4c0b9d4
HostDisplay: Fudge texture coordinates for better linear filtering
2020-02-29 00:18:24 +10:00
Connor McLaughlin
6bacbf3438
GPU: Fix 480i displays getting cut off in OpenGL and Software
2020-02-28 23:01:38 +10:00
Connor McLaughlin
aa56a59f58
GPU: Make resolution info less spammy
2020-02-28 23:00:37 +10:00
Connor McLaughlin
0690491883
GPU/HW: Fix potential crash in rectangle expansion
2020-02-28 22:58:34 +10:00
Connor McLaughlin
a298e93004
CMake: Fix Linux build
...
Fixes #36 .
2020-02-28 22:43:34 +10:00
Connor McLaughlin
e8e44991db
GPU: Fix display in OpenGL renderer
2020-02-28 22:42:56 +10:00
Connor McLaughlin
63064f80c2
HostInterface: Fix default value for Display/CropMode
2020-02-28 18:15:37 +10:00
Connor McLaughlin
f2adb71a70
CommonHostInterface: Bind face buttons to keypad by default
2020-02-28 18:15:21 +10:00
Connor McLaughlin
19c1e8b838
StringUtil: Fix for older gcc versions again
2020-02-28 17:19:51 +10:00
Connor McLaughlin
fcc0ae9571
GPU: Implement "Crop Mode" (none, overscan, all borders)
2020-02-28 17:01:01 +10:00
Connor McLaughlin
5df7fbd68c
Common/Rectangle: Fix typo in assignment operator
2020-02-28 17:00:19 +10:00
Connor McLaughlin
122726fe65
Common/StringUtil: Support compiling on gcc7
2020-02-28 17:00:16 +10:00
Connor McLaughlin
bbdee22ea8
SDL: Move SDLSettingsInterface (ini) to frontend-common
2020-02-28 17:00:14 +10:00
Connor McLaughlin
9ab5212833
FrontendCommon: Make SDL2 dependency optional
2020-02-28 17:00:12 +10:00
Connor McLaughlin
f35970fcac
FrontendCommon: Move input binding and some other logic from Qt to common
2020-02-28 17:00:09 +10:00
Connor McLaughlin
ccbe6f0c42
Qt: Don't store floats in settings as QVariant data
2020-02-28 17:00:07 +10:00
Connor McLaughlin
da0059fb21
Common/StringUtil: Add a FromChars std::optional wrapper
2020-02-28 17:00:05 +10:00
Connor McLaughlin
86094b8080
Common/String: Don't copy StaticStrings when not writing
2020-02-28 17:00:02 +10:00
Connor McLaughlin
4fe57e64d7
SDL: Add -gstate parameter to load global state
2020-02-28 17:00:00 +10:00
Connor McLaughlin
992bf7c338
SDL: Add GPU debug device option to settings
2020-02-28 16:59:58 +10:00
Connor McLaughlin
07ba2ecd3d
Settings: Simplify resolution scale enumeration
2020-02-28 16:59:55 +10:00
Connor McLaughlin
f21cb25426
HostInterface: Recreate system on GPU debug device toggle too
2020-02-28 16:59:53 +10:00
Connor McLaughlin
82eb14efb1
Core: Apply DPI scaling to debug windows
2020-02-28 16:59:51 +10:00
Connor McLaughlin
ce31c85983
SDL: Support high-dpi displays
2020-02-28 16:59:48 +10:00
Connor McLaughlin
a0a0cd48fa
SDL: Reimplement improved fullscreen toggling
2020-02-28 16:59:46 +10:00
Connor McLaughlin
f03de090c4
SDL: Fix setting changes not applying
2020-02-28 16:59:44 +10:00
Connor McLaughlin
4b94224955
SDL: Use RunLater() for menu actions too
2020-02-28 16:59:41 +10:00
Connor McLaughlin
50a155e775
Settings: Default to relative paths for bios/memcards
...
Prevents from locking to the directory the first time we run.
2020-02-28 16:58:30 +10:00
Connor McLaughlin
509f26ad7e
Qt: Add some more default hotkeys (fullscreen/pause/poweroff)
...
Along with the previous commit, fixes #32
2020-02-26 19:31:12 +10:00
Connor McLaughlin
e4ff8b0936
Qt: Add power off hotkey and confirmation message
2020-02-26 19:26:20 +10:00
Connor McLaughlin
27c9f2d834
Qt: Add a method for the emulation thread to focus the display widget
2020-02-26 19:26:14 +10:00
Connor McLaughlin
e9dea6e0f7
HostInterface: Add a ConfirmMessage() method
2020-02-26 19:25:57 +10:00
Connor McLaughlin
8ffdcf1b7e
Qt: Add a way for the emulation thread to request fullscreen state
2020-02-26 19:25:51 +10:00
Connor McLaughlin
460ff24248
Qt: Support SDL audio backend
2020-02-25 23:40:46 +10:00
Connor McLaughlin
223b52736f
Qt: Populate audio backend drop-down
2020-02-25 23:40:42 +10:00
Connor McLaughlin
c68d188029
Disable DXGI handling of ALT+ENTER
...
We manage fullscreen ourselves.
2020-02-24 18:19:20 +09:00
Connor McLaughlin
bfdf343dfe
SDL: Move imgui render to display
...
Fixes crash on renderer switch.
2020-02-23 00:04:30 +09:00
Connor McLaughlin
49c7767ed4
System: Check save state version when loading
...
Fixes #34 .
2020-02-22 17:16:47 +09:00
Connor McLaughlin
959a555274
CDROM: Implement asynchronous disc reading
2020-02-22 00:24:35 +09:00
Connor McLaughlin
7ece901d57
CDImage/CHD: Fix crash when opening invalid/nonexistant file
2020-02-22 00:18:58 +09:00
Connor McLaughlin
1ed8243776
HostInterface: Reset counters when starting from state
2020-02-22 00:18:27 +09:00
Connor McLaughlin
3a0f8bffc5
SDL: Use precompiled D3D11 display shaders
2020-02-20 23:22:37 +09:00
Connor McLaughlin
784a5c789f
Qt: Use precompiled D3D11 display shaders
2020-02-20 23:22:28 +09:00
Connor McLaughlin
4f794b1c37
Add precompiled versions of D3D11 display shaders
2020-02-20 23:21:54 +09:00
Connor McLaughlin
46846a10f6
Common: Simplify D3D shader object creation with helpers
2020-02-19 22:04:21 +09:00
Connor McLaughlin
11b90b2beb
Qt: Fix mac build again
2020-02-18 00:31:05 +09:00
Connor McLaughlin
262331504f
Qt: Support binding controller axes
2020-02-18 00:06:28 +09:00
Connor McLaughlin
b7dfe06f74
Qt: Support axes in input binding widgets
2020-02-18 00:06:11 +09:00
Connor McLaughlin
149cbf6457
GPU/HW: Properly implement too-large polygon culling
...
Replaces triangle strips with triangle lists, which has the added bonus
of not requiring flushing as many batches.
Fixes missing geometry in Vagrant Story.
2020-02-17 00:09:45 +09:00
Connor McLaughlin
bbe54df3a8
GPU/HW: Split rectangles on texture page boundaries
...
Fixes the sky in Ape Escape's menu screen, FF7 menu borders, probably
others.
2020-02-17 00:09:31 +09:00
Connor McLaughlin
bd542831a8
GPU: Fix incorrect bit check in DrawMode::IsUsingPalette()
...
Fixes Sony Computer Entertainment fade in the NTSC-J BIOS.
2020-02-17 00:09:27 +09:00
Connor McLaughlin
0f7365117b
SDLControllerInterface: Add missing include
2020-02-16 00:39:06 +09:00
Connor McLaughlin
961bc09979
SDL: Fix crashes on starting emulation
2020-02-16 00:33:43 +09:00
Connor McLaughlin
208928b6dc
Qt: Fix load state menu not refreshing after save
2020-02-16 00:15:18 +09:00
Connor McLaughlin
1e0e802fa4
HostInterface: Add a helper to display a 'Loading Screen' during long startup
2020-02-16 00:15:16 +09:00
Connor McLaughlin
9ddb3a8c7a
SDL: Use controller interface from frontend-common
2020-02-16 00:15:14 +09:00
Connor McLaughlin
6456c5d63d
Qt: Don't resume when booting without game code
2020-02-16 00:15:11 +09:00
Connor McLaughlin
dcc9da3f5e
HostInterface: Don't try to resume system without game code
2020-02-16 00:15:09 +09:00
Connor McLaughlin
06f4d72631
FrontendCommon: Use SDL_InitSubSystem() for lazy initialization
2020-02-16 00:15:05 +09:00
Connor McLaughlin
78a6666439
SDLAudioStream: Don't allow format to change
2020-02-16 00:15:02 +09:00
Connor McLaughlin
e48e6141c8
Qt: Set display window size on context create not constructor
...
The size isn't known at construction time.
2020-02-16 00:15:00 +09:00
Connor McLaughlin
cd2f6d1f68
HostInterface: Only display error when loading resume state if boot anyway flag isn't set
2020-02-16 00:14:58 +09:00
Connor McLaughlin
6d945439eb
Qt: Fix possible crash/race when startup fails
2020-02-16 00:14:56 +09:00
Connor McLaughlin
59cf799491
Qt: Implement controller interface/binding
2020-02-16 00:14:53 +09:00
Connor McLaughlin
6a1206dde7
Frontends: Add option for "Increase Timer Resolution"
2020-02-16 00:14:51 +09:00
Connor McLaughlin
e01cf0dccb
Frontends: Implement auto save on exit/resume
2020-02-16 00:14:49 +09:00
Connor McLaughlin
e738b87a25
HostInterface: Add helpers for resume save state
2020-02-16 00:14:47 +09:00
Connor McLaughlin
5f3be68028
HostInterface: Notify host when controller types change
2020-02-16 00:14:44 +09:00
Connor McLaughlin
b0c846388e
SDL: Only save settings when changes have been made
2020-02-16 00:14:42 +09:00
Connor McLaughlin
37d765e8d7
HostInterface: Support switching audio backends
2020-02-16 00:14:40 +09:00
Connor McLaughlin
6a0c15b649
HostInterface: Move timer resolution increase to base class
2020-02-16 00:14:37 +09:00
Connor McLaughlin
1e009133ae
Rename 'Default' audio backend to 'SDL'
2020-02-16 00:14:35 +09:00
Connor McLaughlin
d17f0a3923
Qt: Implement disc change in QtHostInterface
2020-02-16 00:14:33 +09:00
Connor McLaughlin
e5740a5632
Qt: Pass QStrings by reference in HostInterface
2020-02-16 00:14:30 +09:00
Connor McLaughlin
fd8ed08307
Move more logic from frontend to base HostInterface
2020-02-16 00:14:28 +09:00
Connor McLaughlin
f0578bb932
HostInterface: Make helper methods const
2020-02-16 00:14:25 +09:00
Connor McLaughlin
153eded978
Qt: Use a single column in hotkey binding list
2020-02-16 00:14:23 +09:00
Connor McLaughlin
5c303705ac
Qt: Use scroll area for hotkey binding list
2020-02-16 00:14:08 +09:00
Connor McLaughlin
1ce1e016ae
Qt: Implement save state menus
2020-02-16 00:14:04 +09:00
Connor McLaughlin
97ea851097
Qt: Narrowing warning fix
2020-02-16 00:14:02 +09:00
Connor McLaughlin
7290e5cad0
HostInterface: Add per-slot save state helper functions
2020-02-16 00:14:00 +09:00
Connor McLaughlin
9148581213
GPU: Narrowing warning fix
2020-02-16 00:13:57 +09:00
Connor McLaughlin
3bafdf88d4
SDL: Fix uninitialized mapping variables
2020-02-16 00:13:55 +09:00
Connor McLaughlin
745c2785b2
Move shared frontend code from SDL to a seperate project
2020-02-16 00:13:53 +09:00
Connor McLaughlin
24bebf7f59
SDL: Add emulation speed slider
2020-02-16 00:13:48 +09:00
Connor McLaughlin
fd2ca2927e
Common/FileSystem: Fix recursive directory creation
2020-02-15 23:19:27 +09:00
Connor McLaughlin
befa2a27d8
HostInterface: Fix crash in SetUserDirectory
2020-02-15 23:12:15 +09:00
Connor McLaughlin
b605a84f7d
HostInterface: Set user directory for Linux/macOS, portable.txt support
2020-02-15 22:36:16 +09:00
Connor McLaughlin
f5482cb3b6
Don't require OpenGL compatibility profile
2020-02-15 21:11:51 +09:00
Connor McLaughlin
1c17d5495e
CMake: Attempting to around SDL2 issues on macOS
2020-02-15 17:40:21 +09:00
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.
2020-02-15 17:23:35 +09:00
Connor McLaughlin
15e49b9f61
Core/TimingEvent: Add missing <string> include
2020-02-15 11:34:57 +09:00
Connor McLaughlin
f0910dc948
Common/FileSystem: Include fix
2020-02-15 11:00:54 +09:00
Connor McLaughlin
f805764fea
Common/FileSystem: More OSX fixes..
2020-02-15 10:50:33 +09:00
Connor McLaughlin
2ac8f7a6ac
Common/FileSystem: uint32 -> u32
2020-02-15 10:34:48 +09:00
Connor McLaughlin
244302557f
SDL: Add missing <cmath> include to sdl_host_interface.cpp
2020-02-15 10:29:46 +09:00
Connor McLaughlin
8eba4b379c
Settings: Default to D3D11 renderer on Windows
...
This point it's less buggy and slightly more performant.
2020-02-15 10:21:59 +09:00
Connor McLaughlin
4681f9d744
Common/FileSystem: Don't include malloc.h on macOS
2020-02-15 10:12:55 +09:00
Connor McLaughlin
33f3ab4d86
Common/FIFOQueue: Use posix_memalign instead of memalign
2020-02-15 00:08:56 +09:00
Connor McLaughlin
23c8a5588d
Add macOS to some Linux/Android-only-isms
2020-02-14 22:58:18 +09:00
Connor McLaughlin
5aba89091e
HostInterface: Fix possible crash in BIOS loading
2020-02-14 22:45:54 +09:00
Connor McLaughlin
d7f8884291
Qt: Fix compilation under clang-9
...
Fixes #23 .
2020-02-13 16:54:09 +09:00
Connor McLaughlin
c008a5d523
Display: Fix bleeding from adjacent VRAM columns with linear filtering
2020-02-13 00:19:46 +09:00
Connor McLaughlin
5c7ef65a34
HostInterface: Non-standard speeds are <100% too
2020-02-12 21:27:43 +09:00
Connor McLaughlin
b8210ecbe3
GPU: Use correct texture page size in overlap tracking
2020-02-12 20:58:34 +09:00
Connor McLaughlin
278aa86d14
SPU: Refactor ADSR/implement exponential mode
2020-02-11 23:10:00 +09:00
Connor McLaughlin
e098c83342
HostInterface: Disable vsync/audio sync when running at not-100% speed
2020-02-11 12:03:25 +09:00
Connor McLaughlin
70fe43a3ec
System: Implement variable emulation speed
2020-02-11 12:02:42 +09:00
Connor McLaughlin
a81a0c0f21
Qt: Add normalized float values to SettingWidgetBinder
2020-02-10 22:44:00 +09:00
Connor McLaughlin
9ac7b002e2
GPU/HW: Improve dirty rectangle tracking
...
Fixes title screen of Activision Classics and performance regression
from Vagrant Story motion blur fix.
2020-02-09 22:49:53 +09:00
Connor McLaughlin
2bf6912f39
Qt: Simplify emulation thread loop
2020-02-09 22:16:37 +09:00
Connor McLaughlin
c820ddba79
HostInterface: Move throttle and perf stats to System class
2020-02-09 22:16:25 +09:00
Connor McLaughlin
895cefec60
Qt: Fix core trying to use core OpenGL shaders on OpenGL ES
2020-02-08 21:18:41 +09:00
Connor McLaughlin
1e45c9c4e1
GPU: Fix incorrect overwrite of set mask bit from draw mode
...
Fixes motion blur in Vagrant Story.
2020-02-08 00:01:37 +09:00
Connor McLaughlin
287ab93cdc
GPU: Fix texture bit15 not propogating when blending enabled
2020-02-08 00:01:12 +09:00
Connor McLaughlin
ac5af4658d
GPU: Mask bit check should use existing colour not new colour
2020-02-07 00:11:12 +09:00
Connor McLaughlin
a36fe8bfe6
GPU: Keep drawing area invalidated after invalidating shadow VRAM copy
...
Partially fixes the motion blur in Vagrant Story.
2020-02-07 00:10:58 +09:00
Connor McLaughlin
d1c8775996
Common/Rectangle: Compile fix when using operator=
2020-02-07 00:10:46 +09:00
Connor McLaughlin
7e862cd63e
GPU: Texture bit should be ignored when drawing lines
...
Fixes line flickering in Vagrant Story.
2020-02-07 00:10:36 +09:00
Stenzek
8d9ce82281
Qt: Slightly rework desktop/GLES context creation
2020-02-06 21:02:47 +09:00
Stenzek
8654778298
Qt: OpenGL display window crash fix
2020-02-05 22:47:49 +09:00
Stenzek
e4e15f234b
Qt: Fix up debug CPU mode switch menu
2020-02-05 17:43:25 +09:00
Stenzek
057263bda3
HostInterface: Track changes to CPU mode in ApplySettings()
2020-02-05 17:43:15 +09:00
Stenzek
c26b9bc54c
System: UpdateCPUExecutionMode -> SetCPUExecutionMode
2020-02-05 17:43:00 +09:00
Stenzek
93f85535eb
Qt: Handle creation of ES contexts even when it wasn't specified
2020-02-05 17:42:50 +09:00
Stenzek
edb6d7c97e
Qt: Add debug settings to menu
2020-02-04 15:22:56 +09:00
Stenzek
733ab1bca0
Settings: Store debug settings to ini
2020-02-04 15:22:48 +09:00
Stenzek
6718f0442c
Qt: Support QActions in SettingsWidgetBinder
2020-02-04 15:22:39 +09:00
Connor McLaughlin
52fd070d3b
Build: Compile tinyxml2 as static library instead of dll
2020-02-03 14:22:17 +10:00
Connor McLaughlin
ec55ab7f5e
Build: Rename duckstation to duckstation-sdl
2020-02-03 14:16:59 +10:00
Connor McLaughlin
5957df5b5c
Update SDL2 to 2.0.10
2020-02-03 13:53:31 +10:00
Connor McLaughlin
4eadc07629
Common/StringUtil: Fix more incorrect usage of va_list
2020-02-03 13:53:17 +10:00
Connor McLaughlin
899a8e0f03
Qt: Add "Use Debug Device" to GPU settings
2020-02-02 00:22:14 +10:00
Connor McLaughlin
96be414e3e
Qt: Populate console region drop-down dynamically
2020-02-02 00:22:07 +10:00
Connor McLaughlin
b11a7a106f
Common/Log: Fix corrupted output/UB with va_copy
...
Fixes crashes on GCC9+ (#9 ), maybe others.
2020-02-01 11:04:46 +10:00
Connor McLaughlin
c72d86cf1b
Qt: Hook up CPU execution mode setting
2020-02-01 00:05:20 +10:00
Connor McLaughlin
e11c7190b5
Linux build fix
2020-01-30 20:20:21 +10:00
Connor McLaughlin
070e6c32d6
Frontends: Add .chd files to open filter
2020-01-30 20:06:15 +10:00
Connor McLaughlin
c1c82eb3f3
Common/CDImage: Support CHD format
2020-01-30 20:06:15 +10:00
Connor McLaughlin
18d5086e4c
Common/CDImage: Changes to support CHD interfaces
2020-01-30 20:06:15 +10:00
Connor McLaughlin
0b7abf244e
Timers: Fix sync mode 3 inverted condition
2020-01-30 16:22:05 +10:00
Connor McLaughlin
88936463d7
GPU: Toggle vblank timer gate for full frame
...
Regression from event system. Fixes Ridge Racer.
2020-01-30 16:22:05 +10:00
Connor McLaughlin
288b680e07
FileSystem: Add ReplaceExtension() helper
2020-01-30 16:22:05 +10:00
Connor McLaughlin
6624df1e8c
Qt: Add CPU settings/emulation speed to console settings
2020-01-29 00:01:44 +10:00
Connor McLaughlin
5272ecd572
Qt: Support binding settings to QSliders
2020-01-29 00:01:35 +10:00
Connor McLaughlin
4c59d8a9ea
Linux build fix
2020-01-24 16:44:13 +10:00
Connor McLaughlin
1b9609ef61
Implement event-based scheduler instead of lock-step components
2020-01-24 16:23:39 +10:00
Connor McLaughlin
624888e131
HostInterface: Default BIOS path to bios subdirectory
2020-01-24 14:52:12 +10:00
Connor McLaughlin
faf2308695
Settings: Move set defaults to HostInterface so it can use user paths
2020-01-24 14:52:04 +10:00
Connor McLaughlin
b5e73a0be4
HostInterface: Add helper methods for getting paths to save states/memcards
2020-01-24 14:52:03 +10:00
Connor McLaughlin
a83cad5872
GPU/D3D11: Use shader bytecode cache
2020-01-24 14:52:01 +10:00
Connor McLaughlin
82da9a4505
D3D11: Add a shader bytecode cache class
2020-01-24 14:52:00 +10:00
Connor McLaughlin
2276975d62
Qt: Implement GitHub Repository/Issue Tracker links
2020-01-24 14:51:59 +10:00
Connor McLaughlin
1ed187fd57
Qt: Add hotkey for increasing/decreasing resolution scale
2020-01-24 14:51:57 +10:00
Connor McLaughlin
40799d0f77
HostInterface: Move ModifyResolutionScale() to base class
2020-01-24 14:51:56 +10:00
Connor McLaughlin
8148486a9f
Qt: Add hotkey to toggle software rendering
2020-01-24 14:51:55 +10:00
Connor McLaughlin
4a3478b360
HostInterface: Add function to switch between sw/hw rendering
2020-01-24 14:51:53 +10:00
Connor McLaughlin
f2231d6669
HostInterface: Move setting update logic to base class
2020-01-24 14:51:52 +10:00
Connor McLaughlin
82563d94f4
HostInterface: Fix offset OSD messages in Qt frontend
2020-01-24 14:51:38 +10:00
Connor McLaughlin
687772c4da
HostDisplay: Move some derived class fields to base class
2020-01-24 14:51:36 +10:00
Connor McLaughlin
736d85b0f3
Qt: Implement display linear filtering
2020-01-24 14:51:34 +10:00
Connor McLaughlin
abf48b6cc2
Qt: Update GPU settings when enhancements are changed
2020-01-24 14:51:33 +10:00
Connor McLaughlin
f05f5aeb2b
Qt: Implement browse button for BIOS path
2020-01-24 14:51:31 +10:00
Connor McLaughlin
2694181811
Qt: Hook up HostInterface::Report{Error,Message}
2020-01-24 14:51:30 +10:00
Connor McLaughlin
19cd91a684
Qt: Fix crash on exit when boot fails
2020-01-24 14:51:28 +10:00
Connor McLaughlin
78f984c412
Qt: Add automatic download of redump disc database for game list
2020-01-24 14:51:25 +10:00
Connor McLaughlin
b937275073
Qt: Link with and copy Qt5Network library
2020-01-24 14:51:24 +10:00
Connor McLaughlin
65ae85eb7b
Qt: Skeleton for audio settings
2020-01-24 14:51:13 +10:00
Connor McLaughlin
c5faa36f43
GameList: Add function to query whether database exists
2020-01-24 14:51:12 +10:00
Connor McLaughlin
f6fee86f1c
HostInterface: Create user directories on startup
2020-01-24 14:51:10 +10:00
Connor McLaughlin
b4c06fdcc6
GameList: Auto set cache/database path from user directory
2020-01-24 14:51:09 +10:00
Connor McLaughlin
feb48899c3
Qt: Don't double-create game list
2020-01-24 14:51:07 +10:00
Connor McLaughlin
77b282862f
HostInterface: Move running title info to System
2020-01-24 14:51:05 +10:00
Connor McLaughlin
b3db3a1cc0
HostInterface: Share settings between SDL and Qt frontends
2020-01-24 14:51:03 +10:00
Connor McLaughlin
2c3a0a6af9
HostInterface: Change working directory to user directory at startup
2020-01-24 14:51:02 +10:00
Connor McLaughlin
53428cb55b
HostInterface: Add user directory helpers
2020-01-24 14:51:00 +10:00
Connor McLaughlin
7afb79aee6
Common: Add FileSystem::{Get,Set}WorkingDirectory functions
2020-01-24 14:50:58 +10:00
Connor McLaughlin
de4e45a433
Common: Add a function to get the path to the running program
2020-01-24 14:50:57 +10:00
Connor McLaughlin
9456dc5d9b
Qt: Power off system correctly when exiting
2020-01-24 14:50:56 +10:00
Connor McLaughlin
069bdd471c
Qt: Stub saving resume state when powering off
2020-01-24 14:50:54 +10:00
Connor McLaughlin
0200b9ffc1
Qt: Hook up 'Add Game List Directory' function
2020-01-24 14:50:53 +10:00
Connor McLaughlin
98eb71aa3f
Qt: Fix extra margins in pad settings panel
2020-01-24 14:50:52 +10:00
Connor McLaughlin
1cdd4e01fb
Qt: Reorder settings categories
2020-01-24 14:50:51 +10:00
Connor McLaughlin
8d4d8e44e4
HostInterface: Saving state message should be OSD not error
2020-01-24 14:50:50 +10:00
Connor McLaughlin
0a5f7fcd75
System: Update running game when media changes from save state
2020-01-24 14:50:48 +10:00
Connor McLaughlin
f2d5ce74df
Qt: Fix bug where render window is not focused leaving fullscreen
2020-01-24 14:50:47 +10:00
Connor McLaughlin
20b60e0f01
Qt: Update window title/save states from running title
2020-01-24 14:50:46 +10:00
Connor McLaughlin
82b4229f1b
GameList: Move entry to global scope so it can be forward declared
2020-01-24 14:50:44 +10:00
Connor McLaughlin
183928b0f6
Qt: Skeleton of load/save state menus
2020-01-24 14:50:42 +10:00
Connor McLaughlin
1998aa96a4
Qt: Simplify Change Disc menu logic
2020-01-24 14:50:40 +10:00
Connor McLaughlin
69841d0a09
Qt: Move quick CPU/GPU switch to Debug menu
2020-01-24 14:49:54 +10:00
Connor McLaughlin
6737b3ec44
Qt: Drop Settings accessor from HostInterface
...
This should only be accessed on the emulation thread.
2020-01-24 14:49:53 +10:00
Connor McLaughlin
d343743768
Qt: Safer GPU renderer switching
2020-01-24 14:49:51 +10:00
Connor McLaughlin
c5282b99e1
Qt: Thread-safe QSettings access and updating
2020-01-24 14:49:49 +10:00
Connor McLaughlin
9562cbea56
Frontends: Add frame time performance counters
2020-01-24 14:49:47 +10:00
Connor McLaughlin
67710ca184
Qt: Add a signal when the game list selection is changed
2020-01-24 14:49:46 +10:00
Connor McLaughlin
99af858562
Qt/GameList: Fix incorrect game booting when sorted
2020-01-24 14:49:44 +10:00
Connor McLaughlin
bfef42f4cb
GPU: Fix possible driver crash on oversized update/fill
2020-01-23 00:01:05 +10:00
Connor McLaughlin
d2db6bf9c3
Common/Rectangle: Add clamp methods
2020-01-22 23:57:12 +10:00
Connor McLaughlin
a5135ceeb0
GameList: Fix incorrect loading of cache
2020-01-22 17:56:58 +10:00
Connor McLaughlin
a832138191
Settings: Add missing Cubeb entry to audio backend names
2020-01-21 21:27:29 +10:00
Connor McLaughlin
8096dc510d
Settings: Add missing load/store of GPU/ForceProgressiveScan
2020-01-21 21:27:21 +10:00
Connor McLaughlin
ed1ac6df4a
Frontend: Fix error in swap chain ResizeBuffers()
2020-01-20 17:26:57 +10:00
Connor McLaughlin
b9538a55f5
Settings: Add option for creating a debug GPU device
2020-01-19 14:54:19 +10:00
Connor McLaughlin
8378e5ed0d
Frontend: Don't use debug D3D11 device
2020-01-19 12:24:26 +10:00
Connor McLaughlin
46033898ba
Frontends: Use DXGI_PRESENT_FLAG_ALLOW_TEARING for presentatation
2020-01-18 18:12:09 +10:00
Connor McLaughlin
159786c3f1
Common/Assert: Fix incorrect windows platform detection
2020-01-17 21:36:31 +10:00
Connor McLaughlin
25004f882e
SDL: Fix multiple entries for settings being created in ini
2020-01-16 14:36:31 +10:00
Connor McLaughlin
504510c242
GPU: Fix reading of write-combined GPU buffers
...
+100fps in recompiler modes
2020-01-16 14:36:10 +10:00
Connor McLaughlin
0861a1e579
Common: Remove unused type declarations
2020-01-13 12:01:39 +10:00
Connor McLaughlin
4de82bda6d
Linux build for cubeb
2020-01-12 15:17:15 +10:00
Connor McLaughlin
28efc50a04
Qt: Fix worker thread lockup on shutdown
2020-01-11 14:21:08 +10:00
Connor McLaughlin
1911ab2e1c
CubebAudioStream: Initialize COM on Windows if it isn't already initialized
2020-01-11 14:20:51 +10:00
Connor McLaughlin
d52d6252a9
Qt: Remove QAudioOutput-based audio stream
2020-01-11 14:04:58 +10:00
Connor McLaughlin
835bbfaea5
Merge branch 'cubeb'
2020-01-11 13:52:02 +10:00
Connor McLaughlin
8f6ac437ab
Frontends: Add cubeb as audio backend option
2020-01-11 13:51:44 +10:00
Connor McLaughlin
9586970a9f
AudioStream: Add cubeb implementation
2020-01-11 13:51:41 +10:00
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.
2020-01-11 13:40:04 +10:00
Connor McLaughlin
3e90d79df7
Pad: Fix log spam
2020-01-11 13:29:30 +10:00
Connor McLaughlin
e68e67f161
SDL: Fix log spam in Release builds
2020-01-11 13:29:22 +10:00
Connor McLaughlin
71c1e243fe
Remove YBaseLib dependency
2020-01-10 13:40:53 +10:00
Connor McLaughlin
1c2c4c8489
Qt: Fix emulation thread using 100% CPU when idle
2020-01-10 13:28:13 +10:00
Connor McLaughlin
c52040434a
Core: Linux warning fixes
2020-01-09 08:46:52 +10:00
Connor McLaughlin
06d26084fb
Frontend: Linux compile fix
2020-01-08 15:06:31 +10:00
Connor McLaughlin
2611e64459
Qt: Implement game list sorting
2020-01-08 15:01:04 +10:00
Connor McLaughlin
64426a0be2
Qt: Fix shutdown-and-restart failing in D3D11 renderer
2020-01-08 14:00:28 +10:00
Connor McLaughlin
25f55690f2
Qt: Add icons for game list entry type (disc/exe)
2020-01-08 13:50:44 +10:00
Connor McLaughlin
ecc8109d43
Qt: Show flags for region instead of text
2020-01-08 13:39:19 +10:00
Connor McLaughlin
9402c7c145
Qt: Fix double-free/crash on shutdown
2020-01-08 13:39:04 +10:00
Connor McLaughlin
048c6835e5
Qt: Don't highlight headings in game list
2020-01-08 13:38:31 +10:00
Connor McLaughlin
c03c1451fe
GameList: Support caching entries
2020-01-08 13:37:43 +10:00
Connor McLaughlin
e0086156ca
System: Compile fix for Linux
2020-01-08 13:34:21 +10:00
Connor McLaughlin
e7bebb0105
Qt: Support runtime renderer switching
2020-01-07 18:55:36 +10:00
Connor McLaughlin
c6d6b0405f
Qt: Don't create imgui.ini
2020-01-07 18:55:26 +10:00
Connor McLaughlin
d32383bd95
Settings: Don't include D3D11 renderer on non-WIN32 platforms
2020-01-07 18:54:39 +10:00
Connor McLaughlin
686df4a203
Qt: Improve imgui hidpi scaling
2020-01-07 18:52:33 +10:00
Connor McLaughlin
168eb5fe2d
Qt: Add D3D11 display window implementation
2020-01-07 15:54:44 +10:00
Connor McLaughlin
5076d7dfe8
Qt: Fix handling of display window size in hidpi
2020-01-07 14:27:48 +10:00
Connor McLaughlin
1b7be01507
Qt: Implement audio output
2020-01-07 14:18:51 +10:00
Connor McLaughlin
207c75e6eb
Qt: Implement fullscreen
2020-01-06 16:27:39 +10:00
Connor McLaughlin
87889a13e0
Qt: Properly handle modifier keys for input
2020-01-06 15:14:47 +10:00
Connor McLaughlin
6d5eca13a6
Qt: Ignore key repeat events for input
2020-01-06 14:08:15 +10:00
Connor McLaughlin
d61f12cb4e
Qt: Set focus to display window when starting
2020-01-06 14:08:00 +10:00
Connor McLaughlin
40e1b7af23
Qt: Initial hotkey implementation
2020-01-05 12:46:03 +10:00
Connor McLaughlin
0590f0935c
HostInterface: Fix compile error on Linux
2020-01-04 15:25:15 +10:00
Connor McLaughlin
d88fc20434
Qt: GPU settings tab
2020-01-03 17:51:58 +10:00
Connor McLaughlin
fbf5e7f0e3
Qt: Enable DPI scaling
2020-01-03 17:51:45 +10:00
Connor McLaughlin
bea15c97cd
Qt: ImGui support
2020-01-02 19:14:16 +10:00
Connor McLaughlin
9de0bf0aaf
HostInterface: Most some imgui logic from SDL to core
2020-01-02 19:14:06 +10:00
Connor McLaughlin
9436ffc806
Qt: Move some functionalty from OpenGLDisplayWindow into QtDisplayWindow
2020-01-02 17:45:25 +10:00
Connor McLaughlin
ac6a7bad3f
Qt: Hack for setting swap interval at runtime (currently Windows only)
2020-01-02 16:33:52 +10:00
Connor McLaughlin
b135b32159
Qt: Add config and implementation for basic controller input
2020-01-02 16:13:03 +10:00
Connor McLaughlin
eb7659368e
Qt: Add natvis file for Qt data structures
2020-01-02 16:11:22 +10:00
Connor McLaughlin
4b1541087a
Controller: Add methods to query buttons/axises for a controller type
2020-01-02 16:10:42 +10:00
Connor McLaughlin
0528a2a1f9
Settings: Put each controller in its own config section
2020-01-02 16:10:30 +10:00
Connor McLaughlin
3bdafa1932
Qt: Fix double-scanning of game list at start
2020-01-01 14:02:45 +10:00
Connor McLaughlin
77a47c87d2
Qt: Hook up console settings
2020-01-01 14:01:58 +10:00
Connor McLaughlin
62e1829ec9
Qt: Fix recursive setting toggle in game list settings
2019-12-31 16:40:24 +10:00
Connor McLaughlin
f3e9c3ec8c
Add initial work on Qt frontend
2019-12-31 16:18:30 +10:00
Connor McLaughlin
98214a9327
SettingsInterface: Add support for string list settings
2019-12-31 16:16:47 +10:00
Connor McLaughlin
dbf651e493
CPU/Interpreter: Remove redundant comparison in divu instruction
2019-12-31 11:41:52 +10:00
Connor McLaughlin
0f1f5a4f49
Settings: Define an abstract settings retrieval interface
...
Can be used by both Android and Qt to access their platform-dependent
formats.
2019-12-30 21:22:49 +10:00
Connor McLaughlin
6176fc4486
NullAudioStream: Provide factory function
2019-12-30 00:45:50 +10:00
Connor McLaughlin
e66214d93e
GameList: Fix non-recursive scanning
2019-12-30 00:45:37 +10:00
Connor McLaughlin
0639f4264f
DMA: Delay GPU transfers by block count
...
Needs real GPU timings, but fixes NFS5 in the meantime.
2019-12-29 15:34:07 +10:00
Connor McLaughlin
41cf894488
GPU/HW: Fix readback of odd transfer widths
...
Fixes character model flailing and crash in FF9.
2019-12-28 15:50:37 +10:00
Connor McLaughlin
d118377c9e
CPU/Recompiler: Reduced forced PC flushes
2019-12-28 14:04:15 +10:00
Connor McLaughlin
620284f7d1
CPU/Recompiler/AArch64: Use PC-relative branches to far code
2019-12-27 20:38:07 +10:00
Connor McLaughlin
9f45c67b1d
JitCodeBuffer: Fix compilation on AArch64
2019-12-27 20:38:07 +10:00
Connor McLaughlin
29355bc44d
CPU/Recompiler: Move branch codegen to base class
2019-12-27 20:38:07 +10:00
Connor McLaughlin
aabe5b9287
CPU/Recompiler: Add GetCurrentCodePointer()
2019-12-27 20:38:07 +10:00
Connor McLaughlin
390b6da0b8
CPU/Recompiler: Add unconditional EmitBranch
2019-12-27 20:38:07 +10:00
Connor McLaughlin
4f2c1e1a6b
CPU/Recompiler: Add EmitBindLabel and EmitBranchIfBitClear
2019-12-27 20:38:07 +10:00
Connor McLaughlin
03a36645a2
Settings: Save fullscreen setting to ini
2019-12-27 20:38:07 +10:00
Connor McLaughlin
5bb2b3ec63
Frontend: Add audio backend to settings (switch-while-running)
2019-12-27 20:38:07 +10:00
Connor McLaughlin
0eab6435fe
Frontend: Use configured audio backend when creating stream
2019-12-27 20:38:07 +10:00
Connor McLaughlin
16317d077e
Settings: Add audio backend, move sync settings to Display/Audio
2019-12-27 20:38:07 +10:00
Connor McLaughlin
ed7aabe5f2
Common: Add a NullAudioStream implementation
2019-12-23 17:02:11 +10:00
Connor McLaughlin
c8d3b2c546
GPU/Software: Use templates for render functions
2019-12-22 19:34:24 +10:00
Connor McLaughlin
a1b52980e2
GPU: Implement line renderering in software renderer
2019-12-22 18:53:20 +10:00
Connor McLaughlin
ad93d83421
JitCodeBuffer: Don't leak code space on Windows
2019-12-21 22:09:08 +10:00
Connor McLaughlin
decf416aee
JitCodeBuffer: Expose FlushInstructionCache() to callers
2019-12-20 21:55:25 +10:00
Connor McLaughlin
1de096224c
JitCodeBuffer: Fix far code pointer not being initialized without reset
2019-12-20 21:55:21 +10:00
Connor McLaughlin
ad21f48a67
Fix Android build after controller changes
2019-12-16 16:46:43 +10:00
Connor McLaughlin
52c82b6aa3
Pad: Change controller types when loading states if needed
2019-12-16 00:05:48 +10:00
Connor McLaughlin
0df741a799
Frontend: Disable controller input for navigating UI
...
It seems to interfere too much with normal gameplay.
2019-12-16 00:05:33 +10:00
Connor McLaughlin
6f7154fbef
Frontend: Rumble support
2019-12-15 23:24:34 +10:00
Connor McLaughlin
cbcb9b02b0
AnalogController: Rumble support
2019-12-15 23:22:53 +10:00
Connor McLaughlin
1d2bd11b02
Frontend: Add controller settings
2019-12-15 22:24:27 +10:00
Connor McLaughlin
a347b3606e
Implement support for analog controllers
2019-12-15 21:58:27 +10:00
Connor McLaughlin
e4595992a5
Frontend: Fix crash in controller input
2019-12-15 21:58:10 +10:00
Connor McLaughlin
6e18e56089
Controller: Support general axis input events
2019-12-15 00:32:55 +10:00
Connor McLaughlin
32d8b4dc84
Frontend: Dynamic button mapping based on controller type
2019-12-15 00:17:43 +10:00
Connor McLaughlin
c65279f944
System: Create controllers dynamically based on config
2019-12-14 23:29:26 +10:00
Connor McLaughlin
ea0845d5ad
Move controller creation to System class, switch shared_ptr to unique_ptr
2019-12-14 23:20:24 +10:00
Connor McLaughlin
5fd421860a
GameList: Support detecting region from system area of CDROM
...
More accurate than basing it off the code, and better support for
homebrew discs.
2019-12-13 16:51:40 +10:00
Connor McLaughlin
f77721b84d
CPU/Recompiler: Fix "jalr t0, t0" and like instructions (mainly AArch64)
2019-12-13 14:36:41 +10:00
Connor McLaughlin
5e5b1b64db
CPU/Recompiler: Incorporate latest work into AArch64 backend
2019-12-13 01:25:05 +10:00
Connor McLaughlin
44c76f3bf3
CPU/Recompiler: Support three-operand basic operations
...
e.g. add r1, r2, r3. This eliminates the extra move on ARM.
2019-12-13 00:51:41 +10:00
Connor McLaughlin
41298a74e1
CPU/Recompiler: Fetch instruction before dispatching interrupts
...
Fixes polygon glitches in Crash.
2019-12-12 23:55:42 +10:00
Connor McLaughlin
aa52dbfeb8
CPU/Recompiler: Use register cache for managing pc
...
Reduces the number of loadstores after each instruction.
2019-12-12 23:55:23 +10:00
Connor McLaughlin
002d1cd4fd
CPU/CoreCache: Use virtual (unmasked) address as PC
2019-12-12 20:23:53 +10:00
Connor McLaughlin
a267451614
CPU/Recompiler: Remove unused code
2019-12-12 20:17:52 +10:00
Connor McLaughlin
20c7aaf74b
CPU/Recompiler: Support pushing/popping the register cache state
2019-12-12 20:15:54 +10:00
Connor McLaughlin
1905d22a9a
CPU/Recompiler/AArch64: Fix potential stack corruption in function calls
2019-12-12 02:38:03 +10:00
Connor McLaughlin
18066239b7
CPU/Recompiler: Fix bad codegen on slti where rd==rs
2019-12-12 00:00:48 +10:00
Connor McLaughlin
aafac96f34
CPU/Recompiler: Linux/Android compile fix
2019-12-11 22:54:22 +10:00
Connor McLaughlin
37933e9678
CPU/Recompiler: Read GTE registers directly from struct
2019-12-11 22:33:54 +10:00
Connor McLaughlin
b0eb8074f5
CPU/Recompiler: Implement lwc2/swc2
2019-12-11 22:04:11 +10:00
Connor McLaughlin
a5afb250ea
CPU/Recompiler: Don't require fallback for GTE instructions
2019-12-11 21:54:08 +10:00
Connor McLaughlin
a6dab97928
CPU: Simplify GTE register addressing
2019-12-11 21:44:26 +10:00
Connor McLaughlin
4e7d420a06
CPU/Recompiler: Implement mfc0/mtc0/rfe
2019-12-11 20:50:55 +10:00
Connor McLaughlin
f5d65448d6
GPU: Improve structure alignment
2019-12-11 20:28:14 +10:00
Connor McLaughlin
8f624afb59
GPU: Fix handling of GP1(09h)
2019-12-11 16:47:49 +10:00
Connor McLaughlin
ffe90083d3
GPU: Refactor draw mode setting
2019-12-11 16:35:14 +10:00
Connor McLaughlin
cda2394287
System: Fix loading of EXEs with sp=0 (leave unchanged)
2019-12-11 16:34:56 +10:00
Connor McLaughlin
bf44f72169
Frontend: Remove unused texture for icon
2019-12-11 00:06:44 +10:00
Connor McLaughlin
6f78fea159
GL: Improve error handling with texture creation
2019-12-11 00:02:12 +10:00
Connor McLaughlin
05e6d4c401
GPU/OpenGL: Clean up VAOs at shutdown time
...
These were leaking before.
2019-12-10 23:37:01 +10:00
Connor McLaughlin
152b56c8cc
GPU: Fix mask bit setting on non-textured polygons
...
Fixes garbled colours in FMVs in some games.
2019-12-10 23:27:41 +10:00
Connor McLaughlin
0d293c4be4
Settings: Disable fast boot and TTY output by default
...
The latter can cause crashes in some games.
2019-12-10 23:06:45 +10:00
Connor McLaughlin
56b87f33c0
Controller: Linux build fix
2019-12-10 23:05:19 +10:00
Connor McLaughlin
df6e079920
GPU: Add a Force Progressive Scan option (disable interlacing)
2019-12-10 22:52:46 +10:00
Connor McLaughlin
fb0aad0917
System: Include SIO in save state
2019-12-10 00:28:58 +10:00
Connor McLaughlin
89e9373037
Controller: Add a set-button interface in base class
2019-12-09 01:06:58 +10:00
Connor McLaughlin
da14b10e72
Split MemoryCard and PadDevice (now Controller)
2019-12-09 00:52:00 +10:00
Connor McLaughlin
c1710482df
Pad: Add button name -> code lookup functions
2019-12-09 00:46:04 +10:00
Connor McLaughlin
8930383c96
GPU: Use start address in computation of drawing_even_line
2019-12-08 00:40:52 +10:00
Connor McLaughlin
42ee55ae17
CDROM: Seek to start of first track on stop
...
Fixes WipEout crashing after track selection.
2019-12-07 21:09:30 +10:00
Connor McLaughlin
315f2b701a
Stub out SIO controller
...
Fixes WipEout booting.
2019-12-07 21:09:04 +10:00
Connor McLaughlin
67c67bbb66
GPU: Add basic texture filtering support
...
Still has issues around the edges of text.
2019-12-07 17:03:56 +10:00
Connor McLaughlin
c284d3835f
GPU: Add a simplified OpenGL ES renderer
...
Seems this is the only way to get semi-decent performance out of Mali
drivers :/
2019-12-07 01:37:37 +10:00
Connor McLaughlin
b53e32e84f
GL/Program: Add IsBound() method
2019-12-07 01:36:14 +10:00
Connor McLaughlin
8d7b93766d
MemoryCard: Fix incorrect checksum after formatting
...
Fixes memory cards not working in the BIOS.
2019-12-07 00:03:05 +10:00
Connor McLaughlin
54277dc24f
Pad: Update status after ACK
2019-12-07 00:02:47 +10:00
Connor McLaughlin
c1e9617c77
Frontend: Disable KHR_debug for speed
2019-12-06 21:57:24 +10:00
Connor McLaughlin
36fbc4523d
CDROM: Skip reading sectors which have an invalid SubQ checksum
...
i.e. libcrypt support
2019-12-06 21:15:04 +10:00
Connor McLaughlin
bc44d4b1b0
CDImage: Support SBI replacement subchannel Q for cue/bin images
2019-12-06 21:14:58 +10:00
Connor McLaughlin
53621bd3eb
CDROM: Fix clipping when combined left/volume volume > 0x80
2019-12-06 00:33:46 +10:00
Connor McLaughlin
d41a76ac5e
CDImage: Fix incorrect file offset being used for pregap
2019-12-06 00:33:21 +10:00
Connor McLaughlin
4798f35e40
Pad: Delay ACK after receiving byte
...
The controller routines in the BIOS seem to depend on this, if they
happen at the same time depending on what part of the code it was in,
it'll assume no controller is connected.
2019-12-05 23:03:56 +10:00
Connor McLaughlin
9fa8eb239e
CPU: Force-inline some accessor functions
2019-12-05 23:02:03 +10:00