Fix draw outside of render pass and missing capability

This commit is contained in:
gdk 2022-01-28 18:43:28 -03:00 committed by riperiperi
parent 5a3695c968
commit 36b3ab0741
2 changed files with 12 additions and 5 deletions

View file

@ -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++;

View file

@ -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)
};