Commit Graph

6912 Commits

Author SHA1 Message Date
Herman S.
f4b471d000 [App] ensure InitFeatureFlags is called after cvar parsing
Fixes x64_exension_mask being applied
2025-10-21 14:23:58 +02:00
Adrian
a1a33b9939 [UI] Set ImGUI clipboard functions to GTK implementations 2025-10-18 21:41:27 +02:00
Adrian
38ad9bf342 [Kernel] Fixed NtYieldExecution
Fixed Ninja Gaiden 3 stuck exiting challenge trials
2025-10-17 22:40:52 +02:00
Gliniak
2cd35e8dd6 [Kernel] Remove sending tray state change notification when game is booted
- Games do not expect changing disc on boot it should happen when you're in dashboard
2025-10-17 20:24:33 +02:00
Gliniak
777c394e25 [Kernel] Added VdQueryRealVideoMode 2025-10-17 09:24:06 +02:00
Gliniak
7f359f3654 [Kernel] Skip (again) initialization of XAM executable 2025-10-16 21:00:19 +02:00
The-Little-Wolf
3dc8130ed6 [XAM/CONTENT] - Add Missing returns and functions
- Add missing return values to XamContentCreateEx & XamContentCreateInternal
- Add Struct of XCONTENT_DATA_INTERNAL
- Properly implement XamProfileOpen
- Stub XamContentGetDeviceVolumePath
2025-10-14 21:54:36 +02:00
Herman S.
d430342d93 [Vulkan] Add resolution scaling support to Vulkan backend.
Largely similar to D3D12 implementation but more simple buffer
management and no mips scaling. Includes both FBO and FSI
rendering paths.

Tested on Linux with 2x2 and 3x3 running smoothly.
2025-10-14 19:08:06 +02:00
The-Little-Wolf
2de1b0b2dd [XAM/INFO] - Implement XamGetDashBackstackData
- Implement XamGetDashBackstackData
2025-10-14 13:00:44 +02:00
Gliniak
e27b1d1cb5 [UI] Fixed issues with ImGui on Vulkan and few ASAN issues related to ImGui
- Simplified handling of notifications to faster version with ranges
- Removed usage of STB sprintf on checked due to ASAN violation
- Draw ImGui windows only when they're not in close_pending state
2025-10-13 22:08:52 +02:00
Gliniak
f7ed633960 [XAM] Reverted UI open/close notifications to version before introduction of controller input.
- This should fix all strange issues with frozen titles after closing popups
2025-10-12 11:05:21 +02:00
Gliniak
62439cc24e [UI] Restored notification sending on window open/close 2025-10-11 22:59:32 +02:00
Gliniak
6d28a56911 [XAM] Fixed lack of UI notification for headless notifications.
- Fixes regression introduced in previous commit
- Fixed issue with multiple input if certain UI is active
2025-10-11 19:18:19 +02:00
Gliniak
9054a29483 [UI] Add simple support for controller usage in UI
- Disabled unnecessary hotkeys thread when it is not used
- Removed problematic xam_exports static initialization
- Moved xam_dialogs_shown_ and xam_nui_dialogs_shown_ to XamState
2025-10-10 21:22:16 +02:00
Gliniak
2e9c459846 [Kernel] Fixed issue with WINE crash while opening played titles or achievements tab 2025-10-08 11:16:07 +02:00
The-Little-Wolf
703531d541 [Xam/Profile] - XamProfileCreate
- XamProfileCreate & XamProfileGetCreationStatus improvements
2025-10-06 07:59:19 +02:00
Adrian
fdbf22502d [XAM] Added util functions to check gamer picture type 2025-10-05 12:27:29 +02:00
Herman S.
3e6a74be13 Ensure runtime directories are created in storage_root()
At the moment they end up wherever the command is run from on linux
or exe directory on Windows, which ignores the "portable" install
mechanism
2025-10-05 11:59:40 +02:00
Herman S.
3e89d53854 Fix menu hotkeys in Linux UI 2025-10-05 11:35:18 +02:00
Gliniak
2116660722 [UI] Added some missing glyphs that might be used in text 2025-09-30 18:29:40 +02:00
The-Little-Wolf
41b412fa76 [Xam/XMP App] - Clean up & improvements
- Clean up xmp app
- XMPGetTitlePlaylistBufferSize now returns proper errors
- Implement XMPGetDashInItState
- Add missing xnotifications
2025-09-27 09:35:49 +02:00
Herman S.
8545fe755e [UI] Add JP font loading on linux.
Fixes JP title display in Profile/Show Played Titles
2025-09-26 07:38:36 +02:00
The-Little-Wolf
af7d7fd951 [Xam/Avatar] - Allow avatar initialization
- Let user allow avatar initialization
- fixes games that require it to access gameplay e.g.) A Kingdom for Keflings
2025-09-24 21:19:05 +02:00
Adrian
bb740af7f9 [XAM] Fixed XamShowSigninUI ImGUI assert 2025-09-24 20:08:38 +02:00
Adrian
fdd786d226 [XAM] Fixed returned error codes in XamUserReadProfileSettingsEx 2025-09-24 19:40:08 +02:00
Adrian
e05b934eca [APP] Added force_mount_devkit to config 2025-09-20 22:11:56 +02:00
Adrian
8d03766d03 [UI] Fixed GTK from propagating lowercase input to ImGUI 2025-09-14 09:54:34 +02:00
Herman S.
4d1380decb Fix hotkey processing locking issue.
Rather than manually release the lock inside the loop, which breaks RAII
and introduces undefined behavior, we separate the controller state gathering
operation from the rumble hotkey processing loop. The lock lifecycle
is now automatically managed by scope.

