Xbox 360 Emulator Research Project
Find a file
Herman S. 16d2cc05c5 [GPU] Use UNorm not signed EDRAM encoding in k_16_16 resolve packing.
The original commit (2eea146b) correctly added kXenosFormat_16_16_EDRAM
case labels and fixed the unpack clamp from -1.0 to -32.0, but
incorrectly changed the resolve pack functions from UNorm to signed EDRAM
encoding. The resolve destination is a regular texture sampled as UNorm
[0,1], not EDRAM. Using EDRAM packing double-encodes the [-32,32]
scaling, crushing all values by ~64x and caused visual issues
particularly in UE3 titles.

The bytecode submitted with the change was actually correct, but the
source had additional incorrect pieces that only manifested when shaders
were rebuilt.
2026-03-05 15:11:22 +09:00
.github [Build] Convert build system to raw cmake and remove premake layer 2026-03-04 17:37:36 +09:00
android/android_studio_project [Android] Exclude executables from app build 2022-07-17 17:11:48 +03:00
assets Remove unused icons 2025-08-22 06:22:07 -07:00
cmake [Build] Convert buildshaders to custom build rules 2026-03-04 20:57:42 +09:00
docs [Docs] Add spirv-tools related installation info for linux 2026-03-05 09:41:56 +09:00
src/xenia [GPU] Use UNorm not signed EDRAM encoding in k_16_16 resolve packing. 2026-03-05 15:11:22 +09:00
third_party [3PP] Removed reference to premake modules 2026-03-04 11:57:55 +01:00
tools [Build] Convert buildshaders to custom build rules 2026-03-04 20:57:42 +09:00
.clang-format [format] Require EOF newline 2025-07-19 14:42:21 -07:00
.codacy.yaml [Codacy] Fixed some issues found by codacy. 2024-01-20 13:19:37 +01:00
.drone.star [CI, Drone] Disable HighResolutionTimer test cases 2022-11-20 16:41:55 -06:00
.gdbinit [threading linux] Implement Callback Queuing 2020-11-15 11:12:05 -06:00
.gitattributes [Github] Disable counting tests to code summary 2026-02-19 11:50:21 +01:00
.gitignore [Build] Generate shaders on build instead of having them checked in 2026-03-03 16:21:30 +09:00
.gitmodules [Build] Convert build system to raw cmake and remove premake layer 2026-03-04 17:37:36 +09:00
CMakeLists.txt [Cmake] Added directory split in Visual studio (and probably other IDEs) 2026-03-04 20:12:09 +01:00
CMakePresets.json [Build] Convert build system to raw cmake and remove premake layer 2026-03-04 17:37:36 +09:00
LICENSE Adding CONTRIBUTING.md so that github shows it on issues. 2015-08-28 14:16:38 -07:00
README.md Fixed incorrect link to releases in README file 2025-02-10 16:23:06 +01:00
xb [xb] Fix xb symbolic link 2025-11-20 03:53:43 -08:00
xb.bat Require Python 3.10+ 2025-11-20 03:53:41 -08:00
xb.ps1 Require Python 3.10+ 2025-11-20 03:53:41 -08:00
xenia-build.py [Build] Convert buildshaders to custom build rules 2026-03-04 20:57:42 +09:00

Xenia Canary - Xbox 360 Emulator

Xenia Canary is an experimental fork of the Xenia emulator. For more information, see the Xenia Canary wiki.

Come chat with us about emulator-related topics on Discord. For developer chat join #dev but stay on topic. Lurking is not only fine, but encouraged! Please check the FAQ page before asking questions. We've got jobs/lives/etc, so don't expect instant answers.

Discussing illegal activities will get you banned.

Status

Buildbot Status Releases
Windows CI Codacy Badge LatestAllOld
Linux CI
Netplay Build Latest

Quickstart

See the Quickstart page.

FAQ

See the frequently asked questions page.

Game Compatibility

See the Game compatibility list for currently tracked games, and feel free to contribute your own updates, screenshots, and information there following the existing conventions.

Building

See building.md for setup and information about the xb script. When writing code, check the style guide and be sure to run clang-format!

Contributors Wanted!

Have some spare time, know advanced C++, and want to write an emulator? Contribute! There's a ton of work that needs to be done, a lot of which is wide open greenfield fun.

For general rules and guidelines please see CONTRIBUTING.md.

Fixes and optimizations are always welcome (please!), but in addition to that there are some major work areas still untouched:

See more projects good for contributors. It's a good idea to ask on Discord and check the issues page before beginning work on something.

Disclaimer

The goal of this project is to experiment, research, and educate on the topic of emulation of modern devices and operating systems. It is not for enabling illegal activity. All information is obtained via reverse engineering of legally purchased devices and games and information made public on the internet (you'd be surprised what's indexed on Google...).