Nintendo Switch emulator (unofficial mirror fork)
Find a file
ReinUsesLisp d708d03d20 video_core: Implement API agnostic view based texture cache
Implements an API agnostic texture view based texture cache. Classes
defined here are intended to be inherited by the API implementation and
used in API-specific code.

This implementation exposes protected virtual functions to be called
from the implementer.

Before executing any surface copies methods (defined in API-specific code)
it tries to detect if the overlapping surface is a superset and if it
is, it creates a view. Views are references of a subset of a surface, it
can be a superset view (the same as referencing the whole texture).
Current code manages 1D, 1D array, 2D, 2D array, cube maps and cube map
arrays with layer and mipmap level views. Texture 3D slices views are
not implemented.

If the view attempt fails, the fast path is invoked with the overlapping
textures (defined in the implementer). If that one fails (returning
nullptr) it will flush and reload the texture.
2019-03-22 13:34:04 -03:00
.appveyor Implement Citra pull 3043 2018-02-24 13:08:46 +01:00
.github ISSUE_TEMPLATE: changes to make it more expressive and prevent low-quality issues 2019-01-22 21:52:59 +01:00
.travis travis: Bump macOS version to 10.14 2019-03-07 23:34:37 -05:00
CMakeModules shader/decode: Split memory and texture instructions decoding 2019-02-26 00:11:30 -03:00
dist Show game compatibility within yuzu 2018-08-29 15:42:53 +02:00
externals externals: Update opus to latest master 2019-03-16 04:10:41 -04:00
hooks pre-commit: Change comment from citra to yuzu 2018-03-26 21:34:19 +02:00
src video_core: Implement API agnostic view based texture cache 2019-03-22 13:34:04 -03:00
.gitattributes Meta: Add gitattributes file 2018-09-22 23:31:44 +02:00
.gitignore Port #3702 from Citra 2018-07-26 15:35:24 +02:00
.gitmodules gitmodules: Add Vulkan headers dependency 2019-02-12 18:33:02 -03:00
.travis.yml travis: Bump macOS version to 10.14 2019-03-07 23:34:37 -05:00
appveyor.yml build: Copy QtWebEngineProcess[d].exe to release dir on windows 2019-01-04 10:34:29 -05:00
CMakeLists.txt CMakeLists: Raise minimum Boost requirement to 1.66.0 2019-03-17 23:04:03 +00:00
CONTRIBUTING.md CONTRIBUTING.md: migrate to the wiki 2018-11-17 17:48:40 +01:00
Doxyfile Minor cleanup 2018-01-13 23:56:18 +00:00
license.txt added license txt file 2014-04-08 19:03:00 -04:00
README.md Yuzu can render 3D. 2019-03-02 17:23:05 +01:00

yuzu emulator

Travis CI Build Status AppVeyor CI Build Status

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, Linux and macOS. The emulator is currently only useful for homebrew development and research purposes.

yuzu only emulates a subset of Switch hardware and therefore is generally only useful for running/debugging homebrew applications. At this time, yuzu cannot play any commercial games without major problems. yuzu can boot some games, to varying degrees of success.

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 as well 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.