Skip to content

Commit

Permalink
Merge pull request #525 from Helco/fix-portability-moltenvk
Browse files Browse the repository at this point in the history
Add VK_KHR_portability_enumeration extension and flag
  • Loading branch information
smoogipoo committed Feb 24, 2024
2 parents fa4032d + cd97286 commit 8ef576a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/Veldrid/Vk/CommonStrings.cs
Expand Up @@ -19,5 +19,6 @@ internal static class CommonStrings
public static FixedUtf8String main { get; } = "main";
public static FixedUtf8String VK_KHR_get_physical_device_properties2 { get; } = "VK_KHR_get_physical_device_properties2";
public static FixedUtf8String VK_KHR_portability_subset { get; } = "VK_KHR_portability_subset";
public static FixedUtf8String VK_KHR_portability_enumeration { get; } = "VK_KHR_portability_enumeration";
}
}
7 changes: 7 additions & 0 deletions src/Veldrid/Vk/VkGraphicsDevice.cs
Expand Up @@ -13,6 +13,7 @@ namespace Veldrid.Vk
{
internal unsafe class VkGraphicsDevice : GraphicsDevice
{
private const uint VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001;
private static readonly FixedUtf8String s_name = "Veldrid-VkGraphicsDevice";
private static readonly Lazy<bool> s_isSupported = new Lazy<bool>(CheckIsSupported, isThreadSafe: true);

Expand Down Expand Up @@ -473,6 +474,12 @@ private void CreateInstance(bool debug, VulkanDeviceOptions options)
_surfaceExtensions.Add(CommonStrings.VK_KHR_portability_subset);
}

if (availableInstanceExtensions.Contains(CommonStrings.VK_KHR_portability_enumeration))
{
instanceExtensions.Add(CommonStrings.VK_KHR_portability_enumeration);
instanceCI.flags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
}

if (availableInstanceExtensions.Contains(CommonStrings.VK_KHR_SURFACE_EXTENSION_NAME))
{
_surfaceExtensions.Add(CommonStrings.VK_KHR_SURFACE_EXTENSION_NAME);
Expand Down

0 comments on commit 8ef576a

Please sign in to comment.