Commit Graph

7527 Commits

Author SHA1 Message Date
Triang3l f964290ea8 [Base] Relax the system clock difference allowance in the test
Hopefully should reduce the CI failure rate, although this testing
approach is fundamentally flawed as it depends on OS scheduling.
2024-05-12 17:44:52 +03:00
Triang3l 376bad5056 [GPU] Remove register reinterpret_casts + WAIT_REG_MEM volatility
Hopefully prevents some potential #1971-like situations.

WAIT_REG_MEM's implementation also allowed the compiler to load the value
only once, which caused an infinite loop with the other changes in the
commit (even in debug builds), so it's now accessed as volatile. Possibly
it would be even better to replace it with some (acquire/release?) atomic
load/store some day at least for the registers actually seen as
participating in those waits.

Also fixes the endianness being handled only on the first wait iteration in
WAIT_REG_MEM.
2024-05-12 17:28:17 +03:00
Triang3l f0ad4f4587 [Base] Add aliasing-safe xe::memory::Reinterpret
Accessing the same memory as different types (other than char) using
reinterpret_cast or a union is undefined behavior that has already caused
issues like #1971.

Also adds a XE_RESTRICT_VAR definition for declaring non-aliasing pointers
in performance-critical areas in the future.
2024-05-12 17:28:16 +03:00
The-Little-Wolf 3ff5663f5b Fixing a typo and found unknown function
I found a missing new line in xboxkrnl_video and corrected it. I also found the name of an unknown function in xam table. Here is my source for it. https://pastebin.com/NbpVq9jG
2024-05-10 09:11:47 +02:00
Gliniak b115823735 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2024-05-10 08:59:17 +02:00
Gliniak 2ca752ce07 Revert "Optimized CONVERT_I64_TO_F64 with neat overflow trick"
This reverts commit 3ad80810b5.

Fixes broken statue animation is 454108CF
2024-05-09 20:00:03 +02:00
Triang3l a90f83d44c [Vulkan] Non-seamless cube map filtering 2024-05-05 15:20:23 +03:00
Triang3l e9f7a8bd48 [Vulkan] Optional functionality usage improvements
Functional changes:
- Enable only actually used features, as drivers may take more optimal
  paths when certain features are disabled.
- Support VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE.
- Fix the separateStencilMaskRef check doing the opposite.
- Support shaderRoundingModeRTEFloat32.
- Fix vkGetDeviceBufferMemoryRequirements pointer not passed to the Vulkan
  Memory Allocator.

Stylistic changes:
- Move all device extensions, properties and features to one structure,
  especially simplifying portability subset feature checks, and also making
  it easier to request new extension functionality in the future.
