Set MaxActiveMetalCommandBuffersPerQueue to 128 and ensure that Null Descriptors is set to false

This commit is contained in:
Stossy11 2024-12-17 11:39:57 +11:00
parent aca5ee8305
commit ec16e150f6
4 changed files with 3 additions and 4 deletions

View File

@ -38,10 +38,7 @@ struct ContentView: View {
_config = State(initialValue: defaultConfig)
let defaultSettings: [MoltenVKSettings] = [
MoltenVKSettings(string: "MVK_CONFIG_MAX_ACTIVE_METAL_COMMAND_BUFFERS_PER_QUEUE", value: "192"),
MoltenVKSettings(string: "MVK_CONFIG_PREFILL_METAL_COMMAND_BUFFERS", value: "2"),
MoltenVKSettings(string: "MVK_USE_METAL_PRIVATE_API", value: "1"),
MoltenVKSettings(string: "MVK_CONFIG_RESUME_LOST_DEVICE", value: "1"),
MoltenVKSettings(string: "MVK_CONFIG_USE_METAL_PRIVATE_API", value: "1")
]

View File

@ -26,6 +26,8 @@ namespace Ryujinx.Graphics.Vulkan.MoltenVK
config.SemaphoreSupportStyle = MVKVkSemaphoreSupportStyle.MVK_CONFIG_VK_SEMAPHORE_SUPPORT_STYLE_SINGLE_QUEUE;
config.SynchronousQueueSubmits = false;
config.MaxActiveMetalCommandBuffersPerQueue = 192;
config.ResumeLostDevice = true;
vkSetMoltenVKConfigurationMVK(IntPtr.Zero, config, configSize);

View File

@ -322,7 +322,7 @@ namespace Ryujinx.Graphics.Vulkan
_physicalDevice.IsDeviceExtensionPresent(ExtConditionalRendering.ExtensionName),
isDynamicStateSupported,
features2.Features.MultiViewport && !(IsMoltenVk && Vendor == Vendor.Amd), // Workaround for AMD on MoltenVK issue
featuresRobustness2.NullDescriptor || !IsMoltenVk,
!IsMoltenVk ? featuresRobustness2.NullDescriptor : false,
_physicalDevice.IsDeviceExtensionPresent(KhrPushDescriptor.ExtensionName),
featuresPrimitiveTopologyListRestart.PrimitiveTopologyListRestart,
featuresPrimitiveTopologyListRestart.PrimitiveTopologyPatchListRestart,