Commit graph

7946 commits

Author SHA1 Message Date
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
7d379952f1 [3PP] RAPIDJSON_SSE42 2025-08-12 12:41:31 -07:00
Margen67
8b6cb9c287 [Premake, 3PP] Formatting/cleanup 2025-08-11 21:03:31 -07:00
Margen67
dabce2bcb8 [xb] Always use x64 clang-format on Windows 2025-08-11 12:59:48 -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
Margen67
04adfffa35 [CI] Fix releases (again) 2025-08-08 11:58:07 -07: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
Margen67
833f938a64 [premake] Formatting, cleanup 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
Gliniak
ada971aefc [Emulator] Resume should resume threads that are paused, not running 2025-08-03 20:40:30 +02:00
Gliniak
e7e3cfc7fb [XThread] Fixed issue with incorrect thread state caused by invalid suspend count 2025-08-03 20:40:30 +02:00
Gliniak
2969a04145 [Kernel] Added support for loading modules before main 2025-08-03 20:40:30 +02:00
Gliniak
70364e73ae [XAM] Added option to remove titles with 0 achievements unlocked 2025-08-03 19:29:02 +02:00
The-Little-Wolf
4e8e789876 [XAM/UI] - Stubbed XamShowSigninUIEx and XamShowNuiSigninUI
- Add XTT file header
- partially implemented XamShowSigninUIEx & XamShowNuiSigninUI
- add flags for XamShowCreateProfileUI, exXamShowSigninUI, and XamUserLogon
- Define sign in states
- Add undefined params
2025-08-01 08:06:10 +02:00
guccigang420
9ae3a72500 [CPU/HIR] Fixed MulHi in value.cc for Linux systems 2025-07-30 23:47:17 +03:00
Margen67
43d206d2e9 [premake] More cleanup 2025-07-29 12:02:49 -07:00
Margen67
3b3c41ab2a [tools/build/premake.py] Formatting 2025-07-29 01:46:45 -07:00
Margen67
7f7e4fd381 chmod +x 2025-07-29 00:08:50 -07:00
Margen67
ff29ceabb4 [CI] Windows is stupid 2025-07-28 23:58:17 -07:00
Margen67
4a5f63650d Add .py file extension to Python 2025-07-28 23:54:52 -07:00
Margen67
03c0e70f8b [premake] Remove unneeded defines 2025-07-28 17:26:06 -07:00
Margen67
6b384dfe52 [xb] Fix xb.bat 2025-07-28 16:47:35 -07:00
Margen67
a10ca517a6 [CI] Run xenia-build directly 2025-07-28 11:29:57 -07:00
Margen67
0b81604633 [xb] Remove useless version check
The version is already checked in xenia-build.
Add an actually useful 64-bit check.
2025-07-28 11:02:01 -07:00
Gliniak
fe0e18466f [XThread] Changed behaviour for threads requesting Yield with non-alertable state 2025-07-27 19:20:44 +02:00
Adrian
4702bfb94c [XBDM] Cleanup Stubs 2025-07-27 18:57:19 +02:00
Adrian
a717c0cd9f [Kernel] Implemented RtlDowncaseUnicodeChar 2025-07-27 18:05:58 +02:00
Margen67
c3e4a93c0a [xb] Get latest fxc, fix clang-format version 2025-07-27 02:46:43 -07:00
Margen67
f36dbd2b33 [3PP] Switch to zlib-ng 2025-07-27 02:46:43 -07:00
Margen67
4b9509391a [3PP] Upgrade snappy to 1.2.2 2025-07-27 02:46:43 -07:00
Margen67
25d6f8269a [premake] Cleanup 2025-07-27 02:46:43 -07:00
Adrian
7fec549552 [XAM] Implemented XamTaskCloseHandle 2025-07-27 00:35:10 +02:00
Gliniak
8a1188090f [Kernel] Fixed compilation 2025-07-26 22:35:47 +02:00
The-Little-Wolf
39621ddec8 [KERNEL] - Replacing Unk
- Changes here are from Chrispy's Nukernel
2025-07-26 22:27:21 +02:00
The-Little-Wolf
31173107bc kXNotification - adding more
- Added more kXNotification ids
- Added missing Notification to XMPCreateTitlePlaylist
2025-07-26 21:58:57 +02:00
Gliniak
4182852a4b [Base] Split of xbox.h file
- Splitted into: kernel.h and xam.h
- Removed UpdateSpaData from KernelState into ContentManager
2025-07-26 21:25:32 +02:00
Adrian
c4e86cfd2b [XAM] Cleanup XamGetOverlappedResult 2025-07-24 23:29:46 +02:00
Adrian
f66ab091c1 [XAM] Implemented XamGetCachedTitleName 2025-07-24 20:45:00 +02:00
Adrian
d9092fb232 [XAM] Cleanup XEnumerateCrossTitle 2025-07-23 23:05:35 +02:00
The-Little-Wolf
c83522060e [XBOXKRNL/XCONFIG] - Properly set PC values
- Adding PC Related flags
- set correct size of XCONFIG_USER_PC_HINT
2025-07-23 21:46:49 +02:00