Commit graph

7514 commits

Author SHA1 Message Date
Gliniak
feb88ee6b1 [GPU] Check page access only once for specific range 2024-08-10 21:33:56 +02:00
Gliniak
1864f3d9f2 [D3D12] Redesigned page access for gpu buffer allocation 2024-08-10 20:58:53 +02:00
Gliniak
320102db34 Revert "[GPU] Reset mip levels for non-mipmapped type"
This reverts commit eeb96f91a5.
2024-08-10 18:15:16 +02:00
Gliniak
1fdf250f7d [Kernel] Fixed race condition crash related to missing ke_timestamp_bundle_ptr_ 2024-08-10 16:30:31 +02:00
Gliniak
4c6e0ff685 [Kernel] Added returning allocated size from MmAllocatePhysicalMemoryEx 2024-08-10 16:29:46 +02:00
Adrian
adce6c0919 [XAM] Error check count in XUserStatsEnumerator
Fix Homefront from crashing
2024-08-08 20:00:52 +02:00
Radosław Gliński
eeb96f91a5
[GPU] Reset mip levels for non-mipmapped type
This prevent issue where fetch is partially invalid and contains invalid mip_page and mip_level for BaseMap type
2024-07-15 22:56:53 +02:00
Gliniak
5d3240d492 [CI] Changed VS version to see if it will prevent triggering AV 2024-07-08 21:43:43 +02:00
Gliniak
bd77aae7d0 [XAM] Fixed issue with looking for double .header suffix 2024-07-06 13:02:57 +02:00
NicknineTheEagle
a7acce50a6 [XAM] Trim content name when resolving its path 2024-07-06 08:47:37 +02:00
NicknineTheEagle
a8421bbce1 [XAM] Fixed checks in async functions 2024-07-06 08:47:37 +02:00
NicknineTheEagle
c4e930ed4c Proper 4:3 support 2024-07-01 08:55:15 +02:00
Gliniak
49166f0bd1 [Emulator] Added summary window to Install Content option 2024-06-27 11:40:40 +02:00
NicknineTheEagle
d6767dcd66 [XAM] Implemented XamShowMarketplaceDownloadItemsUI 2024-06-27 07:51:24 +02:00
NicknineTheEagle
6df0904e86 [XAM] Implemented XamShowMarketplaceUI 2024-06-25 20:50:14 +02:00
NicknineTheEagle
738c8dbd11 [HID] Added keyboard_user_index cvar 2024-06-19 13:01:21 +02:00
NicknineTheEagle
5610116131 [HID] Don't pass XInput input while UI pop-up is open 2024-06-19 13:01:21 +02:00
NicknineTheEagle
db02755075 Fixed namespace usage 2024-06-19 13:01:21 +02:00
Vonce
e4408b6bc3 Screenshot functionality Added
Added a screenshot functionality based on this pr https://github.com/xenia-project/xenia/pull/2074 and added some minor adjustments.

GUI wise, "take screenshot" is under the Display menu and the keyboard shortcut to take it is F10

The screenshots folder will save to where xenia.exe or xenia_canary.exe is located. As for save paths, it will only use the id of the game due to illegal characters in some titles.
2024-06-19 08:05:58 +02:00
NicknineTheEagle
34322ebb41 [XAM] Set license mask for XBLA titles as well 2024-06-18 16:30:22 +02:00
NicknineTheEagle
16affb94d4 [XAM] Added storage device select UI 2024-06-18 07:35:36 +02:00
NicknineTheEagle
e5c8f00e26 [Kernel] Fixed XamShowSigninUI 2024-06-17 08:59:11 +02:00
NicknineTheEagle
c004d669c2 [Emulator] Removed legacy title re-launching code 2024-06-16 09:37:04 +02:00
Gliniak
ec267c348a [LINT] Fixed lint issues after clang-format update 2024-06-13 20:56:56 +02:00
Gliniak
ce990e2828 [HID] Added support for joystick deadzones
- Simplified logic for connected controllers
2024-06-01 14:54:01 +02:00
Gliniak
b3f2ab0e96 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2024-05-31 22:43:59 +02:00
Adrian
f2f8bba081 [XAM] XamUserGetName return Win32 code instead of HResult 2024-05-30 13:10:07 +02:00
Adrian
a688f87f55 [VFS] Clear registered devices if launch failed 2024-05-25 20:33:19 +02:00
Triang3l
3d30b2eec3 [Vulkan] Shader memory export (#145) 2024-05-25 16:31:50 +03:00
Gliniak
ff692589c7 [Kernel] Changed location of internal_display_resolution in config
This is to better represents usecase of this option as guest related setting
2024-05-20 20:12:31 +02:00
Gliniak
6ebb522270 [Kernel] Added option to use PAL-50 mode 2024-05-20 20:08:52 +02:00
frazier_g
c01c06d19b Make guest debugger usable 2024-05-19 18:50:43 +02:00
Triang3l
210ac4b2d2 [GPU] Fix gamma ramp writing after RegisterFile API change (#2262) 2024-05-18 23:53:09 +03:00
Triang3l
8e7301f4d8 [SPIR-V] Use a helper class for most if/else branching
Simplifies emission of the blocks themselves (including inserting blocks
into the function's block list in the correct order), as well as phi after
the branching.

Also fixes 64bpp storing with blending in the fragment shader interlock
render backend implementation (had a typo that caused the high 32 bits to
overwrite the low ones).
2024-05-16 23:05:49 +03:00
Gliniak
5bbba85c70 Implemented: SHA512 guest functions
- XeCryptSha512Init
- XeCryptSha512Update
- XeCryptSha512Final
2024-05-15 20:34:51 +02:00
Triang3l
3189a0e259 [GPU] Check memexport stream constant upper bits in range gathering 2024-05-12 20:26:14 +03:00
Triang3l
a3304d252f [Base/GPU] Cleanup float comparisons and NaN and -0 in clamping
C++ relational operators are supposed to raise FE_INVALID if an argument is
NaN, use std::isless/greater[equal] instead where they were easy to locate
(though there are other places possibly, mostly min/max and clamp usage was
checked).

Also fixes a copy-paste error making the CPU shader interpreter execute
MINs as MAXs instead.
2024-05-12 19:21:37 +03:00
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