Commit Graph

83 Commits

Author SHA1 Message Date
Stenzek 80675399aa Misc: Various cleanup
Move files from Frontend directory to pcsx2 and/or subdirectories.
Get rid of double GS init.
Combine HostSettings and Host.
Combine Frontend/Achievements.h and Achievements.h.
2023-05-13 07:12:12 +01:00
Stenzek befbf57191 GS: Refactor exclusive fullscreen yet again
Also acquire render window as late as possible.
Limits the duration that the main window isn't displaying anything.
2023-04-26 16:00:39 +01:00
Stenzek abc0f99ddd Qt: Move themes to its own file
It's getting a bit out of hand.
2023-04-25 21:53:30 +01:00
Stenzek 3cae728aba Qt: Recreate new window immediately when switching APIs 2023-04-08 12:42:34 +02:00
Stenzek 398cf43782 GS: Combine HostDisplay with GSDevice
GS/DX11: Don't throw bad_alloc on surface creation fail

GS: Link device and host display construction/destruction

FullscreenUI: Replace HostDisplayTexture with GSTexture

GS: Purge HostDisplayTexture

GS: Move everything in HostDisplay to GSDevice

GS: Move ImGui rendering to GSDevice

GS: Get rid of reset/store API state
2023-04-06 08:48:07 +01:00
refractionpcsx2 77f8a0f5f6 Counters: Retool UpdateVSyncRate 2023-04-06 08:47:35 +01:00
Stenzek 7cdcfd4b1a Qt: Remove backup AppImage on next launch 2023-03-21 13:48:50 +00:00
Stenzek 520320535e Qt: Clear all keyboard bind states when focus is lost 2023-03-02 15:49:04 +00:00
Stenzek c7352d9e10 GS: Attempt to recreate device if GPU crashes 2023-02-11 15:33:55 +00:00
Ziemas e1d6dfc324 Add command line boot and debug option 2023-02-04 12:30:07 +00:00
Stenzek f447aded57 Qt: Better handle VM-requesting-shutdown case
This was a bit wonky in batch mode before. Now all possible exit paths
close the application at the same point.
2023-01-28 13:40:55 +00:00
Stenzek 1b40e4aaca Qt: Fix -nogui/-batch closing 2023-01-28 02:51:02 +00:00
Stenzek 4c1d93a322 VMManager: Defer reset when running
Stops us resetting during the event test, which can leave things in a
pretty messed up state.
2023-01-25 15:51:53 +00:00
refractionpcsx2 8773ebf64b VM: Queue shutdown message when called from inside emulation. 2023-01-23 16:45:58 +01:00
Stenzek 88c1f00b62 GS: Add audio capture and custom resolution 2023-01-21 16:56:57 +00:00
arcum42 2892f629f0 build/QT: Unmute the warnings for deprecation & overloading virtuals. Fix assorted warnings. Mute 'maybe initialized' warnings. Add a policy to take care of LTO warnings in cmake. 2023-01-11 00:55:21 +01:00
Connor McLaughlin 699c3d80b7 GS: Add video dumping via ffmpeg 2022-12-22 04:27:30 +00:00
Connor McLaughlin fc14b8f0da USB: Move to Qt (with *significant* refactoring) 2022-12-18 03:47:00 +00:00
Connor McLaughlin 9da8e9280f Qt: Add disc path option for ELF game list entries 2022-12-12 13:35:37 +00:00
Connor McLaughlin 77e9938f0f GS: Manually throttle fullscreen UI rendering
Fixes rendering at thousands of FPS when pausing if FSUI is active.

