Tweak feedback loop restriction logic

This commit is contained in:
KeatonTheBot
2026-03-18 18:23:37 -05:00
parent 1b714ab1aa
commit d7f90f9f1f
2 changed files with 16 additions and 17 deletions
@@ -1531,9 +1531,6 @@ namespace Ryujinx.Graphics.Vulkan
}
private bool ChangeFeedbackLoop(FeedbackLoopAspects aspects)
{
// AMD RDNA 3 GPUs + Qualcomm SoCs only
if (Gd.IsAmdRdna3 || Gd.Vendor == Vendor.Qualcomm)
{
if (_feedbackLoop != aspects)
{
@@ -1550,7 +1547,6 @@ namespace Ryujinx.Graphics.Vulkan
return true;
}
}
return false;
}
@@ -91,6 +91,7 @@ namespace Ryujinx.Graphics.Vulkan
internal bool IsIntelLinux { get; private set; }
internal bool IsAmdGcn { get; private set; }
internal bool IsAmdRdna3 { get; private set; }
internal bool IsFeedbackLoopDevice { get; private set; }
internal bool IsNvidiaPreTuring { get; private set; }
internal bool IsIntelArc { get; private set; }
internal bool IsQualcommProprietary { get; private set; }
@@ -376,6 +377,8 @@ namespace Ryujinx.Graphics.Vulkan
// ROG Ally (X) Device IDs
|| properties.DeviceID is 0x15BF or 0x15C8 or 0x150E);
IsFeedbackLoopDevice = IsAmdRdna3;
if (Vendor == Vendor.Nvidia)
{
var match = VendorUtils.NvidiaConsumerClassRegex().Match(GpuRenderer);
@@ -439,8 +442,8 @@ namespace Ryujinx.Graphics.Vulkan
_physicalDevice.IsDeviceExtensionPresent("VK_NV_viewport_array2"),
_physicalDevice.IsDeviceExtensionPresent(ExtExternalMemoryHost.ExtensionName),
supportsDepthClipControl && featuresDepthClipControl.DepthClipControl,
supportsAttachmentFeedbackLoop && featuresAttachmentFeedbackLoop.AttachmentFeedbackLoopLayout,
supportsDynamicAttachmentFeedbackLoop && featuresDynamicAttachmentFeedbackLoop.AttachmentFeedbackLoopDynamicState,
supportsAttachmentFeedbackLoop && featuresAttachmentFeedbackLoop.AttachmentFeedbackLoopLayout && IsFeedbackLoopDevice,
supportsDynamicAttachmentFeedbackLoop && featuresDynamicAttachmentFeedbackLoop.AttachmentFeedbackLoopDynamicState && IsFeedbackLoopDevice,
propertiesSubgroup.SubgroupSize,
supportedSampleCounts,
portabilityFlags,