Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan backend #2518

Merged
merged 227 commits into from
Jul 31, 2022
Merged

Vulkan backend #2518

merged 227 commits into from
Jul 31, 2022

Conversation

gdkchan
Copy link
Member

@gdkchan gdkchan commented Jul 30, 2021

Overview

This is a WIP implementation of a Vulkan graphics backend. The main goal here is improving the performance for AMD users, however there are other advantages of using Vulkan for all vendors.

Main advantages of Vulkan (for all vendors):

  • Support for compressed 3D textures: Fixes graphical glitches on Tales of Vesperia, Ghost & Goblins returns, Monster Hunter Rise and more.
  • Support for textures views between compressed and uncompressed formats. Avoids copies, we do not yet take advantage of this, but will in the future.
  • Supports for 2D array views from 3D textures. Avoids copies, we do not yet take advantage of this, but will in the future.
  • Allows transform feedback buffers to have other uses while the transform feedback is active. Avoids copies.

Pending work

Those items should be completed before the Vulkan implementation is merged.

  • Multisampling support.
  • Alpha test support.
  • Custom image formats at bind. Or maybe change how it works to play nicely with Vulkan? (Required to render ground etc correctly on Xenoblade Chronicles Definitive Edition, fire/ice etc effects on Kirby Star Allies).
  • Make sure it plays nicely with the AMD driver (there are currently some known bugs with AMD drivers, more on that later).
  • Integrate SPIR-V backend and make sure it is functionally equivalent to the GLSL one.
  • Write basic tests for shaders and the backend, to ensure they behave as expected.

