Commit Graph
314 Commits
Author SHA1 Message Date
Katharine Chui 435033e439 Avoid frame pacing issues with SDL_GetPowerInfo on linux
SDL_GetPowerInfo on linux asks upower through dbus for power
information, which can block DrawFPS in UI/DebugOverlay.cpp and in
turn the main thread. Run SDL_GetPowerInfo on another thread
instead to avoid the issue.
2026-08-19 01:33:56 +02:00
Henrik Rydgård a44c2c0bde Replace System_SendDebugOutput with a registered callback
I normally try to avoid registrations when not needed, but in this case
only headless uses this, so it's motivated.
2026-08-11 22:36:47 +02:00
Henrik Rydgård abb57c620f Adjust some log levels 2026-08-09 22:10:54 +02:00
Henrik Rydgård 07e63c345c Add SAVE_STATE to BrowseFileType 2026-08-09 19:03:08 +02:00
Henrik Rydgård c490d4ef36 Headless SDL: Add support for Vulkan rendering 2026-08-06 11:06:03 +02:00
Katharine Chui c39205496c bring back VulkanContext::SetCbGetDrawSize for linux wayland
It was removed during https://github.com/hrydgard/ppsspp/pull/21982

On Linux Wayland however this can be observed without:
34:25:550 Vulkan/VulkanContext.cpp:1401 I[G3D]: surfCapabilities_.current: -1x-1
34:25:550 Vulkan/VulkanContext.cpp:1406 I[G3D]: surfCapabilities_.current after clamp: -1x-1 min: 1x1 max: 32768x32768 computed: 1x1 cbdraw
2026-08-06 00:29:21 +02:00
Henrik RydgårdandClaude Sonnet 5 5bd1ff8066 Move remaining manual command line parsing into CmdLine.cpp
Headless.cpp, NativeApp.cpp, and SDLMain.cpp each still hand-parsed a few
argv flags directly (mount/log/state/ignore/loglevel in headless and the
app, xres/yres/dpi/scale in SDL), duplicating and in some cases conflicting
with the shared CommandLineOptions parser. Consolidate all of it into
CmdLine.cpp/.h so there's a single source of truth, and drop the now-dead
remain_argc/remain_argv filtering in SDLMain.cpp since NativeInit no longer
reads argv itself.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PfFvWzpHxErWgRhKqqSewN
2026-08-05 16:02:49 +02:00
Henrik Rydgård 16206d18ab Simplify the EmuThread API again 2026-08-05 09:48:51 +02:00
Henrik Rydgård 58c70f312a SDL: Initialize g_display before starting the EmuThread
Avoid racing between EmuThread and main thread.
2026-08-05 09:21:43 +02:00
Henrik Rydgård 5eb4772644 Minor EmuThread refactor 2026-08-05 00:15:56 +02:00
Henrik Rydgård be922eca62 Make OpenGL render thread shutdown more robust. 2026-08-04 16:44:55 +02:00
Henrik Rydgård ced24079cb Error handling cleanup, with some Claude help 2026-08-03 23:53:48 +02:00
Henrik Rydgård 72a80363d9 Update the SDL DPI handling 2026-08-03 23:26:46 +02:00
Henrik Rydgård b6d7c18f39 Try to eliminate a race condition 2026-08-03 23:09:07 +02:00
Henrik Rydgård 0f4f1d7091 More SDL GL context refactor 2026-08-03 17:52:56 +02:00
Henrik Rydgård 1c0740c4b9 SDL: Simplify graphics context fallback 2026-08-03 14:54:49 +02:00
Kevin Reinholz 20e747e594 Fix build with clang when not on a supported platform 2026-07-26 13:48:40 -07:00
Henrik Rydgård cb623f725c Get rid of the SDL-specific Vulkan graphics context 2026-07-26 19:10:46 +02:00
Henrik Rydgård 4b869a025e Move SDL stuff out of SDLVulkanGraphicsContext 2026-07-26 19:10:46 +02:00
Henrik Rydgård 3eb056ad86 Move Common/GraphicsContext.h to Common/GPU/GraphicsContext.h 2026-07-26 13:58:17 +02:00
Henrik Rydgård 6020fbcf0e Remove bad calls to ThreadStart/ThreadEnd from SDLMain.cpp 2026-07-26 13:44:53 +02:00
Henrik Rydgård 63f9d08de7 Buildfix 2026-07-26 12:14:34 +02:00
Henrik Rydgård ea3a2a2e84 Use the common EmuThread in the Android backend 2026-07-26 11:54:50 +02:00
Henrik Rydgård 7f218acc53 Change the GraphicsContext interface to be more consistent 2026-07-26 10:22:00 +02:00
Henrik Rydgård 85f8715660 Break the circular dependency caused by putting EmuThread in core using an interface 2026-07-24 15:31:42 +02:00
Henrik Rydgård 86c8e9ae68 Minor code cleanup 2026-07-24 15:31:41 +02:00
Henrik Rydgård 2489f5c581 Some CMakeLists.txt reorganization, use EmuThread from SDL 2026-07-24 15:31:41 +02:00
Henrik Rydgård afe4d5beaf Buildfixes, dependency shuffling to make things more logical 2026-07-24 14:43:34 +02:00
Henrik Rydgård 240a974e95 Remove direct dependency from Core to MacCameraHelper.mm 2026-07-24 12:06:15 +02:00
Henrik Rydgård 16c7ec390f Headless: Start taking logic out of the "HeadlessHost"
Also update some agent files
2026-07-21 11:01:48 +02:00
Henrik Rydgård 9a2342b98e SDL buildfix, headless logic fix 2026-07-20 19:18:18 +02:00
Henrik Rydgård bd25962cbe Convert more options to the new command line parser 2026-07-20 16:33:03 +02:00
Henrik Rydgård e6875fa339 More cmdline work. 2026-07-20 16:33:03 +02:00
Henrik Rydgård 717ffc9fae Buildfixes 2026-07-20 12:02:07 +02:00
Henrik Rydgård a59637975a Call the new command line parser from all backends 2026-07-20 12:02:07 +02:00
Henrik Rydgård 79f6aa57e2 Remove some redundant code from SDL mousewheel handling.
Should help #21923
2026-07-16 00:39:34 +02:00
Henrik Rydgård 993c3a9c67 Avoid accurately computing disk space on iOS and Android (where it can be slow). Add a setting. 2026-07-14 22:22:29 +02:00
Henrik Rydgård 31aad51d68 Minor SDLMain fixes 2026-06-16 11:39:24 +02:00
Henrik Rydgård 6c85a1a4b6 More SDL3 work by AI 2026-06-16 11:39:24 +02:00
Henrik Rydgård 34c2218558 SDL3 port phase 1 2026-06-16 11:39:24 +02:00
Henrik Rydgård edcc0763cb Mac buildfix 2026-06-16 11:07:08 +02:00
Henrik Rydgård 84ca42271b Quickfix for Steam Deck keyboard issue: Ask SDL not to spawn one when we ask for text input 2026-06-16 10:57:55 +02:00
Henrik Rydgård bfadd2539b Some code hardening in TextEdit view 2026-04-27 20:55:46 +02:00
Guido Cella 4413c7b10f Implement pause on lost focus on SDL
This option was Windows exclusive and this commit implements it on SDL
as well.

It is hidden on mobile devices because it makes no sense there.
2026-04-01 15:39:34 +02:00
Henrik Rydgård 2b946094a9 Warning fixes 2026-03-10 12:19:27 +01:00
Henrik Rydgård d6ca0378b6 Move DarwinFileSystemServices.mm/h to Core/Util 2026-03-07 11:35:34 +01:00
Henrik Rydgård 2052ebc60c Fix switching of audio devices on Windows.
Fixes #21337
2026-03-04 14:41:59 +01:00
BearOso 0871d53d68 Prevent starvation of window state updates with Vulkan. 2026-02-24 22:18:07 -06:00
BearOso acbb715413 Fix fullscreen bugs in SDL port.
* It needs to check for both SDL_WINDOW_FULLSCREEN *and* SDL_WINDOW_FULLSCREEN_DESKTOP
  when looking at the SDL window flags.
* Display size wasn't used when starting with fullscreen enabled in the config file.

This resolves the problems with fullscreening and sdl2-compat.
2026-02-24 21:15:33 -06:00
Henrik Rydgård 236a0acf71 Minor tweaks 2026-02-06 11:37:09 +01:00