Commit Graph

7992 Commits

Author SHA1 Message Date
Gliniak
dc151eb439 [Emulator] Fixed media and font loading on linux.
Caused by treating guest path as host path
2025-10-27 14:17:01 +01:00
The-Little-Wolf
5d01ac0c45 [XAM/CONTENT] - Add missing flags to XCONTENT_DATA_INTERNAL
- add missing XCONTENT_DATA_INTERNAL  flags
2025-10-24 20:48:47 +02:00
Gliniak
7d8ac86f6c [CPU] Do not return error code from unimplemented overflows checks
Debug assertion and log message still appears
2025-10-24 19:31:19 +02:00
Herman S.
ac00d09244 [Memory] Ensure writecombine buffers are writable 2025-10-24 09:59:23 +02:00
Adrian
88527a0b82 [XAM] Return pending in XamUserContentRestrictionCheckAccess 2025-10-24 09:23:24 +02:00
Herman S.
4644657e83 [Vulkan] Implement readback_resolve for vulkan 2025-10-23 07:54:38 +02:00
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
dd15565bee [BUILD] Fixed parsing environment variables
This fixes the git command: git rebase --exec "py xenia-build.py setup" HEAD~1
2025-10-05 12:49:59 +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
b56c56faee [premake] Only define ZSTD_DISABLE_ASM on non-MSVC
MSVC doesn't compile with BMI(2) by default so there's no point.
DYNAMIC_BMI2 needs to be defined to enable it, but it's disabled since it bloats binary 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
a4f91d8758 [CI] Cache Premake on Linux
Update Linux_build.yml
2025-08-22 06:22:07 -07:00
Margen67
fa8c19edbd [premake, xb] Moar cleanup 2025-08-22 06:22:07 -07:00
Margen67
f73b00a620 Remove unused icons 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
Margen67
cbde83b912 Update Premake to 5.0-beta7 2025-08-15 20:51:48 +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