From 289a2f17c669d98f4ca4073d62204eb1f625ef8a Mon Sep 17 00:00:00 2001 From: sunshineinabox Date: Wed, 7 Feb 2024 11:09:59 -0800 Subject: [PATCH] Workaround failing transform feedback --- src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs | 6 +++++- src/Ryujinx.Graphics.OpenGL/Ryujinx.Graphics.OpenGL.csproj | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs b/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs index a6e6a4a92..472c3c50a 100644 --- a/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs +++ b/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs @@ -6,6 +6,8 @@ using Ryujinx.Graphics.OpenGL.Image; using Ryujinx.Graphics.OpenGL.Queries; using Ryujinx.Graphics.Shader.Translation; using System; +using System.Runtime.InteropServices; +using Ryujinx.Graphics.Gpu; namespace Ryujinx.Graphics.OpenGL { @@ -134,6 +136,8 @@ namespace Ryujinx.Graphics.OpenGL bool intelWindows = HwCapabilities.Vendor == HwCapabilities.GpuVendor.IntelWindows; bool intelUnix = HwCapabilities.Vendor == HwCapabilities.GpuVendor.IntelUnix; bool amdWindows = HwCapabilities.Vendor == HwCapabilities.GpuVendor.AmdWindows; + bool spirVWindows = GraphicsConfig.ShadingLanguage == ShadingLanguage.SPIRV && + RuntimeInformation.IsOSPlatform(OSPlatform.Windows); return new Capabilities( api: TargetApi.OpenGL, @@ -159,7 +163,7 @@ namespace Ryujinx.Graphics.OpenGL supportsFragmentShaderOrderingIntel: HwCapabilities.SupportsFragmentShaderOrdering, supportsGeometryShader: true, supportsGeometryShaderPassthrough: HwCapabilities.SupportsGeometryShaderPassthrough, - supportsTransformFeedback: true, + supportsTransformFeedback: !spirVWindows, supportsImageLoadFormatted: HwCapabilities.SupportsImageLoadFormatted, supportsLayerVertexTessellation: HwCapabilities.SupportsShaderViewportLayerArray, supportsMismatchingViewFormat: HwCapabilities.SupportsMismatchingViewFormat, diff --git a/src/Ryujinx.Graphics.OpenGL/Ryujinx.Graphics.OpenGL.csproj b/src/Ryujinx.Graphics.OpenGL/Ryujinx.Graphics.OpenGL.csproj index 3d64da99b..384a39a33 100644 --- a/src/Ryujinx.Graphics.OpenGL/Ryujinx.Graphics.OpenGL.csproj +++ b/src/Ryujinx.Graphics.OpenGL/Ryujinx.Graphics.OpenGL.csproj @@ -26,6 +26,7 @@ +