Avoids flickering when recreating swap chain in vulkan on menu open,
because we're no longer doing it.
2022-12-08 09:36:41 +00:00
Connor McLaughlin 1cb10eb889 FullscreenUI: Don't clear state when switching renderers
Fixes things like the achievement summary not being displayed, or if the
pause menu is never accessed, the popups from showing at all.
2022-12-04 04:27:38 +00:00
Connor McLaughlin 038e22e5db MTGS: Make PresentCurrentFrame() callable from CPU thread
GS thread can use GSPresentCurrentFrame().
2022-11-26 16:32:39 +00:00
Connor McLaughlin f8bd4d7155 Qt: Shuffle some settings around/hide advanced by default 2022-11-24 09:46:49 +00:00
Connor McLaughlin edb9a5ba3c Qt: Add -testconfig option 2022-11-23 15:55:39 +00:00
Connor McLaughlin 0dd766cec8 Qt: Work around theme switching issue in 6.4.0
Starting in dark theme then switching to native/light would not restore
the standard palette.
2022-11-20 17:25:55 +00:00
Connor McLaughlin 5e9710a8c6 Qt: Support overriding log file on command line 2022-10-22 23:19:54 +01:00
Connor McLaughlin fb9c9cb172 Qt: Don't load confirm shutdown/render separate/etc from base 2022-10-22 10:13:40 +01:00
TellowKrinkle 8975f2d92c Qt: Add comment on ODR violation workaround 2022-10-19 15:50:43 -05:00
Connor McLaughlin e6dbd55644 Qt: Use vsync when any FSUI window is open
Fixes high GPU usage when pause menu is opened. Previously, it was fine
if you started from big picture mode, but not if you invoked it by
opening the menu.
2022-10-19 10:12:44 +01:00
Connor McLaughlin e8877daca3 Qt: Register for device notifications on Windows
That way we know when a controller is connected/disconnected, and don't
have to poll unconnected XInput controllers.
2022-10-16 14:54:38 +01:00
Connor McLaughlin bcd19dd0f5 Qt: Add Host::GetTopLevelWindowInfo() 2022-10-16 14:54:38 +01:00
Connor McLaughlin 44c8974aba GS: Set vsync based on host decision
Fixes bug where after changing settings in the big picture UI, if you
didn't have a game running, it would turn off vsync, making GPU go brr.

Also cleans up HostDisplay a bit, removing redundant parameters.
2022-10-15 15:17:06 +01:00
Connor McLaughlin 0419de4baf Qt: Add RetroAchievements implementation 2022-10-01 00:00:02 +01:00
Connor McLaughlin 1f5d672cbf Qt: Open host input method on imgui text edit
This should open virtual keyboards on devices which do not have a
physical keyboard.
2022-09-17 17:51:14 +01:00
Silent 97e4f39492 QtHost: Fix Unicode command line arguments 2022-09-17 17:51:03 +01:00
Connor McLaughlin 6810a9d593 Qt: Deduplicate interface code and reduce core coupling
This enables more code sharing between interfaces in the future (e.g.
nogui, gsrunner, etc). Eventually I'll move everything in Frontend/ to
its own project.

 - VMManager now no longer depends on anything in Frontend.
 - Moved INISettingsInterface out of Frontend.
 - Log settings can now be overridden per-game (if you really want to)..
 - Hotkeys get their own file.
2022-09-15 11:50:51 +01:00
Connor McLaughlin a228582984 Host: Add GetResourceFileTimestamp() 2022-09-09 21:21:14 +01:00
Connor McLaughlin e064e96c96 HostDisplay: Make global pointer instead of function 2022-09-09 21:21:14 +01:00
Connor McLaughlin b667236c92 Qt: Combine EmuThread.cpp and QtHost.cpp
These mostly called back between one another.
2022-09-09 21:21:14 +01:00
Connor McLaughlin e4df563811 Qt: Implement settings reset 2022-09-09 21:21:14 +01:00
Connor McLaughlin d86abebb50 VMManager: Add SetDefaultSettings()
Also removes the affinity control default for <=2 threads, best to let
the OS handle this.
2022-09-09 21:21:14 +01:00
Connor McLaughlin 1b3bf89ee8 PAD: Split set default controller and hotkey settings 2022-09-09 21:21:14 +01:00
Connor McLaughlin 05bed05afe Frontend: Add fullscreen UI implementation 2022-08-29 13:39:09 +01:00
Connor McLaughlin a19045f9d6 Host: Add ConfirmMessage() and OpenURL() 2022-08-29 13:39:09 +01:00
Connor McLaughlin cc728642ed Qt: Allow changing theme without recreating window 2022-07-24 15:42:29 +01:00
kenshen112 639552ae8f CDVD: Change CDVDaccess to CDVDcommon 2022-07-19 22:36:31 +01:00
Connor McLaughlin 06e7d6c3df Qt: Hide system console if enabled in nogui mode 2022-07-17 23:29:48 +01:00
Connor McLaughlin e87d507c0c GameList: Populate game list from cache in batch mode
Stop-gap until we make CDVD/scanning thread-safe, and can create game
list entries on demand.
2022-07-17 23:29:48 +01:00
Connor McLaughlin 5fc07180dd Qt: Add -nogui command line parameter 2022-07-17 23:29:48 +01:00
Connor McLaughlin a35990ee4c Qt: Move Main.cpp to QtHost.cpp 2022-07-17 23:29:48 +01:00