Use dynamic state properly, cleanup.

This commit is contained in:
riperiperi 2024-08-30 20:14:23 +01:00
commit bd0737ba51
4 changed files with 4 additions and 15 deletions

View file

@ -55,20 +55,6 @@ namespace Ryujinx.Graphics.Vulkan
stages |= PipelineStageFlags.TransformFeedbackBitExt; stages |= PipelineStageFlags.TransformFeedbackBitExt;
} }
if (!gd.IsTBDR)
{
// Desktop GPUs can transform image barriers into memory barriers.
// ...but these cause VUID-VkSubpassDependency-srcSubpass-06809
/*
access |= AccessFlags.DepthStencilAttachmentWriteBit | AccessFlags.ColorAttachmentWriteBit;
access |= AccessFlags.DepthStencilAttachmentReadBit | AccessFlags.ColorAttachmentReadBit;
stages |= PipelineStageFlags.EarlyFragmentTestsBit | PipelineStageFlags.LateFragmentTestsBit;
stages |= PipelineStageFlags.ColorAttachmentOutputBit;
*/
}
return (access, stages); return (access, stages);
} }

View file

@ -126,6 +126,7 @@ namespace Ryujinx.Graphics.Vulkan
SupportsHostImportedMemory = supportsHostImportedMemory; SupportsHostImportedMemory = supportsHostImportedMemory;
SupportsDepthClipControl = supportsDepthClipControl; SupportsDepthClipControl = supportsDepthClipControl;
SupportsAttachmentFeedbackLoop = supportsAttachmentFeedbackLoop; SupportsAttachmentFeedbackLoop = supportsAttachmentFeedbackLoop;
SupportsDynamicAttachmentFeedbackLoop = supportsDynamicAttachmentFeedbackLoop;
SubgroupSize = subgroupSize; SubgroupSize = subgroupSize;
SupportedSampleCounts = supportedSampleCounts; SupportedSampleCounts = supportedSampleCounts;
PortabilitySubset = portabilitySubset; PortabilitySubset = portabilitySubset;

View file

@ -1566,7 +1566,8 @@ namespace Ryujinx.Graphics.Vulkan
foreach (TextureView view in hazards) foreach (TextureView view in hazards)
{ {
// TODO: enforce layout // May need to enforce feedback loop layout here in the future.
// Though technically, it should always work with the general layout.
if (view.Info.Format.IsDepthOrStencil()) if (view.Info.Format.IsDepthOrStencil())
{ {

View file

@ -45,6 +45,7 @@ namespace Ryujinx.Graphics.Vulkan
"VK_KHR_8bit_storage", "VK_KHR_8bit_storage",
"VK_KHR_maintenance2", "VK_KHR_maintenance2",
"VK_EXT_attachment_feedback_loop_layout", "VK_EXT_attachment_feedback_loop_layout",
"VK_EXT_attachment_feedback_loop_dynamic_state",
}; };
private static readonly string[] _requiredExtensions = { private static readonly string[] _requiredExtensions = {