Commit Graph

7957 Commits

Author SHA1 Message Date
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
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