- Remove extension suffixes from usage of promoted extensions.
2024-05-04 22:47:14 +03:00
Triang3l f87c6afdeb [Vulkan] Update headers to 1.3.278 2024-05-04 19:59:28 +03:00
Triang3l 9ebe25fd77 [GPU] Declare unused register fields explicitly 2024-05-02 23:31:13 +03:00
Gliniak 5ca173cd4f [Kernel] Fixed issue with unsupported deployment type by games.
Thanks Emoose for code for checking title_id type
2024-04-26 20:21:40 +02:00
Adrian 0fcdc12cb9 [APP] Create and Extract Zarchive packages 2024-04-11 19:39:27 +02:00
Radosław Gliński 06d7a5f0a3
[UI] Fixed incorrect characters range in ImGUI 2024-04-06 19:12:32 +02:00
Gliniak 122f58c9dd [APU] Added new XMA decoder as config option. 2024-03-26 09:39:23 +01:00
Radosław Gliński 26ea81624a
[Wiki] Fixed broken CI link 2024-03-23 15:28:38 +01:00
Gliniak a966143823 [Emulator] use filesystem::file_size instead of ftell where possible 2024-03-22 11:03:34 +01:00
Gliniak c9bf44f4f4 [Emulator] Fixed ZAR loading. Thanks Adrian 2024-03-22 08:28:47 +01:00
Adrian 5efcc6a71b [Emulator] Launch file based on signature instead of file extension 2024-03-21 15:22:32 +01:00
Margen67 5eecb4e65d
[CI] Formatting 2024-03-21 06:32:31 -07:00
Gliniak 42c378db0c [CI] Removed Uplifting xma branch 2024-03-19 21:28:52 +01:00
Adrian 2385cc53a9 [Emulator] Better handling of failed device mounting 2024-03-19 09:02:36 +01:00
Adrian 6e13258ad4 [SDL] Log controller GUIDs and their mapping 2024-03-18 15:01:24 +01:00
Gliniak 61ea486481 [Emulator] Added fancy tables to view: Achievements, Properties, Contexts 2024-03-18 08:50:21 +01:00
Gliniak ce3bc101f3 [UTIL] Added remove_eol (end of line) to string_utils 2024-03-18 08:50:21 +01:00
Gliniak 9dc3127a50 [3PP] Added Tabulate for some fancy tables 2024-03-18 08:50:21 +01:00
Gliniak 4ee9fa970d [Kernel] XDBF: Removed unknown fields from: XdbfContextTableEntry 2024-03-17 19:39:50 +01:00
Gliniak 8c44649f01 [GPU] Another attempt to fix memleaks caused by depth_bias_slope_scaled 2024-03-16 19:31:00 +01:00
Gliniak 3d4bdc9023 Revert "[GPU] Resolved memory leak in RTV in pipeline creation"
This reverts commit e8dbb65fc1.
2024-03-16 11:07:45 +01:00
Gliniak 47acc310d4 [CI] Automate uplifting XMA branch
- Changed name of primary workflow
2024-03-15 18:02:52 +01:00
Gliniak e8dbb65fc1 [GPU] Resolved memory leak in RTV in pipeline creation 2024-03-15 17:38:30 +01:00
Mateusz Dukat 34ed823bfc [GPU] Change FPS limit strategy 2024-03-14 20:58:40 +01:00
Gliniak b9061e6292 [LINT] Linted files + Added lint job to CI 2024-03-12 19:19:30 +01:00
Gliniak e8afad8f8a [XAM] Fixed issue with invalid path returned in launch_data 2024-03-11 20:33:03 +01:00
Mateusz Dukat 08c740c788 Add information about available avpack video modes in config commentary
Add information about available avpack video modes in config commentary. Information based on xenia-canary wiki page. Formatted just like in `license_mask`.
2024-03-11 19:36:20 +01:00
Gliniak 1ff3dc4d10 [Kernel] Added support for custom kernel version 2024-03-05 11:33:14 +01:00
Gliniak 3e55d0048c [3PP] More 3pp Uplifts
Uplifting glslang is problematic due to changes in SPIRV handling
2024-03-03 11:47:32 +01:00
Maks 1a4746f261 [GPU] Reduced fuzzy alpha epsilon 2024-03-02 13:08:42 +01:00
Gliniak 529d453986 [Base] Fixed compilation error in VS 17.9x. Thanks Chrispy 2024-02-27 19:17:20 +01:00
Gliniak 93b5886e22 [3PP] Uplift 3PPs
- Xbyak
- Capstone
- Cxxopts
- Fmt (only to 7.1.3 for now)
2024-02-24 21:14:27 +01:00
Gliniak 288900ff7e [HID] Removed controllers_mutex from SDL.
Seems like it is unnecessary as there is some internal mutex that causes deadlocks with this one
2024-02-24 20:54:27 +01:00
Gliniak cce070c129 [HID] Removed mutex from SDLInputDriver::SetState
This seems to actively lock inside embedded SDL lock causing deadlock on main emulator thread and calling thread
2024-02-23 18:44:32 +01:00
Gliniak d11271f44d [3PP] Uplift SDL: 2.24.2 -> 2.30.0 2024-02-19 19:44:20 +01:00
maksloboda 9e86750bae [GPU] Add aproximate alpha test 2024-02-18 22:31:10 +01:00
Gliniak 321305cbf8 [XAM] Changes to settings handling
- Fixed incorrect X_USER_PROFILE_SETTING structure
- Added X_USER_PROFILE_SETTING_HEADER based on entries from console
- Removed X_USER_PROFILE_SETTING_DATA in favor of X_USER_DATA
X_USER_DATA is used also in Properties in exactly the same way
- Removed is_set in favor of X_USER_PROFILE_SETTING_SOURCE
- Prevent setting from storing settings longer than 0x3E8 bytes. Some games try to write bigger value which causes them to crash
2024-02-18 17:27:59 +01:00
Gliniak 7d740fb3c1 [XBDM] Added DmGetSystemInfo based on info from ticket.
https://github.com/xenia-canary/xenia-canary/issues/266
2024-02-16 19:39:03 +01:00
Gliniak f5e03173e0 [XAM] Fixed issue with incorrect guest path in launch data 2024-02-16 19:14:23 +01:00
Margen67 355c43fe66 [CI] Completely remove VS2019 2024-02-15 17:30:44 -08:00
Margen67 1f176676b5 [Docs] Raise minimum requirements 2024-02-15 16:58:38 -08:00
Margen67 42b4bf0f82 [CI] Use VS2022 for releases 2024-02-15 13:39:29 -08:00
Gliniak 1e321cbf0e [Kernel] Allow to specificy max signed-in profiles 2024-02-14 18:14:23 +01:00