Commit Graph

101 Commits

Author SHA1 Message Date
Herman S.
883c2030d0 [ARM64] Initial commit for arm64 backend
Based entirely off existing xbyak x86 implementation and available
tests. Still needs a lot of optimization and testing on non-Windows
platforms.

So far passes all tests and boots at least some games on Windows.
2026-03-22 15:57:37 +09:00
Herman S.
9a06a19eac [Testing] Parallel execution for ppc tests on posix
On posix run tests in parallel using a thread pool with fork-per-test
isolation (ported from edge).
On all platforms add progress output showing suite name and test count,
as well as elapsed time in the summary.
2026-03-21 23:49:32 +09:00
Herman S.
9621400ef6 [Testing] Add denormal input/output tests for VMX128 float instructions 2026-03-21 15:16:59 +09:00
Herman S.
b621e89c0b [Testing] Improve exception handling in the ppc test runner 2026-03-17 13:31:06 +09:00
Herman S.
2a9b8de84b [Testing] Minor PPC testing updates
- add SIGTRAP handling
- remove per-test dots and print per suite instead
- refactor test loop from collecting all tests to iterating suites
- fix logging up output
2026-03-16 08:32:18 +09:00
Herman S.
7f189f21fe [Testing] Update ppc testing harness to run multiple test names 2026-03-15 16:34:34 +09:00
Herman S.
086decfa6e [Build] Enable test discovery in VS Test Explorer 2026-03-05 16:18:23 +09:00
Herman S.
71c5702ee8 [Build] Convert build system to raw cmake and remove premake layer 2026-03-04 17:37:36 +09:00
Herman S.
9190ce3e36 Revert "[CPU] Detect FPSCR exceptions in UpdateFPSCR for Rc=1 FPU instructions"
This reverts commit a769d70761.
Causes audio issues in The Godfather
2026-02-22 20:28:27 +09:00
Herman S.
a769d70761 [CPU] Detect FPSCR exceptions in UpdateFPSCR for Rc=1 FPU instructions
Implement SNaN detection and FPSCR exception tracking so that Rc=1 FPU
instructions (fadds., fmadds., etc.) correctly update CR1 with FPSCR
exception summary bits (FX, FEX, VX, OX). Previously these were
hardcoded to zero. Enable ~2k tests that were previously disabled.
2026-02-15 00:59:27 +09:00
Herman S.
0202be1af1 [Testing] Reset MXCSR state between test cases
...to prevent denormal flush leaking
2026-02-15 00:59:19 +09:00
Herman S.
9b41d1d614 [Testing] Remove tests for unimplemented instructions 2026-02-14 23:48:21 +09:00
Herman S.
c741b31378 [Testing] add skip file support to cpu/ppc tests 2026-02-14 23:48:16 +09:00
Herman S.
8bee63e010 Merge remote-tracking branch 'xenia-master/gen_tests' into canary_experimental 2026-02-14 18:32:53 +09:00
Herman S.
15f61a1a10 [x64] Fix vector mask issue and add missing tests 2026-02-13 17:07:03 +09:00
Herman S.
435ea98a5a [Testing] Make sure tests clean up shm resources on exit 2026-02-13 15:22:43 +09:00
Herman S.
63d06a6083 [Testing] Ensure memory is fully initialized for stwcx test 2026-02-13 15:19:41 +09:00
Herman S.
d6a4493d5b [Testing] Add more instruction tests 2026-02-13 15:19:23 +09:00
Herman S.
2bb7c8dbf5 [Testing] Fix tests to use opcode mnemonics 2026-02-13 15:08:07 +09:00
Herman S.
ab182d4044 [Testing] Fix vsel128 and vnor128 tests 2026-02-13 15:07:55 +09:00
Herman S.
1b25574986 [Testing] Add a lot more missing instruction tests 2026-02-13 14:49:49 +09:00
Herman S.
4832bb485f [Testing] Add some lvx* tests 2026-02-13 13:59:49 +09:00
Herman S.
32b0e2c323 [Testing] Add missing control instruction tests 2026-02-13 13:59:40 +09:00
Herman S.
72f81b56c7 [Testing] Add missing ALU instruction tests 2026-02-13 13:59:32 +09:00
Herman S.
4a954506c6 [Testing] Add vpkpx tests 2026-02-13 13:59:23 +09:00
Herman S.
c0d1723469 [Testing] Add vlogefp tests 2026-02-13 13:59:14 +09:00
Herman S.
b6af8ed545 [Testing] Add more tests for logic, conversion and fp instructions 2026-02-13 13:59:05 +09:00
Herman S.
910157f6e0 [Testing] add more arithmetic instruction tests 2026-02-13 13:58:56 +09:00
Herman S.
4c7d152fee [Testing] Add missing avg and min/max tests 2026-02-13 13:58:45 +09:00
Herman S.
3461f2578b [Testing] add missing saturate arithmetic tests 2026-02-13 13:58:36 +09:00
Herman S.
f455b0b3c8 [Testing] add missing integer and rotation tests 2026-02-13 13:58:22 +09:00
Herman S.
09a15fbedc [Testing] Get tests running (dirty hack for linux) 2026-02-13 13:32:39 +09:00
Margen67
8b6cb9c287 [Premake, 3PP] Formatting/cleanup 2025-08-11 21:03:31 -07:00
Margen67
4a5f63650d Add .py file extension to Python 2025-07-28 23:54:52 -07:00
Gliniak
7298536d46 [HID] Added support for Xbox 360 Skylanders Portal
- This requires Zadig for installation of WinUSB driver for portal
2025-04-14 21:44:49 +02:00
Xphalnos
7479ccc292 [Misc] Fix Some Warnings on Clang Build with Windows + Adding constexpr 2025-03-27 17:52:18 +01:00
Gliniak
a295ec1bbd [Base] Removed useless path_to_utf8 conversion while using fmt
Default filesystem::path formatter was added to fmt around 2022
2024-12-13 19:04:31 +01:00
Gliniak
ed843f35f8 [GPU] Added janky(?) support for register: D1MODE_V_COUNTER
Put internal_display_resolution into graphics_system