Other nice-to-haves, not essential for merge:

  • Index buffer conversion for quads. Should improve the speed of games using quads.
  • Better Uint8 index buffer conversion. Should have some very minor performance improvement for AMD. AMD now supports Uint8 index buffers.
  • Experiment with other descriptor set update methods. May improve performance. I already made quite a lot of tests in this area however, and it doesn't seems like there's much we can do to improve it further.
  • Consider using a separate thread for command submission. Might benefit Intel due to the workaround that makes it submit commands a lot. No longer an issue, the workaround was removed as the bug was fixed on their driver.
  • Pipeline cache. Effectively a on-disk shader cache on Vulkan. (Note: We're not using pipeline caches, instead it caches the SPIR-V binary).

Known issues

  • Some game models are stretching to the origin on AMD. The last version of their driver that is known to function properly is 21.3.2. You might want to downgrade it if you want to try this without the vertex corruption for now. Fixed on 66dd537, downgrading the driver should be no longer needed, just use the latest version.
  • AMD also suffers from a issue where the window is partially transparent and the desktop is visible. Not all systems are affected, it is currently unknown exactly what triggers it, it might be a GTK issue.
  • Missing transparency on a few games due to the lack of alpha test.
  • Some games (Luigi's Mansion 3, Mario Tennis Aces, etc) softlocks on Intel because sampler arrays are not properly defined on pipeline layouts on Vulkan. It will be addressed separately, as the plan is using a different method to handle those textures.

Performance roadmap

The changes below should improve performance significantly on the Vulkan backend in the near future.

  • Threaded GAL: Large performance improvements for all vendors, since Vulkan drivers do not provide any form of threaded optimizations, unlike OpenGL.
  • SPIR-V backend: This will not improve overall performance, but will reduce shader compilation times and consequently, stutters, resulting in a smoother experience.

Async shader compilation: This is something that is asked a lot. The truth is that async shader compilation is not really worth it, since it introduces graphical glitches, and in fact, pretty much all emulators that implemented this feature in the past are moving away from it because there are better alternatives. The better alternative in this case is parallel shader compilation, which also reduces the compilation times significantly without introducing graphical glitches. This is already implemented as part of Threaded GAL, and will also come to Vulkan after Threaded GAL is merged.

Improvements

AMD:

TBD

Intel:
Some graphical issues that exists on OpenGL are not present on Vulkan.

OpenGL:
image
image
Vulkan:
image
image

OpenGL:
image
Vulkan:
image

OpenGL:
image
Vulkan:
image
image
image

What to test

All games really, but if you find a issue, before reporting, make sure it was not already reported, or is included on the "known issues" section.

Closes #2924.

@gdkchan gdkchan added enhancement New feature or request gpu Related to Ryujinx.Graphics labels Jul 30, 2021
@github-actions
Copy link

github-actions bot commented Jul 30, 2021

Download the artifacts for this pull request:

Experimental GUI (Avalonia)
GUI-less (SDL2)
Only for Developers

@Sakura0134
Copy link

This PR doesn't work with RADV, at all and crashes after character selection in amdvlk(Test System: Ryzen 5 3500u GPU: Vega 8)

@TiggyDee
Copy link

Link's Awakening crashes on boot with an AMD RX 580. (Same behavior happens with a RX 5500XT)
Ryujinx_1.0.005fd259_2021-07-30_20-44-17.log

@ouhuangQAQ
Copy link

original:osx 闪退 是没给mac适配吗, 为什么会出现这个问题?
Translation:osx quit unexpectedly. Didn't it adapt to osx? Why does this problem happen?

Ryujinx_1.0.0+05fd259_2021-07-31_14-09-02.log

@emmauss
Copy link
Contributor

emmauss commented Jul 31, 2021

original:osx 闪退 是没给mac适配吗, 为什么会出现这个问题?
Translation:osx quit unexpectedly. Didn't it adapt to osx? Why does this problem happen?

Ryujinx_1.0.0+05fd259_2021-07-31_14-09-02.log

OSX does not support vulkan.

@GamerzHell9137
Copy link

GamerzHell9137 commented Jul 31, 2021

Windows 10, Ryzen 3600, GTX 960 2 GB VRAM, 16 GB RAM

  1. Mario Golf: Super Rush crashes when trying to load the character selection screen. Nothing shown in the logs, console shows a Fatal Error. In game there's a blue tint over the screen. Some UI elements are not showing and grass doesn't render properly.

  2. Chocobo's Mystery Dungeon EVER BUDDY! the log textboxs which shows what's going on in the game is empty and doesn't show anything, other textboxes are fine [FIXED]

  3. Rune Factory 5: Texture's are appearing and disappearing, same with objects in the world. There's a msg in red in the console. [FIXED]

  4. Story of Seasons: Pioneers of Olive Town: Water puddles at certain angles and distances are black [FIXED]

  5. BRAVELY DEFAULT II: Sometimes after fleeing a battle the screen is stuck at the battle screen. Red text in logs after getting into a battle. Game soft locks randomly while walking in overworld with the error spammed 00:01:28.475 |E| Gpu AwaitResult: Error: Query result SamplesPassed timed out. Took more than 5000 tries..

Ryu:36: error: 's_render_scale' : undeclared identifier
Ryu:36: error: 's_render_scale' :  left of '[' is not of type array, matrix, or vector
Ryu:46: error: 's_render_scale' : undeclared identifier
Ryu:46: error: 's_render_scale' :  left of '[' is not of type array, matrix, or vector
  1. Mario Kart 8 Deluxe : Environment clips [FIXED]

  2. Taiko: Broken graphics [FIXED]

  3. Monster Hunter Gen (iirc this is Alpha channel related?) [FIXED]

@gdkchan
Copy link
Member Author

gdkchan commented Jul 31, 2021

Mario Golf: Super Rush crashes when trying to load the character selection screen. Nothing shown in the logs, console shows a Fatal Error.

This was fixed in 637ffad.

@d3ce1t
Copy link
Contributor

d3ce1t commented Jul 31, 2021

In Fedora 34 with Intel Graphics using Mesa I got next error when trying to run a game. Looks like shaderc_shared.dll is included in the build but shaderc_shared.so is not.

Note I'm in a Wayland Session, so X11 is forced to make use of XWayland.

$ GDK_BACKEND=x11 ./Ryujinx
00:00:00.003 |W| Application GetWindowScaleFactor: Couldn't determine monitor DPI: The type initializer for 'Gdip' threw an exception.
00:00:00.369 |I| Configuration LogValueChange: EnableFileLog set to: False
00:00:00.371 |I| Configuration LogValueChange: ResScale set to: 1
00:00:00.372 |I| Configuration LogValueChange: ResScaleCustom set to: 1
00:00:00.372 |I| Configuration LogValueChange: MaxAnisotropy set to: -1
00:00:00.373 |I| Configuration LogValueChange: AspectRatio set to: Fixed16x9
00:00:00.374 |I| Configuration LogValueChange: GraphicsBackend set to: Vulkan
00:00:00.402 |N| Application PrintSystemInfo: Ryujinx Version: 1.0.0+0165c9d
00:00:00.409 |N| Application Print: Operating System: Linux 5.13.4-200.fc34.x86_64 #1 SMP Tue Jul 20 20:27:29 UTC 2021 (X64)
00:00:00.409 |N| Application Print: CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz ; 8 logical
00:00:00.409 |N| Application Print: RAM: Total 15689 MB ; Available 11119 MB
00:00:00.412 |N| Application PrintSystemInfo: Logs Enabled: Warning, Error
00:00:00.412 |N| Application PrintSystemInfo: Launch Mode: UserProfile
00:00:00.463 |N| Application LoadApplication: Using Firmware Version: 9.0.1
00:00:01.453 |E| GUI.RenderLoop Application : Unhandled exception caught: System.DllNotFoundException: Unable to load shared library 'shaderc_shared' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libshaderc_shared: cannot open shared object file: No such file or directory
   at shaderc.NativeMethods.shaderc_compile_options_initialize()
   at shaderc.Options..ctor(Boolean enableIncludes)
   at Ryujinx.Graphics.Vulkan.Shader..ctor(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, String glsl)
   at Ryujinx.Graphics.Vulkan.TextureBlit..ctor(VulkanGraphicsDevice gd, Device device)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.SetupContext(GraphicsDebugLevel logLevel, String[] requiredExtensions)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.Initialize(GraphicsDebugLevel logLevel)
   at Ryujinx.Ui.RendererWidgetBase.Render()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Unhandled exception. System.DllNotFoundException: Unable to load shared library 'shaderc_shared' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libshaderc_shared: cannot open shared object file: No such file or directory
   at shaderc.NativeMethods.shaderc_compile_options_initialize()
   at shaderc.Options..ctor(Boolean enableIncludes)
   at Ryujinx.Graphics.Vulkan.Shader..ctor(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, String glsl)
   at Ryujinx.Graphics.Vulkan.TextureBlit..ctor(VulkanGraphicsDevice gd, Device device)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.SetupContext(GraphicsDebugLevel logLevel, String[] requiredExtensions)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.Initialize(GraphicsDebugLevel logLevel)
   at Ryujinx.Ui.RendererWidgetBase.Render()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Aborted (core dumped)

@edisionnano
Copy link
Contributor

In Fedora 34 with Intel Graphics using Mesa I got next error when trying to run a game. Looks like shaderc_shared.dll is included in the build but shaderc_shared.so is not.

Note I'm in a Wayland Session, so X11 is forced to make use of XWayland.

$ GDK_BACKEND=x11 ./Ryujinx
00:00:00.003 |W| Application GetWindowScaleFactor: Couldn't determine monitor DPI: The type initializer for 'Gdip' threw an exception.
00:00:00.369 |I| Configuration LogValueChange: EnableFileLog set to: False
00:00:00.371 |I| Configuration LogValueChange: ResScale set to: 1
00:00:00.372 |I| Configuration LogValueChange: ResScaleCustom set to: 1
00:00:00.372 |I| Configuration LogValueChange: MaxAnisotropy set to: -1
00:00:00.373 |I| Configuration LogValueChange: AspectRatio set to: Fixed16x9
00:00:00.374 |I| Configuration LogValueChange: GraphicsBackend set to: Vulkan
00:00:00.402 |N| Application PrintSystemInfo: Ryujinx Version: 1.0.0+0165c9d
00:00:00.409 |N| Application Print: Operating System: Linux 5.13.4-200.fc34.x86_64 #1 SMP Tue Jul 20 20:27:29 UTC 2021 (X64)
00:00:00.409 |N| Application Print: CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz ; 8 logical
00:00:00.409 |N| Application Print: RAM: Total 15689 MB ; Available 11119 MB
00:00:00.412 |N| Application PrintSystemInfo: Logs Enabled: Warning, Error
00:00:00.412 |N| Application PrintSystemInfo: Launch Mode: UserProfile
00:00:00.463 |N| Application LoadApplication: Using Firmware Version: 9.0.1
00:00:01.453 |E| GUI.RenderLoop Application : Unhandled exception caught: System.DllNotFoundException: Unable to load shared library 'shaderc_shared' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libshaderc_shared: cannot open shared object file: No such file or directory
   at shaderc.NativeMethods.shaderc_compile_options_initialize()
   at shaderc.Options..ctor(Boolean enableIncludes)
   at Ryujinx.Graphics.Vulkan.Shader..ctor(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, String glsl)
   at Ryujinx.Graphics.Vulkan.TextureBlit..ctor(VulkanGraphicsDevice gd, Device device)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.SetupContext(GraphicsDebugLevel logLevel, String[] requiredExtensions)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.Initialize(GraphicsDebugLevel logLevel)
   at Ryujinx.Ui.RendererWidgetBase.Render()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Unhandled exception. System.DllNotFoundException: Unable to load shared library 'shaderc_shared' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libshaderc_shared: cannot open shared object file: No such file or directory
   at shaderc.NativeMethods.shaderc_compile_options_initialize()
   at shaderc.Options..ctor(Boolean enableIncludes)
   at Ryujinx.Graphics.Vulkan.Shader..ctor(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, String glsl)
   at Ryujinx.Graphics.Vulkan.TextureBlit..ctor(VulkanGraphicsDevice gd, Device device)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.SetupContext(GraphicsDebugLevel logLevel, String[] requiredExtensions)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.Initialize(GraphicsDebugLevel logLevel)
   at Ryujinx.Ui.RendererWidgetBase.Render()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Aborted (core dumped)

Perhaps you need to install this dependency, for example for arch this package https://archlinux.org/packages/extra/x86_64/shaderc/ provides this shared library, for fedora find a way to get libshaderc

@yuwenhua653
Copy link

yuwenhua653 commented Aug 1, 2021

AMD graphics card Pokémon sword shield white screen
image
Configure CPU AMD R7 5700U
GPU AMD AMD Radeon(TM) Graphics
RAM 16GB
System Windows11
Driver version 20.3.1
log Ryujinx_1.0.0+0165c9d_2021-08-01_08-48-28.log

@jduncanator
Copy link
Collaborator

jduncanator commented Aug 1, 2021

For anyone reporting issues on specific Vendors and Configurations, please post the GPU model you have, the operating system you're on, and the driver you're using. Even better, upload a full log as well.

@jduncanator
Copy link
Collaborator

jduncanator commented Aug 1, 2021

I'm going to start collating issues I've observed here. All tests were performed on the following hardware, with the same Ryujinx settings, unless noted otherwise:

OS: Windows 10 21H1 19043.1151
CPU: Ryzen 5 3600
GPU: AMD RX580 8GB - AMD Radeon Adrenaline 21.3.2 driver (Vulkan Caps Report)
RAM: 16GB 3600MHz DDR4 (CL16)

Ryujinx Ver: Ryujinx built from fb186f8
Vulkan backend, Native Resolution, GLSL shader backend


General Findings

Most (all?) games fail to boot with a resolution scale greater than 1 set. Fixed in 266be80
00:00:10.947 |E| GUI.RenderLoop Application : Unhandled exception caught: Ryujinx.Graphics.Vulkan.VulkanException: Unexpected API error "ErrorUnknown".
   at Ryujinx.Graphics.Vulkan.TextureStorage..ctor(VulkanGraphicsDevice gd, PhysicalDevice physicalDevice, Device device, TextureCreateInfo info, Single scaleFactor, Auto`1 foreignAllocation) in Ryujinx.Graphics.Vulkan\TextureStorage.cs:line 42
   at Ryujinx.Graphics.Vulkan.TextureStorage.CreateAliasedStorageUnsafe(Format format) in Ryujinx.Graphics.Vulkan\TextureStorage.cs:line 192
   at Ryujinx.Graphics.Vulkan.TextureView.CopyToImpl(CommandBufferScoped cbs, TextureView dst, Extents2D srcRegion, Extents2D dstRegion, Boolean linearFilter) in Ryujinx.Graphics.Vulkan\TextureView.cs:line 347
   at Ryujinx.Graphics.Vulkan.TextureView.CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, Boolean linearFilter) in Ryujinx.Graphics.Vulkan\TextureView.cs:line 230
   at Ryujinx.Graphics.Gpu.Image.Texture.GetScaledHostTexture(Single scale, ITexture storage) in Ryujinx.Graphics.Gpu\Image\Texture.cs:line 537
   at Ryujinx.Graphics.Gpu.Image.Texture.SetScale(Single scale) in Ryujinx.Graphics.Gpu\Image\Texture.cs:line 565
   at Ryujinx.Graphics.Gpu.Image.Texture.InitializeData(Boolean isView, Boolean withData) in Ryujinx.Graphics.Gpu\Image\Texture.cs:line 245
   at Ryujinx.Graphics.Gpu.Image.TextureCache.FindOrCreateTexture(MemoryManager memoryManager, TextureSearchFlags flags, TextureInfo info, Int32 layerSize, Nullable`1 sizeHint, Nullable`1 range) in Ryujinx.Graphics.Gpu\Image\TextureCache.cs:line 651
   at Ryujinx.Graphics.Gpu.Image.TextureCache.FindOrCreateTexture(MemoryManager memoryManager, RtDepthStencilState dsState, Size3D size, Int32 samplesInX, Int32 samplesInY, Size sizeHint) in Ryujinx.Graphics.Gpu\Image\TextureCache.cs:line 330
   at Ryujinx.Graphics.Gpu.Engine.Threed.StateUpdater.UpdateRenderTargetState(Boolean useControl, Int32 singleUse) in Ryujinx.Graphics.Gpu\Engine\Threed\StateUpdater.cs:line 351
   at Ryujinx.Graphics.Gpu.Engine.Threed.DrawManager.Clear(ThreedClass engine, Int32 argument) in Ryujinx.Graphics.Gpu\Engine\Threed\DrawManager.cs:line 365
   at Macro(MacroJitContext , IDeviceState , Int32 )
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Send(Int32 offset, Int32 argument, Int32 subChannel, Boolean isLastCall) in Ryujinx.Graphics.Gpu\Engine\GPFifo\GPFifoProcessor.cs:line 255
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Process(ReadOnlySpan`1 commandBuffer) in Ryujinx.Graphics.Gpu\Engine\GPFifo\GPFifoProcessor.cs:line 120
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoDevice.DispatchCalls() in Ryujinx.Graphics.Gpu\Engine\GPFifo\GPFifoDevice.cs:line 186
   at Ryujinx.Ui.RendererWidgetBase.Render() in Ryujinx\Ui\RendererWidgetBase.cs:line 378
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
The SPIR-V shader backend does not work at all on AMD Windows
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at Silk.NET.Vulkan.Vk.CreateShaderModule(Silk.NET.Vulkan.Device, Silk.NET.Vulkan.ShaderModuleCreateInfo ByRef, Silk.NET.Vulkan.AllocationCallbacks*, Silk.NET.Vulkan.ShaderModule ByRef)
   at Ryujinx.Graphics.Vulkan.Shader..ctor(Silk.NET.Vulkan.Vk, Silk.NET.Vulkan.Device, Ryujinx.Graphics.Shader.ShaderStage, Ryujinx.Graphics.GAL.ShaderBindings, Byte[])
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.CompileShader(Ryujinx.Graphics.Shader.ShaderStage, Ryujinx.Graphics.GAL.ShaderBindings, Byte[])
   at Ryujinx.Graphics.Gpu.Shader.ShaderCache.CompileShader(Ryujinx.Graphics.Shader.ShaderProgram, Ryujinx.Graphics.Shader.ShaderProgramInfo)
   at Ryujinx.Graphics.Gpu.Shader.ShaderCache.GetGraphicsShader(Ryujinx.Graphics.Gpu.Engine.Threed.ThreedClassState ByRef, Ryujinx.Graphics.Gpu.GpuChannel, Ryujinx.Graphics.Gpu.Shader.GpuAccessorState, Ryujinx.Graphics.Gpu.Shader.ShaderAddresses)
   at Ryujinx.Graphics.Gpu.Engine.Threed.StateUpdater.UpdateShaderState()
   at Ryujinx.Graphics.Gpu.Engine.Threed.DrawManager.DrawEnd(Ryujinx.Graphics.Gpu.Engine.Threed.ThreedClass, Int32, Int32)
   at Ryujinx.Graphics.Gpu.Engine.Threed.ThreedClass.Write(Int32, Int32)
   at DynamicClass.Macro(Ryujinx.Graphics.Gpu.Engine.MME.MacroJitContext, Ryujinx.Graphics.Device.IDeviceState, Int32)
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Send(Int32, Int32, Int32, Boolean)
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Process(System.ReadOnlySpan`1<Int32>)
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoDevice.DispatchCalls()
   at Ryujinx.Ui.RendererWidgetBase.Render()
   at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ThreadHelper.ThreadStart()

Burnout Paradise Remastered v1.0.0

Ryujinx_1.0.0-dirty_2021-08-01_17-49-18.log

Corrupt texture visible throughout the game

image

An odd behaviour with Vsync is observed. Disabling Vsync results in a loss of ~20% performance.

Vsync On

image

Vsync Off

image

Mario Kart 8 Deluxe v1.7.2

Ryujinx_1.0.0-dirty_2021-08-01_18-12-02.log

The game boots fine, however nine times out of ten fails to go in game, instead resulting in a freeze waiting on a GPU query result.
[...]
00:01:06.394 |I| HLE.OsThread.9 ServiceNv Create: Created map 1649 with size 0x00003000!
00:01:06.395 |I| HLE.OsThread.9 ServiceNv Create: Created map 1650 with size 0x0003c000!
00:01:06.666 |W| HLE.OsThread.9 ServiceNv Wait: GPU processing thread is too slow, waiting on CPU...
00:01:15.510 |E| Gpu AwaitResult: Error: Query result timed out. Took more than 5000 tries.
Character models are missing, even on 21.2.3 drivers. Fixed in 66dd537

image

Splatoon 2 v5.0.1

Character models are exploded at character select screen. Fixed in 66dd537

image

Crash Team Racing Nitro-Fueled v1.0.15

Character models are exploded. Fixed in 66dd537

image

Text is not rendered correctly (likely due to lack of alpha test/blend support?)

image

Kirby Star Allies v4.0.0

Character models are exploded. Fixed in 66dd537

image

Ryujinx spams a log message complaining about an invalid texture format
00:01:00.461 |E| GUI.RenderLoop Gpu GetInfo: Invalid texture format 0x7FFFF (sRGB: False).
00:01:00.461 |E| GUI.RenderLoop Gpu GetInfo: Invalid texture format 0x7FFFF (sRGB: False).
00:01:00.461 |E| GUI.RenderLoop Gpu GetInfo: Invalid texture format 0x7FFFF (sRGB: False).

I am Setsuna v1.1.0

Crashes at boot with a segfault
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at Silk.NET.Vulkan.Vk.CmdClearAttachments(Silk.NET.Vulkan.CommandBuffer, UInt32, Silk.NET.Vulkan.ClearAttachment*, UInt32, Silk.NET.Vulkan.ClearRect*)
   at Ryujinx.Graphics.Vulkan.PipelineBase.ClearRenderTargetColor(Int32, UInt32, Ryujinx.Graphics.GAL.ColorF)
   at Ryujinx.Graphics.Gpu.Engine.Threed.DrawManager.Clear(Ryujinx.Graphics.Gpu.Engine.Threed.ThreedClass, Int32)
   at Ryujinx.Graphics.Gpu.Engine.Threed.ThreedClass.Write(Int32, Int32)
   at DynamicClass.Macro(Ryujinx.Graphics.Gpu.Engine.MME.MacroJitContext, Ryujinx.Graphics.Device.IDeviceState, Int32)
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Send(Int32, Int32, Int32, Boolean)
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Process(System.ReadOnlySpan`1<Int32>)
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoDevice.DispatchCalls()
   at Ryujinx.Ui.RendererWidgetBase.Render()
   at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ThreadHelper.ThreadStart()

Need For Speed Hot Pursuit Remastered v1.0.0

Introduction video plays back _very_ slowly

image

Changing resolution scale whilst in-game results in a crash Fixed in 266be80
00:04:03.602 |E| GUI.RenderLoop Application : Unhandled exception caught: Ryujinx.Graphics.Vulkan.VulkanException: Unexpected API error "ErrorUnknown".
   at Ryujinx.Graphics.Vulkan.TextureStorage..ctor(VulkanGraphicsDevice gd, PhysicalDevice physicalDevice, Device device, TextureCreateInfo info, Single scaleFactor, Auto`1 foreignAllocation) in Ryujinx.Graphics.Vulkan\TextureStorage.cs:line 42
   at Ryujinx.Graphics.Vulkan.TextureStorage.CreateAliasedStorageUnsafe(Format format) in Ryujinx.Graphics.Vulkan\TextureStorage.cs:line 192
   at Ryujinx.Graphics.Vulkan.TextureView.CopyToImpl(CommandBufferScoped cbs, TextureView dst, Extents2D srcRegion, Extents2D dstRegion, Boolean linearFilter) in Ryujinx.Graphics.Vulkan\TextureView.cs:line 347
   at Ryujinx.Graphics.Vulkan.TextureView.CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, Boolean linearFilter) in Ryujinx.Graphics.Vulkan\TextureView.cs:line 230
   at Ryujinx.Graphics.Gpu.Image.Texture.GetScaledHostTexture(Single scale, ITexture storage) in Ryujinx.Graphics.Gpu\Image\Texture.cs:line 537
   at Ryujinx.Graphics.Gpu.Image.Texture.SetScale(Single scale) in Ryujinx.Graphics.Gpu\Image\Texture.cs:line 565
   at Ryujinx.Graphics.Gpu.Image.Texture.SetScale(Single scale) in Ryujinx.Graphics.Gpu\Image\Texture.cs:line 557
   at Ryujinx.Graphics.Gpu.Image.TextureManager.UpdateRenderTargetScale(Int32 singleUse) in Ryujinx.Graphics.Gpu\Image\TextureManager.cs:line 282
   at Ryujinx.Graphics.Gpu.Engine.Threed.StateUpdater.UpdateRenderTargetState(Boolean useControl, Int32 singleUse) in Ryujinx.Graphics.Gpu\Engine\Threed\StateUpdater.cs:line 366
   at Ryujinx.Graphics.Gpu.Engine.Threed.DrawManager.Clear(ThreedClass engine, Int32 argument) in Ryujinx.Graphics.Gpu\Engine\Threed\DrawManager.cs:line 365
   at Macro(MacroJitContext , IDeviceState , Int32 )
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Send(Int32 offset, Int32 argument, Int32 subChannel, Boolean isLastCall) in Ryujinx.Graphics.Gpu\Engine\GPFifo\GPFifoProcessor.cs:line 255
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Process(ReadOnlySpan`1 commandBuffer) in Ryujinx.Graphics.Gpu\Engine\GPFifo\GPFifoProcessor.cs:line 120
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoDevice.DispatchCalls() in Ryujinx.Graphics.Gpu\Engine\GPFifo\GPFifoDevice.cs:line 186
   at Ryujinx.Ui.RendererWidgetBase.Render() in Ryujinx\Ui\RendererWidgetBase.cs:line 378
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Pokemon Sword v1.0.0

Crashes shortly after the stadium intro cutscene starts playing Fixed in 266be80
00:00:44.503 |E| GUI.RenderLoop Application : Unhandled exception caught: Ryujinx.Graphics.Vulkan.VulkanException: Unexpected API error "ErrorUnknown".
   at Ryujinx.Graphics.Vulkan.TextureStorage..ctor(VulkanGraphicsDevice gd, PhysicalDevice physicalDevice, Device device, TextureCreateInfo info, Single scaleFactor, Auto`1 foreignAllocation) in Ryujinx.Graphics.Vulkan\TextureStorage.cs:line 42
   at Ryujinx.Graphics.Vulkan.TextureStorage.CreateAliasedStorageUnsafe(Format format) in Ryujinx.Graphics.Vulkan\TextureStorage.cs:line 192
   at Ryujinx.Graphics.Vulkan.TextureView.CopyToImpl(CommandBufferScoped cbs, TextureView dst, Extents2D srcRegion, Extents2D dstRegion, Boolean linearFilter) in Ryujinx.Graphics.Vulkan\TextureView.cs:line 347
   at Ryujinx.Graphics.Vulkan.TextureView.CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, Boolean linearFilter) in Ryujinx.Graphics.Vulkan\TextureView.cs:line 230
   at Ryujinx.Graphics.Gpu.Engine.Twod.TwodClass.PixelsFromMemorySrcY0Int(Int32 argument) in Ryujinx.Graphics.Gpu\Engine\Twod\TwodClass.cs:line 172
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Send(Int32 offset, Int32 argument, Int32 subChannel, Boolean isLastCall) in Ryujinx.Graphics.Gpu\Engine\GPFifo\GPFifoProcessor.cs:line 224
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoProcessor.Process(ReadOnlySpan`1 commandBuffer) in Ryujinx.Graphics.Gpu\Engine\GPFifo\GPFifoProcessor.cs:line 87
   at Ryujinx.Graphics.Gpu.Engine.GPFifo.GPFifoDevice.DispatchCalls() in Ryujinx.Graphics.Gpu\Engine\GPFifo\GPFifoDevice.cs:line 186
   at Ryujinx.Ui.RendererWidgetBase.Render() in Ryujinx\Ui\RendererWidgetBase.cs:line 378
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Luigi's Mansion 3 v1.4.0

We're missing half the bus during the cutscene

image

Animal Crossing v1.10.0

Character models are exploded. Fixed in 66dd537

image

(More coming)

@d3ce1t
Copy link
Contributor

d3ce1t commented Aug 1, 2021

In Fedora 34 with Intel Graphics using Mesa I got next error when trying to run a game. Looks like shaderc_shared.dll is included in the build but shaderc_shared.so is not.
Note I'm in a Wayland Session, so X11 is forced to make use of XWayland.

$ GDK_BACKEND=x11 ./Ryujinx
00:00:00.003 |W| Application GetWindowScaleFactor: Couldn't determine monitor DPI: The type initializer for 'Gdip' threw an exception.
00:00:00.369 |I| Configuration LogValueChange: EnableFileLog set to: False
00:00:00.371 |I| Configuration LogValueChange: ResScale set to: 1
00:00:00.372 |I| Configuration LogValueChange: ResScaleCustom set to: 1
00:00:00.372 |I| Configuration LogValueChange: MaxAnisotropy set to: -1
00:00:00.373 |I| Configuration LogValueChange: AspectRatio set to: Fixed16x9
00:00:00.374 |I| Configuration LogValueChange: GraphicsBackend set to: Vulkan
00:00:00.402 |N| Application PrintSystemInfo: Ryujinx Version: 1.0.0+0165c9d
00:00:00.409 |N| Application Print: Operating System: Linux 5.13.4-200.fc34.x86_64 #1 SMP Tue Jul 20 20:27:29 UTC 2021 (X64)
00:00:00.409 |N| Application Print: CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz ; 8 logical
00:00:00.409 |N| Application Print: RAM: Total 15689 MB ; Available 11119 MB
00:00:00.412 |N| Application PrintSystemInfo: Logs Enabled: Warning, Error
00:00:00.412 |N| Application PrintSystemInfo: Launch Mode: UserProfile
00:00:00.463 |N| Application LoadApplication: Using Firmware Version: 9.0.1
00:00:01.453 |E| GUI.RenderLoop Application : Unhandled exception caught: System.DllNotFoundException: Unable to load shared library 'shaderc_shared' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libshaderc_shared: cannot open shared object file: No such file or directory
   at shaderc.NativeMethods.shaderc_compile_options_initialize()
   at shaderc.Options..ctor(Boolean enableIncludes)
   at Ryujinx.Graphics.Vulkan.Shader..ctor(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, String glsl)
   at Ryujinx.Graphics.Vulkan.TextureBlit..ctor(VulkanGraphicsDevice gd, Device device)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.SetupContext(GraphicsDebugLevel logLevel, String[] requiredExtensions)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.Initialize(GraphicsDebugLevel logLevel)
   at Ryujinx.Ui.RendererWidgetBase.Render()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Unhandled exception. System.DllNotFoundException: Unable to load shared library 'shaderc_shared' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libshaderc_shared: cannot open shared object file: No such file or directory
   at shaderc.NativeMethods.shaderc_compile_options_initialize()
   at shaderc.Options..ctor(Boolean enableIncludes)
   at Ryujinx.Graphics.Vulkan.Shader..ctor(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, String glsl)
   at Ryujinx.Graphics.Vulkan.TextureBlit..ctor(VulkanGraphicsDevice gd, Device device)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.SetupContext(GraphicsDebugLevel logLevel, String[] requiredExtensions)
   at Ryujinx.Graphics.Vulkan.VulkanGraphicsDevice.Initialize(GraphicsDebugLevel logLevel)
   at Ryujinx.Ui.RendererWidgetBase.Render()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Aborted (core dumped)

Perhaps you need to install this dependency, for example for arch this package https://archlinux.org/packages/extra/x86_64/shaderc/ provides this shared library, for fedora find a way to get libshaderc

Thanks! It worked. I had to symblink libshaderc_shared.so.1 > libshaderc_shared.so because it didn't exist.

$ sudo dnf install libshaderc
$ sudo ln -s /usr/lib64/libshaderc_shared.so.1 /usr/lib64/libshaderc_shared.so

@d3ce1t
Copy link
Contributor

d3ce1t commented Aug 1, 2021

System info

00:00:00.382 |N| Application PrintSystemInfo: Ryujinx Version: 1.0.0+0165c9d
00:00:00.389 |N| Application Print: Operating System: Linux 5.13.4-200.fc34.x86_64 #1 SMP Tue Jul 20 20:27:29 UTC 2021 (X64)
00:00:00.389 |N| Application Print: CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz ; 8 logical
00:00:00.389 |N| Application Print: RAM: Total 15689 MB ; Available 11588 MB
00:00:00.391 |N| Application PrintSystemInfo: Logs Enabled: Warning, Error
00:00:00.391 |N| Application PrintSystemInfo: Launch Mode: UserProfile
00:00:00.402 |N| Application LoadApplication: Using Firmware Version: 9.0.1
00:00:01.712 |N| GUI.RenderLoop Gpu PrintGpuInformation: Intel Intel(R) UHD Graphics 620 (KBL GT2) (Vulkan v1.2.168, Driver v21.1.5)

New Super Mario Bros U Deluxe

Note: Performance is better in OpenGL and there no graphic issues

image

image

@jduncanator
Copy link
Collaborator

System info


00:00:00.382 |N| Application PrintSystemInfo: Ryujinx Version: 1.0.0+0165c9d

00:00:00.389 |N| Application Print: Operating System: Linux 5.13.4-200.fc34.x86_64 #1 SMP Tue Jul 20 20:27:29 UTC 2021 (X64)

00:00:00.389 |N| Application Print: CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz ; 8 logical

00:00:00.389 |N| Application Print: RAM: Total 15689 MB ; Available 11588 MB

00:00:00.391 |N| Application PrintSystemInfo: Logs Enabled: Warning, Error

00:00:00.391 |N| Application PrintSystemInfo: Launch Mode: UserProfile

00:00:00.402 |N| Application LoadApplication: Using Firmware Version: 9.0.1

00:00:01.712 |N| GUI.RenderLoop Gpu PrintGpuInformation: Intel Intel(R) UHD Graphics 620 (KBL GT2) (Vulkan v1.2.168, Driver v21.1.5)

New Super Mario Bros U Deluxe

Note: Performance is better in OpenGL and there no graphic issues

image

image

Mesa OpenGL is likely going to be the preferred choice for many users for a while, until Vulkan can be refined and optimised. It's really only Intel and AMD on Windows that suffer the most from OpenGL and Vulkan provides a big boost there.

Eventually, the hope is, that Vulkan becomes the first class backend, however the first iteration was never going to beat OpenGL on Mesa or the NV OGL drivers on Windows.

@jduncanator
Copy link
Collaborator

jduncanator commented Aug 2, 2021

Windows 10, Ryzen 3600, GTX 960 2 GB VRAM, 16 GB RAM

Taiko graphics broken
image

Taiko graphics look related to Alpha test/blend support as well.

@gdkchan
Copy link
Member Author

gdkchan commented Aug 2, 2021

Most (all?) games fail to boot with a resolution scale greater than 1 set, with the following exception:

Changing resolution scale whilst in-game results in a crash:

Crashes shortly after the stadium intro cutscene starts playing, with the following exception:

Fixed on 266be80.

Character models are missing, even on 21.2.3 drivers.

Character models are exploded at character select screen.

Character models are exploded.

Character models are exploded here too.

Character models are exploded here as well:

Fixed on 66dd537.

@gdkchan
Copy link
Member Author

gdkchan commented Aug 2, 2021

Note for AMD GPU users on Windows: The issue causing model vertices being stretched out was fixed. The crash when changing the resolution scale was fixed. The crash on Pokémon Sword on scenes with DoF or fog effects was also fixed. If you find any more games with vertex explosions etc exclusive to AMD, please let me know. Downgrading the driver should be no longer needed, just use the latest version. The window transparency issue was not fixed yet, I was not able to find a way to reproduce it so far, only some systems are affected.

@molitar
Copy link

molitar commented Aug 2, 2021

Note for AMD GPU users on Windows: The issue causing model vertices being stretched out was fixed. The crash when changing the resolution scale was fixed. The crash on Pokémon Sword on scenes with DoF or fog effects was also fixed. If you find any more games with vertex explosions etc exclusive to AMD, please let me know. Downgrading the driver should be no longer needed, just use the latest version. The window transparency issue was not fixed yet, I was not able to find a way to reproduce it so far, only some systems are affected.

This is something changed in today's release the old release from yesterday did not have the transparency problem.

@rolmerin
Copy link

rolmerin commented Aug 2, 2021

Note for AMD GPU users on Windows: The issue causing model vertices being stretched out was fixed. The crash when changing the resolution scale was fixed. The crash on Pokémon Sword on scenes with DoF or fog effects was also fixed. If you find any more games with vertex explosions etc exclusive to AMD, please let me know. Downgrading the driver should be no longer needed, just use the latest version. The window transparency issue was not fixed yet, I was not able to find a way to reproduce it so far, only some systems are affected.

Hi,I found that window transparency issue can be 100% reproduced through ReShade.When installing ReShade,make sure to click "enable/disable ReShade in Vulkan globally".Then select Ryujinx installation folder,and vulkan api.
Tested in windows 10 ,ReShade 4.9.1.
111

Besides,I also found another way to repoduce the issue wihout using ReShade.
When loading a savadata in BRAVELY DEFAULT II,the game will just stuck in the loading screen.Then click minimize or maximize , the window will become transparent.
All tested in AMD RX590 video card ,windows 10 21H1

Edit:add screenshots.

Ryujinx_1.0.0+b32f116_2021-08-02_18-21-11.log

2

@jduncanator
Copy link
Collaborator

Note for AMD GPU users on Windows: The issue causing model vertices being stretched out was fixed. The crash when changing the resolution scale was fixed. The crash on Pokémon Sword on scenes with DoF or fog effects was also fixed. If you find any more games with vertex explosions etc exclusive to AMD, please let me know. Downgrading the driver should be no longer needed, just use the latest version. The window transparency issue was not fixed yet, I was not able to find a way to reproduce it so far, only some systems are affected.

Hi,I found that window transparency issue can be 100% reproduced through ReShade.When installing ReShade,make sure to click "enable/disable ReShade in Vulkan globally".Then select Ryujinx installation folder,and vulkan api.
Tested in windows 10 ,ReShade 4.9.1.
Besides,I also found another way to repoduce the issue wihout using ReShade.
When loading a savadata in BRAVELY DEFAULT II,the game will just stuck in the loading screen.Then click minimize or maximize , the window will become transparent.
Tested in AMD RX590 video card
Ryujinx_1.0.0+b32f116_2021-08-02_18-21-11.log

Can you provide a screenshot to demonstrate each of the issues? The issue with BRAVELY DEFAULT II sounds like a standard issue that exists in master on all vendors at the moment.

@jduncanator
Copy link
Collaborator

I've tested both of the above transparency issues, and neither reproduced the issue where some users see the entire window going semi-transparent. A video reproducing this issue can be found here: https://youtu.be/qRnNafuG9fo?t=310

@Leischii
Copy link

Leischii commented Aug 2, 2021

I've tested both of the above transparency issues, and neither reproduced the issue where some users see the entire window going semi-transparent. A video reproducing this issue can be found here: https://youtu.be/qRnNafuG9fo?t=310

The transparency issue can be fixed by turning off image sharpening in the radeon software. Should also work the other way around to trigger it.

@jduncanator
Copy link
Collaborator

I've tested both of the above transparency issues, and neither reproduced the issue where some users see the entire window going semi-transparent. A video reproducing this issue can be found here: https://youtu.be/qRnNafuG9fo?t=310

The transparency issue can be fixed by turning off image sharpening in the radeon software. Should also work the other way around to trigger it.

Thanks legend~! Can confirm that this causes the issue on latest AMD drivers on Windows... attempting to figure out what causes it now!

image

@molitar
Copy link

molitar commented Aug 2, 2021

Disabling sharpening worked for me also for the transparency issue but not my crashing issue on loading Dragon Quest XI.

Ryujinx_1.0.0+b32f116_2021-08-02_12-07-43.log

@GamerzHell9137
Copy link

Disabling sharpening worked for me also for the transparency issue but not my crashing issue on loading Dragon Quest XI.

Ryujinx_1.0.0+b32f116_2021-08-02_12-07-43.log

Try deleting PPTC and Shader cache, sometimes games crash when they have older files that are being loaded in or something.

@rgbarros120

This comment was marked as spam.

@rgbarros120

This comment was marked as spam.

@SomeoneIsWorking
Copy link

Win10 RX 570 22.7.1
Xenoblade Chronicles: Definitive Edition recently started glitch
Can't pinpoint but this problem wasn't there a few days ago with same drivers
Corrupted character portraits
Video contains heavy spoilers: https://imgur.com/a/tu38UUs

@gdkchan
Copy link
Member Author

gdkchan commented Jul 31, 2022

Win10 RX 570 22.7.1 Xenoblade Chronicles: Definitive Edition recently started glitch Can't pinpoint but this problem wasn't there a few days ago with same drivers Corrupted character portraits Video contains heavy spoilers: https://imgur.com/a/tu38UUs

Are you using resolution scale? If so, does the issue happen at native resolution (1x)?

@gdkchan
Copy link
Member Author

gdkchan commented Jul 31, 2022

I'm not entirely sure how SomeoneIsWorking managed to get the game running with Vulkan on AMD. I have the same card and the latest optional drivers and when trying to use the Vulkan backend, it just crashes before the title screen appears. Have cleared caches. Tried with and without backend multhreading. With and without resolution mods. Ryujinx_1.1.0+2c08825_2022-07-31_15-34-11.log

That was Xenoblade Chronicles Definitive Edition, not Xenoblade Chronicles 3, they are different games.

@gdkchan gdkchan merged commit 2232e4a into Ryujinx:master Jul 31, 2022
@gdkchan
Copy link
Member Author

gdkchan commented Jul 31, 2022

Thanks to everyone that helped testing Vulkan over the past year! Since it is now merged, please open separate issues for the remaining problems with Vulkan, rather than posting them here. Thanks.

@SomeoneIsWorking
Copy link

SomeoneIsWorking commented Jul 31, 2022

Win10 RX 570 22.7.1 Xenoblade Chronicles: Definitive Edition recently started glitch Can't pinpoint but this problem wasn't there a few days ago with same drivers Corrupted character portraits Video contains heavy spoilers: https://imgur.com/a/tu38UUs

Are you using resolution scale? If so, does the issue happen at native resolution (1x)?

It only happens at 1x, looks fine on 2x and up
My bug report is probably wrong and this started happening because I lowered the resolution

@gamedevsam
Copy link

I just want to say... bravo.

@supernarutoash11
Copy link

oi CDAKACHAN pode deixar eu entrar no discord por favor meu amigo

@markbex
Copy link

markbex commented Sep 9, 2022 via email

@Ryujinx Ryujinx locked as resolved and limited conversation to collaborators Sep 9, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request gpu Related to Ryujinx.Graphics
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Animal Crossing: New Horizons gets freeze when I enter any building