

If we used uncompressed textures, GPUs with less than 8GB of VRAM would not be able to load all the game assets, and if we recompressed them in another texture format to avoid this problem, image quality would degrade. One of the problems is the lack of native hardware support for ASTC texture decoding. Originally, Bindless Texture support was expected to be added, but several difficulties emerged during development. Make sure to be up to date with your drivers, as the GPU vendor may be able to add support in the future if the hardware allows it. Games requesting this extension on unsupported hardware may behave randomly or crash in rare instances. In Windows, this includes AMD graphics cards older than Vega (Polaris and older series) and all Intel iGPUs to date.

:(Īnimal Crossing: New Horizons Current limitations and future progressĭue to these changes, hardware lacking the VK_EXT_robustness2 extension will not produce the optimal experience. Rendering to texture views of different compatible formats is emulated without copies.3D BC4 textures are emulated with RGBA8.Rendering to compressed textures is properly emulated.Aliased images are now emulated through copies on demand.Multiple textures can coexist in the same address now.This allows yuzu to cache already visited image views and render targets, saving time. Previously, textures were removed from the cache on CPU writes, but now they are flagged as dirty.Some operations are now done in the GPU instead of in the CPU, improving performance.No more virtual calls or shared pointers, this allows for easier maintenance in the future. The previous implementation was no longer sufficient, so Rodrigo started working on a complete rewrite from scratch. It was also easier to break with unrelated changes. Some design decisions taken at the time stuck with the codebase making things harder to change in the future. When this was being worked on, we were still learning how the Nintendo Switch’s GPU worked (we still are, but even more so then). However, this cache only supported OpenGL, so one of the first efforts when adding support for Vulkan was to make the code more generic, helping in GPU emulation. Yuzu started as a fork of Citra, so Citra’s texture cache (or rasterizer cache, as it was called at the time) was used in the early days of yuzu. Hi yuz-ers! We’re very excited to offer you one of the biggest code rewrites in yuzu’s history: The Texture Cache Rewrite! Now available to our Early Access members, continue reading to learn more.
