mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-24 00:11:51 +01:00
3d31ade35f
By importing guest memory directly onto the host GPU we can avoid many of the complexities that occur with memory tracking as well as the heavy performance overhead in some situations. Since it's still desired to support the traditional buffer method, as it's faster in some cases and more widely supported, most of the exposed buffer methods have been split into two variants with just a small amount of shared code. While in most cases the code is simpler, one area with more complexity is handling CPU accesses that need to be sequenced, since we don't have any place we can easily apply writes to on the GPFIFO thread that wont also impact the buffer on the GPU, to solve this, when the GPU is actively using a buffer's contents, an interval list is used to keep track of any GPFIO-written regions on the CPU and any CPU reads to them will instead be directed to a shadow of the buffer with just those writes applied. Once the GPU has finished using buffer contents the shadow can then be removed as all writes will have been done by the GPU. The main caveat of this is that it requires tying host sync to guest sync, this can reduce performance in games which double buffer command buffers as it prevents us from fully saturating the CPU with the GPFIFO thread. |
||
---|---|---|
.. | ||
drawable | ||
drawable-night | ||
layout | ||
mipmap-hdpi | ||
mipmap-mdpi | ||
mipmap-xhdpi | ||
mipmap-xxhdpi | ||
mipmap-xxxhdpi | ||
values | ||
values-night | ||
xml | ||
README.md |
Credits (Drawables)
Material Design Icons (Apache-2)
- ic_clear
- ic_log
- ic_open
- ic_play
- ic_refresh
- ic_search
- ic_settings
- ic_share
Default Icon
We've recieved permission to use the icon from it's author jaames
Skyline Logo
Skyline's logo was designed by riperiperi with the original concept made by samantas5855 and additional help from lynxnb and PixelyIon. Artwork is licensed to PixelyIon and bylaws.