diff --git a/src/Ryujinx.Graphics.GAL/Capabilities.cs b/src/Ryujinx.Graphics.GAL/Capabilities.cs index f4b1d4d10..523293d25 100644 --- a/src/Ryujinx.Graphics.GAL/Capabilities.cs +++ b/src/Ryujinx.Graphics.GAL/Capabilities.cs @@ -42,6 +42,7 @@ namespace Ryujinx.Graphics.GAL public readonly bool SupportsViewportIndexVertexTessellation; public readonly bool SupportsViewportMask; public readonly bool SupportsViewportSwizzle; + public readonly bool SupportsSpirV; public readonly bool SupportsIndirectParameters; public readonly bool SupportsDepthClipControl; @@ -93,6 +94,7 @@ namespace Ryujinx.Graphics.GAL bool supportsViewportIndexVertexTessellation, bool supportsViewportMask, bool supportsViewportSwizzle, + bool supportsSpirV, bool supportsIndirectParameters, bool supportsDepthClipControl, uint maximumUniformBuffersPerStage, @@ -140,6 +142,7 @@ namespace Ryujinx.Graphics.GAL SupportsViewportIndexVertexTessellation = supportsViewportIndexVertexTessellation; SupportsViewportMask = supportsViewportMask; SupportsViewportSwizzle = supportsViewportSwizzle; + SupportsSpirV = supportsSpirV; SupportsIndirectParameters = supportsIndirectParameters; SupportsDepthClipControl = supportsDepthClipControl; MaximumUniformBuffersPerStage = maximumUniformBuffersPerStage; diff --git a/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs b/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs index 8a7ac8559..d99250470 100644 --- a/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs +++ b/src/Ryujinx.Graphics.OpenGL/OpenGLRenderer.cs @@ -167,6 +167,7 @@ namespace Ryujinx.Graphics.OpenGL supportsViewportIndexVertexTessellation: HwCapabilities.SupportsShaderViewportLayerArray, supportsViewportMask: HwCapabilities.SupportsViewportArray2, supportsViewportSwizzle: HwCapabilities.SupportsViewportSwizzle, + supportsSpirV: HwCapabilities.SupportsSpirV, supportsIndirectParameters: HwCapabilities.SupportsIndirectParameters, supportsDepthClipControl: true, maximumUniformBuffersPerStage: 13, // TODO: Avoid hardcoding those limits here and get from driver? diff --git a/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs b/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs index 7848bc877..a3ce05e4d 100644 --- a/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs +++ b/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs @@ -615,6 +615,7 @@ namespace Ryujinx.Graphics.Vulkan supportsViewportIndexVertexTessellation: featuresVk12.ShaderOutputViewportIndex, supportsViewportMask: Capabilities.SupportsViewportArray2, supportsViewportSwizzle: false, + supportsSpirV: true, supportsIndirectParameters: true, supportsDepthClipControl: Capabilities.SupportsDepthClipControl, maximumUniformBuffersPerStage: Constants.MaxUniformBuffersPerStage,