On a side note, with multiple controllers connected this would probably
have become clear that it's broken sooner but I guess that's not a very
common use case.
2025-09-13 18:48:59 +02:00
Margen67
765073021a [CPU/XEX] Use fmt to make hash string, check size 2025-08-22 06:22:07 -07:00
Margen67
a4154b236b [CI, premake] Make some submodules optional 2025-08-22 06:22:07 -07:00
Margen67
fa8c19edbd [premake, xb] Moar cleanup 2025-08-22 06:22:07 -07:00
Adrian
e66028f0ff [Kernel] Check XAM is attached using bounding path 2025-08-18 07:41:50 +02:00
Adrian
a9fb32a2fd [GPU] More post merge fixes 2025-08-15 22:38:56 +02:00
Adrian
3ba63e05ac [XAM] Fixed crash due to missing XELOGW arguments in user tracker 2025-08-15 22:38:37 +02:00
Adrian
e45f547a49 [Kernel] Prevent $flash_xam from initialization while loading dashboard 2025-08-15 22:38:25 +02:00
Triang3l
9fac0c0b5d [Vulkan] Fix VulkanInstance::Create return values 2025-08-15 18:07:10 +02:00
Gliniak
419c0149c9 [Base] Post merge fixes 2025-08-15 18:06:57 +02:00
Gliniak
c4bd676c5e Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2025-08-15 15:37:50 +02:00
Triang3l
b5432ab83f [Vulkan] Refactoring and fixes for VulkanProvider and related areas
Enable portability subset physical device enumeration.

Don't use Vulkan 1.1+ logical devices on Vulkan 1.0 instances due to the
VkApplicationInfo::apiVersion specification.

Make sure all extension dependencies are enabled when creating a device.

Prefer exposing feature support over extension support via the device
interface to avoid causing confusion with regard to promoted extensions
(especially those that required some features as extensions, but had those
features made optional when they were promoted).

Allow creating presentation-only devices, not demanding any optional
features beyond the basic Vulkan 1.0, for use cases such as internal tools
or CPU rendering.

Require the independentBlend feature for GPU emulation as working around is
complicated, while support is almost ubiquitous.

Move the graphics system initialization fatal error message to xenia_main
after attempting to initialize all implementations, for automatic fallback
to other implementations in the future.

Log Vulkan driver info.

Improve Vulkan debug message logging, enabled by default.

Refactor code, with simplified logic for enabling extensions and layers.
2025-08-14 23:44:21 +03:00
Margen67
8b6cb9c287 [Premake, 3PP] Formatting/cleanup 2025-08-11 21:03:31 -07:00
Margen67
81b972f329 [Base, premake] Cleanup
date has detected _MSVC_LANG for a while, so HAS_UNCAUGHT_EXCEPTIONS isn't needed.
2025-08-10 06:06:59 -07:00
Margen67
995c105c1c [Base] Don't hardcode UTF_CPP_CPLUSPLUS 2025-08-10 06:01:43 -07:00
Margen67
6941b69691 [Base] Remove unneeded if
C++20 is required to build and this didn't work for Windows since it didn't account for _MSVC_LANG.
2025-08-10 04:38:33 -07:00
The-Little-Wolf
64b7695f52 [Kernel] - restrict kXNotificationLiveConnectionChanged to startup
- allow for dashboard to show achievements and themes again.
2025-08-08 22:44:28 +02:00
Gliniak
06456c20fc [Kernel] Prevent real XAM from initialization while loading dashboard 2025-08-08 22:05:24 +02:00
Gliniak
a871079ee0 [XAM] Added config option to enable stereoscopic mode in titles 2025-08-07 20:14:52 +02:00
Gliniak
e9b2464254 [XAM] Fixed issue with Content not being close due to upper-lower characters difference.
- Added string_key_insensitive
2025-08-06 22:46:20 +02:00
Triang3l
a06be03f1b [GPU] Cleanup definitions of some registers
VS/PS_NUM_REG is 6-bit on Adreno 200, and games aren't seen using the
bit 7 to indicate that no GPRs are used. It's not clear why Freedreno
configures it this way.

Some texture fetch fields were deprecated or moved during the development
of the Xenos, reflect that in the comments.

Add definitions of the registers configuring the conversion of vertex
positions to fixed-point. Although there isn't much that can be done with
it when emulating using PC GPU APIs, there are some places in Xenia that
wrongly (though sometimes deliberately, for results closer to the behavior
of the host GPU) assume that the conversion works like in Direct3D 10+,
however the Xenos supports only up to 4 subpixel bits rather than 8. The
effects of this difference are largely negligible, though.

Also add more detailed info about register references and differences from
other ATI/AMD GPUs for potential future contributors.
2025-08-06 13:21:19 +03:00
Margen67
10f2b5ebfc Imgui stuff 2025-08-03 19:51:32 -07:00
Gliniak
37e3fe9eb6 [D3D12] Default to RTV on Intel ARC GPUs 2025-08-03 22:26:39 +02:00