Thanks Beeanyew for initial implementation
2024-08-31 23:37:21 +02:00
Gliniak
0ec65be5ff [UI] Notification & Custom Font Support 2023-03-08 09:36:49 +01:00
Gliniak
7d970967c4 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-09-20 21:15:12 +02:00
Wunkolo
90fffe1de7 [PPC] Fix memory assert formatting
This was still using printf-style format specifiers. Causing memory
asserts to show up like this while testing.

```
!> 0000438C Memory 10001040 assert failed:
!> 0000438C   Expected: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X
!> 0000438C     Actual: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X
!> 0000438C     TEST FAILED
```

Updated them so they format correctly:

```
!> 00002CCC Memory 10001040 assert failed:
!> 00002CCC   Expected: FC FD FE FF 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
!> 00002CCC     Actual: FC FD FE FF 00 00 00 00 00 00 00 00 00 00 00 00
!> 00002CCC     TEST FAILED
```
2022-09-05 13:47:48 -05:00
Gliniak
e06978e5be [Premake] Cleanup & Fixed references in cpu-tests 2022-08-17 09:43:55 +02:00
Triang3l
037310f8dc [Android] Unified xenia-app with windowed apps and build prerequisites 2022-07-11 21:45:57 +03:00
Triang3l
bdfd410b13 [CPU] Cleanup x64 backend usage conditionals 2022-07-05 21:07:10 +03:00
Wunkolo
233ed107fe [CPU] Remove use_haswell_instructions in favor of x64_extension_mask
Rather than having a single bool to conditionally detect haswell-level
instruction features. The granularity is increased with a new
`x64_extension_mask` where individual features within the x64 backend
can be turned on or off in a bit-mask manner. Since we have an ARM
backend on the horizon, I've added this to the new `x64`
configuration-group rather than `CPU`. This new pattern will hopefully
allow for testing to be more targetted to certain processor features and
allows the user to determine if they want certain features to be enabled
or disabled(such as avoiding BMI2 on certain AMD processors due to
pdep/pext being incredibly slow). The default configuration is to detect
and utilize all available features.
2022-01-11 03:57:32 -06:00
Wunkolo
1a8068b151 [Base] Add user-literals for several memory sizes
Rather than using `n * 1024 * 1024`, this adds a convenient `_MiB`/`_KiB` user-literal to the new `literals.h` header to concisely describe units of memory in a much more readable way. Any other useful literals can be added to this header. These literals exist in the `xe::literals` namespace so they are opt-in, similar to `std::chrono` literals, and require a `using namespace xe::literals` statement to utilize it within the current scope.

I've done a pass through the codebase to replace trivial instances of `1024 * 1024 * ...` expressions being used but avoided anything that added additional casting complexity from `size_t` to `uint32_t` and such to keep this commit concise.
2022-01-02 11:51:31 -06:00
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
Triang3l
e348d6361e [PPC] Disable frsqrte tests in a way not breaking the rest 2020-12-12 14:00:29 +03:00
Triang3l
db1d6b1fef [PPC] Fix test suite name being ignored 2020-12-10 21:27:26 +03:00
Triang3l
a73592c2ef [Memory/CPU] UWP: Support separate code execution and write memory, FromApp functions + other Windows memory fixes 2020-11-24 22:18:50 +03:00