Go to file
ReinUsesLisp a8a2526128 gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders
NV_shader_buffer_{load,store} is a 2010 extension that allows GL applications
to use what in Vulkan is known as physical pointers, this is basically C
pointers. On GLASM these is exposed through the LOAD/STORE/ATOM
instructions.

Up until now, assembly shaders were using NV_shader_storage_buffer_object.
These work fine, but have a (probably unintended) limitation that forces
us to have the limit of a single stage for all shader stages. In contrast,
with NV_shader_buffer_{load,store} we can pass GPU addresses to the
shader through local parameters (GLASM equivalent uniform constants, or
push constants on Vulkan). Local parameters have the advantage of being
per stage, allowing us to generate code without worrying about binding
overlaps.
2020-07-18 01:59:57 -03:00
.ci CI: Don't check clang format on early access builds 2020-05-08 18:49:33 -06:00
.github .github: add a new issue template 2020-06-28 20:46:46 +02:00
.travis Revert "CMake: Get Git submodule dependencies via CMake (#2474)" 2019-06-29 22:19:47 +02:00
CMakeModules cmake: stop linking against QGL after c6a0ab9792 2020-07-01 22:11:39 +00:00
dist Update manifest file to include new elements that are introduced with Windows 10 later versions 2020-06-21 03:17:55 +02:00
externals configuration: Add settings to enable/disable specific CPU optimizations 2020-07-11 14:34:09 +01:00
hooks
src gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders 2020-07-18 01:59:57 -03:00
.gitattributes
.gitignore
.gitmodules Fix merge conflicts? 2020-07-04 00:59:40 -04:00
.travis.yml
CMakeLists.txt Merge pull request #4280 from jbeich/system-libusb 2020-07-13 22:21:07 -04:00
CONTRIBUTING.md Update CONTRIBUTING.md 2019-11-12 21:42:43 -05:00
Doxyfile
license.txt Replace non-commercial icons with free icons from icons8 (#5093) 2020-03-27 22:31:54 +01:00
README.md Fix Discord invite link 2020-07-12 10:16:07 -04:00

yuzu emulator

Travis CI Build Status Azure Mainline CI Build Status Discord

yuzu is an experimental open-source emulator for the Nintendo Switch from the creators of Citra.

It is written in C++ with portability in mind, with builds actively maintained for Windows and Linux. The emulator is capable of running several commercial games.

yuzu only emulates a subset of Switch hardware and therefore most commercial games do not run at full speed or are not fully functional.

Do you want to check which games are compatible and which ones are not? Please visit our Compatibility page!

yuzu is licensed under the GPLv2 (or any later version). Refer to the license.txt file included.

Check out our website!

For development discussion, please join us on Discord.

Development

Most of the development happens on GitHub. It's also where our central repository is hosted.

If you want to contribute please take a look at the Contributor's Guide and Developer Information. You should also contact any of the developers on Discord in order to know about the current state of the emulator.

Building

Support

We happily accept monetary donations or donated games and hardware. Please see our donations page for more information on how you can contribute to yuzu. Any donations received will go towards things like:

  • Switch consoles to explore and reverse-engineer the hardware
  • Switch games for testing, reverse-engineering, and implementing new features
  • Web hosting and infrastructure setup
  • Software licenses (e.g. Visual Studio, IDA Pro, etc.)
  • Additional hardware (e.g. GPUs as-needed to improve rendering support, other peripherals to add support for, etc.)

We also more than gladly accept used Switch consoles, preferably ones with firmware 3.0.0 or lower! If you would like to give yours away, don't hesitate to join our Discord and talk to bunnei. You may also contact: donations@yuzu-emu.org.