diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 379f47573..c64b58316 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -231,8 +231,8 @@ namespace Ryujinx.Graphics.Vulkan return; } - BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + BeginRenderPass(); ResumeTransformFeedbackInternal(); DrawCount++; @@ -260,8 +260,8 @@ namespace Ryujinx.Graphics.Vulkan return; } - BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + BeginRenderPass(); ResumeTransformFeedbackInternal(); DrawCount++; @@ -348,8 +348,8 @@ namespace Ryujinx.Graphics.Vulkan return; } - BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + BeginRenderPass(); ResumeTransformFeedbackInternal(); DrawCount++; @@ -378,8 +378,8 @@ namespace Ryujinx.Graphics.Vulkan return; } - BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + BeginRenderPass(); ResumeTransformFeedbackInternal(); DrawCount++; diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 66f36855e..6554386c5 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -374,10 +374,17 @@ namespace Ryujinx.Graphics.Vulkan ExtendedDynamicState = supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName) }; + var featuresVk11 = new PhysicalDeviceVulkan11Features() + { + SType = StructureType.PhysicalDeviceVulkan11Features, + PNext = &featuresExtendedDynamicState, + ShaderDrawParameters = true + }; + var featuresVk12 = new PhysicalDeviceVulkan12Features() { SType = StructureType.PhysicalDeviceVulkan12Features, - PNext = &featuresExtendedDynamicState, + PNext = &featuresVk11, DrawIndirectCount = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName) };