mirror of
https://github.com/yuzu-emu/yuzu-emu.github.io.git
synced 2026-08-09 11:15:00 +00:00
Update index.md
This commit is contained in:
parent
2197da1dd3
commit
e1552d9d35
|
|
@ -151,7 +151,7 @@ Howdy! You get correct rendering directly to your face, like it or not.
|
|||
>}}
|
||||
|
||||
Blinkhawk and Maide also spotted an old regression in how indirect compute dispatch is emulated.
|
||||
For the uninitiated, indirect dispatch is a technique used to allow the GPU to get the amount of work it needs to perform from a result generated by another compute shader or GPU operation, instead of being passed by the CPU at the moment of recording.
|
||||
For the uninitiated, indirect dispatch is a technique used to allow the GPU to get the amount of work it needs to perform from a result generated by another compute shader or GPU operation, instead of being passed by the CPU at the moment of recording. Avoiding the slower CPU path by letting the GPU work indepedently like this improves performance.
|
||||
Such an independent and strong Tegra X1 GPU. Look at it grow.
|
||||
|
||||
Thanks to this {{< gh-hovercard "11383" "late intervention," >}} `Mario + Rabbids Kingdom Battle`, `Mario + Rabbids Sparks of Hope`, and `Sea of Solitude` now render much better: shadows in the Rabbids series have the proper level of shade, and environments in Sea of Solitude are now visible.
|
||||
|
|
@ -194,7 +194,7 @@ byte[] later {{< gh-hovercard "11430" "fixed the implementation" >}} to make it
|
|||
"./bayofix.png"
|
||||
>}}
|
||||
|
||||
Not content to stop there, Blinkhawk also improved the {{< gh-hovercard "11389" "logic for discarding unnecessary writes" >}} in the buffer cache, and improved how the {{< gh-hovercard "11393" "size of the index buffer" >}} (where indices of vertices to form meshes is stored) is estimated.
|
||||
Not intending to stop there, Blinkhawk also improved the {{< gh-hovercard "11389" "logic for discarding unnecessary writes" >}} in the buffer cache, and improved how the {{< gh-hovercard "11393" "size of the index buffer" >}} (where indices of vertices to form meshes is stored) is estimated.
|
||||
The result? A 69% or higher performance boost in `Bayonetta 3`, depending on the system specs. Nice.
|
||||
|
||||
{{< single-title-imgs
|
||||
|
|
@ -233,7 +233,7 @@ First on the list is a major overhaul for GPU ASTC decoding, for both OpenGL and
|
|||
|
||||
GPUs which were left behind on Vulkan support can now enjoy much smoother performance in titles like `The Legend of Zelda: Tears of the Kingdom`, `Bayonetta 3`, `Luigi’s Mansion 3`, etc.
|
||||
|
||||
To get the most out of this change, `Enable asynchronous presentation` should be enabled if you’re using Vulkan, and the `ASTC recompression` method must be set to `Uncompressed`.
|
||||
To get the most out of this change, the `ASTC recompression` method must be set to `Uncompressed`, and `Enable asynchronous presentation` should be enabled if you’re using Vulkan,.
|
||||
Both options can be found in in `Emulation > Configure… > Graphics > Advanced`.
|
||||
|
||||
[toastUnlimited]() later {{< gh-hovercard "11216" "blocked Mesa’s native ASTC decoder," >}} as it is now considerably slower than our implementation.
|
||||
|
|
@ -242,11 +242,11 @@ And lastly, Epicboy solved what was a very common issue for `Pokémon Legends: A
|
|||
Sit down, kids, it’s story time.
|
||||
|
||||
In the not-so-far-away good old days, yuzu was only experimenting with an incomplete and immature Vulkan backend, there was no LDN/LAN support, and an Android release was considered to be a fever dream.
|
||||
Back then we used the OpenGL API by default, and out of its three options for shader backends, GLASM was the shader backend of choice, since it didn’t affect incompatible drivers–it’s an NVIDIA-only “feature”, and any other driver would automatically revert to GLSL.
|
||||
Back then we used the OpenGL API by default, and out of its three options for shader backends, GLASM was the shader backend of choice, since it didn’t affect incompatible drivers–it’s an NVIDIA-only "feature", and any other driver would automatically revert to the vendor-agnostic GLSL.
|
||||
This provided NVIDIA users the best experience at the time, with the lowest shader build times available, until Vulkan improved enough to be the full replacement it is today.
|
||||
|
||||
A very common report during these migration days was that character shading in `Pokémon Legends: Arceus` was wrong–it either introduced weird motes to characters, or they looked completely devoid of any form of lighting.
|
||||
This problem was quickly found to be rooted in GLASM,
|
||||
This problem was quickly found to be rooted in GLASM.
|
||||
|
||||
Since GLASM was, and continues to be, almost impossible to work on due to its complete lack of tools to debug and assist development, no developer wanted to touch it after Rodrigo introduced it. As he later left for greener pastures, this has resulted in our GLASM shader backend becoming entirely unmaintained.
|
||||
|
||||
|
|
@ -277,7 +277,7 @@ One particularly annoying issue from the early days of the emulator is a lock wh
|
|||
Since the implementation is incorrect (the lock should not be present at all), but a lot of existing yuzu code depends on it, byte[] instead {{< gh-hovercard "11327" "avoids locking only around calls to socket interfaces," >}} avoiding a deadlock when Skyline's TCP logger is active.
|
||||
More work remains to be done to remove this service lock once and for all.
|
||||
|
||||
With these changes, the Skyline framework is operative, but a bit more work was needed to get ARCropolis up and running.
|
||||
With these changes, the Skyline framework is operative, but a bit more work was needed to get ARCropolis up and running, and the Smash modding community happy.
|
||||
Thankfully, byte[] didn’t stop there, and continued implementing the required changes.
|
||||
|
||||
ARCropolis used to incorrectly initiate the handshake when connecting to an SSL/TLS socket without first setting a hostname.
|
||||
|
|
@ -308,7 +308,7 @@ Yep, byte[] asked for a rename. From now on, Project Terra will be the name of t
|
|||
|
||||
Why the rename? Because we have a lot of fixes to tell you about.
|
||||
To begin with, yuzu now {{< gh-hovercard "11284" "supports sparse and compressed NCA games!" >}}
|
||||
This means a long list of titles whose eShop releases couldn’t previously boot are now either running or perfectly playable, or their RomFS can be fully dumped.
|
||||
This means a long list of titles whose eShop releases couldn’t previously boot are now either running or perfectly playable, and their RomFS can be fully dumped.
|
||||
|
||||
Here’s a nowhere-close-to-complete list of now-working eShop titles:
|
||||
|
||||
|
|
@ -339,7 +339,7 @@ Here’s a nowhere-close-to-complete list of now-working eShop titles:
|
|||
>}}
|
||||
|
||||
Installing updates and DLC for multi-program applications (such as a game launcher with several games inside) didn't work properly on yuzu.
|
||||
This meant games like `Super Mario 3D All-Stars` would only launch the base game no matter what the user did.
|
||||
This meant games like `Super Mario 3D All-Stars` would only launch the base game version no matter what the user did.
|
||||
The current virtual file system implementation can’t properly support this, which is one of the many areas Project Gaia is acting upon.
|
||||
To bypass this limitation, byte[] {{< gh-hovercard "11319" "creates synthetic update metadata" >}} inside yuzu, allowing the update/DLC to pass through and load correctly.
|
||||
|
||||
|
|
@ -357,7 +357,7 @@ Not stopping there, FearlessTobi also fixed yuzu's command line arguments to {{<
|
|||
|
||||
Users reported that some RomFS dumps from games don’t always include all game assets, with one example being `KLONOA Phantasy Reverie Series`.
|
||||
byte[]’s investigation showed that several areas of the RomFS dump code were… of low quality.
|
||||
{{< gh-hovercard "11381" "After a moderate rewrite," >}} RomFS dumps of multi-title games should include all assets now.
|
||||
{{< gh-hovercard "11381" "After a moderate rewrite," >}} RomFS dumps of multi-title games should now include all assets.
|
||||
|
||||
## Audio, input, and core changes
|
||||
|
||||
|
|
@ -386,7 +386,7 @@ Like with the VP9 video format, its implementation on yuzu is not as simple as j
|
|||
"./sos4.png"
|
||||
>}}
|
||||
|
||||
If anyone experienced audio related crashes (specifically related to audio effects) in games like `The Legend of Zelda: Tears of the Kingdom`, `SUPER MARIO ODYSSEY` and some others, well, with the help from [ChiefGokhlayeh](https://github.com/ChiefGokhlayeh), Maide {{< gh-hovercard "11408" "found the broken node Id index" >}} that caused the problem.
|
||||
If anyone experienced audio related crashes (specifically related to audio effects) in games like `The Legend of Zelda: Tears of the Kingdom`, `SUPER MARIO ODYSSEY`, and some others, well, with the help from [ChiefGokhlayeh](https://github.com/ChiefGokhlayeh), Maide {{< gh-hovercard "11408" "found the broken node Id index" >}} that caused the problem.
|
||||
|
||||
Still fighting the war of shutting down yuzu in a sensible manner, byte[] changed the {{< gh-hovercard "11384" "shutdown timeout" >}} to more closely match the behaviour of the Switch. Most games now exit within one second.
|
||||
|
||||
|
|
@ -486,23 +486,24 @@ To simplify this particular situation, toastUnlimited {{< gh-hovercard "11356" "
|
|||
|
||||
## Hardware section
|
||||
|
||||
This section has been pretty calm lately. Drivers have been behaving and not introducing critical regressions recently, and the Mesa Turnip driver for the Adreno Android players has been progressing healthily. It’s not fully stable yet, but rendering and performance are in a good spot.
|
||||
This section has been pretty calm lately. For the most part, drivers have been behaving and not introducing critical regressions recently, and the Mesa Turnip driver for the Adreno Android players has been progressing healthily. It’s not fully stable yet, but rendering and performance are in a good spot.
|
||||
There’s only one vendor to discuss this time, and it is…
|
||||
|
||||
### AMD, and the D24 situation
|
||||
|
||||
We continue our investigations into how to deal with the lack of hardware support for the D24 depth format.
|
||||
We continue our investigations into how to deal with the lack of hardware support for the D24 depth format on Red Team hardware.
|
||||
|
||||
Some fun and totally-not-evil experiments (faking lack of support with an RTX 3060 Ti) proved that while the D24 glitches are easy to reproduce on compatible hardware by just commenting out some lines, we also confirmed that the vertex explosions affecting `Xenoblade Chronicles 3` in its DLC, `Future Redeemed`, and in the `Pentelas region` of the main game are *not* caused by the lack of D24 on AMD cards.
|
||||
Some fun and totally-not-evil experiments (faking lack of support with an RTX 3060 Ti) proved that while the D24 glitches are easy to reproduce on compatible hardware by just commenting out some lines.
|
||||
We also confirmed that the vertex explosions affecting `Xenoblade Chronicles 3` in its DLC, `Future Redeemed`, and in the `Pentelas region` of the main game are *not* caused by the lack of D24 on AMD cards.
|
||||
Any other GPU vendor with D24 support disabled renders those sections perfectly fine, leaving us again with no clue on what Radeon GPUs hate about this particular great game.
|
||||
|
||||
On Windows, OpenGL continues to be the only alternative for Red Team users for the time being.
|
||||
Mesa, on the other hand, seems to have solved the issue (at least on Polaris hardware) with their latest version, so “just use Linux” seems to be a way to fix an AMD-specific problem once again.
|
||||
Mesa, on the other hand, seems to have solved the issue (at least on Polaris hardware) with their latest version, so "just use Linux" seems to be a way to fix an AMD-specific problem once again.
|
||||
|
||||
But it’s not all bad news! A new Vulkan extension, `VK_EXT_depth_bias_control`, which is for now only available on the Linux Mesa RADV driver, allows yuzu to properly fake D24 support, fixing the rendering issues on games like `Pokémon Sword & Shield`, `Super Smash Bros. Ultimate`, and `Mario Tennis Aces`, among others.
|
||||
|
||||
Blinkhawk {{< gh-hovercard "11402" "added a preliminary implementation" >}} supporting `VK_EXT_depth_bias_control` to yuzu for testing.
|
||||
We hope AMD adds support for it in their Windows drivers, as they use the feature internally for OpenGL.
|
||||
We hope AMD adds support for it in their Windows drivers, as it is known they use the feature internally for OpenGL.
|
||||
|
||||
{{< single-title-imgs-compare
|
||||
"Hardware support for the right formats matters (Pokémon Sword)"
|
||||
|
|
|
|||
Loading…
Reference in a new issue