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.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |