Merge branch 'master' into GetPhysicalCoreCount

This commit is contained in:
sunshineinabox 2023-07-10 21:08:17 -07:00 committed by GitHub
commit b7b787af16
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View file

@ -144,9 +144,9 @@ namespace Ryujinx.Graphics.Vulkan
{ {
_drawCountSinceBarrier = DrawCount; _drawCountSinceBarrier = DrawCount;
// Barriers apparently have no effect inside a render pass on MoltenVK. // Barriers are not supported inside a render pass on Apple GPUs.
// As a workaround, end the render pass. // As a workaround, end the render pass.
if (Gd.IsMoltenVk) if (Gd.Vendor == Vendor.Apple)
{ {
EndRenderPass(); EndRenderPass();
} }

View file

@ -315,7 +315,7 @@ namespace Ryujinx.Graphics.Vulkan
features2.Features.ShaderStorageImageMultisample, features2.Features.ShaderStorageImageMultisample,
_physicalDevice.IsDeviceExtensionPresent(ExtConditionalRendering.ExtensionName), _physicalDevice.IsDeviceExtensionPresent(ExtConditionalRendering.ExtensionName),
_physicalDevice.IsDeviceExtensionPresent(ExtExtendedDynamicState.ExtensionName), _physicalDevice.IsDeviceExtensionPresent(ExtExtendedDynamicState.ExtensionName),
features2.Features.MultiViewport, features2.Features.MultiViewport && !(IsMoltenVk && Vendor == Vendor.Amd), // Workaround for AMD on MoltenVK issue
featuresRobustness2.NullDescriptor || IsMoltenVk, featuresRobustness2.NullDescriptor || IsMoltenVk,
_physicalDevice.IsDeviceExtensionPresent(KhrPushDescriptor.ExtensionName), _physicalDevice.IsDeviceExtensionPresent(KhrPushDescriptor.ExtensionName),
featuresPrimitiveTopologyListRestart.PrimitiveTopologyListRestart, featuresPrimitiveTopologyListRestart.PrimitiveTopologyListRestart,
@ -680,7 +680,8 @@ namespace Ryujinx.Graphics.Vulkan
IsAmdWindows = Vendor == Vendor.Amd && OperatingSystem.IsWindows(); IsAmdWindows = Vendor == Vendor.Amd && OperatingSystem.IsWindows();
IsIntelWindows = Vendor == Vendor.Intel && OperatingSystem.IsWindows(); IsIntelWindows = Vendor == Vendor.Intel && OperatingSystem.IsWindows();
IsTBDR = IsMoltenVk || IsTBDR =
Vendor == Vendor.Apple ||
Vendor == Vendor.Qualcomm || Vendor == Vendor.Qualcomm ||
Vendor == Vendor.ARM || Vendor == Vendor.ARM ||
Vendor == Vendor.Broadcom || Vendor == Vendor.Broadcom ||