Run Nintendo Switch homebrew & games on your Android device!
Go to file
PixelyIon bee28aaf0d Validation Layer Filter + Fix Texture, GPU & PresentationEngine bugs
This commit implements a filter by type for any validation layer output, this allows filtering out any logs which may be unnecessary and additionally triggering a breakpoint as required. 

An issue concerning the `NDEBUG` flag never being set was fixed, it's now supplied as a release compiler flag. The issue can manifest itself by always relying on a validation layer even though it shouldn't on release, this is why the validation layer was mistakenly disabled entirely previously by using `#ifndef` rather than `#ifdef`.

An issue with the initial layout of a texture being supplied as neither `VK_IMAGE_LAYOUT_UNDEFINED` or `VK_IMAGE_LAYOUT_PREINITIALIZED` was fixed, these cases are now handled by transitioning to those layouts after creating the image rather than supplying it within `initialLayout`.

Another issue was fixed regarding not maintaining a transformation after a surface has been destroyed and recreated existed and manifested itself when the user would go out of the app and come back in, they would see the surface having an identity transformation rather than the desired one.
2021-10-05 01:13:22 +05:30
.github/workflows Update NDK to 21.4.7075529 2021-06-17 20:30:22 +05:30
.idea Validation Layer Filter + Fix Texture, GPU & PresentationEngine bugs 2021-10-05 01:13:22 +05:30
app Validation Layer Filter + Fix Texture, GPU & PresentationEngine bugs 2021-10-05 01:13:22 +05:30
gradle/wrapper Fix Logger Settings + Use Java 8 + Update Kotlin + Extract Native SOs 2021-03-05 14:55:34 +05:30
.gitignore Add runConfigurations to gitignore 2021-07-19 02:07:12 +05:30
.gitmodules Introduce Boost as a submodule + Minor Fixes 2021-10-05 01:13:22 +05:30
build.gradle Increase trigger distance of swipe to refresh 2021-06-17 20:30:22 +05:30
CONTRIBUTING.md Replace skyline-emu/VkHpp with KhronosGroup/Vulkan-Hpp 2021-06-17 20:30:22 +05:30
gradle.properties Fix Logger Settings + Use Java 8 + Update Kotlin + Extract Native SOs 2021-03-05 14:55:34 +05:30
gradlew Redesign UI 2021-06-17 20:30:22 +05:30
gradlew.bat add files, cannot figure out why native lib is broken 2019-06-28 20:35:14 -04:00
LICENSE.md Move to MPL-2.0 2020-04-23 22:26:27 +05:30
README.md Revamp README 2021-03-23 02:40:02 +05:30
settings.gradle add files, cannot figure out why native lib is broken 2019-06-28 20:35:14 -04:00



Skyline is an experimental emulator that runs on ARMv8 Android™ devices and emulates the functionality of a Nintendo Switch™ system, licensed under Mozilla Public License 2.0


Contact

You can contact the core developers of Skyline at our Discord. If you have any questions, feel free to ask. It's also a good place to just keep up with the emulator, as most talk regarding development goes on over there.


Special Thanks

A few noteworthy teams/projects who've helped us along the way are:

  • Ryujinx: We've used Ryujinx for reference throughout the project, the amount of accuracy of their HLE kernel implementation is what makes them such an amazing reference. The team behind the project has been really helpful with any queries we've had. It should be noted that Skyline is not based on Ryujinx.

  • Switchbrew: We've extensively used Switchbrew whether that be their wiki with it's colossal amount of information on the Switch that has saved us countless hours of time or libnx which was crucial to initial development of the emulator to ensure that our HLE kernel and sysmodule implementations were accurate.

  • Atmosphère: We've used libmesosphere as another reference for our HLE kernel, it's faithfulness to the HOS kernel helps us a lot. This makes it invaluably important for us as a tool for writing code that can accurately emulate HOS behavior without missing any crucial parts.


Disclaimer

  • Nintendo Switch is a trademark of Nintendo Co., Ltd
  • Android is a trademark of Google LLC