diff --git a/src/codegen/XenoAtom.Interop.CodeGen/vulkan/VulkanGenerator.cs b/src/codegen/XenoAtom.Interop.CodeGen/vulkan/VulkanGenerator.cs
index bbabc10..5a101dd 100644
--- a/src/codegen/XenoAtom.Interop.CodeGen/vulkan/VulkanGenerator.cs
+++ b/src/codegen/XenoAtom.Interop.CodeGen/vulkan/VulkanGenerator.cs
@@ -3,6 +3,7 @@
// See license.txt file in the project root for full license information.
using System;
using System.Collections.Generic;
+using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.IO.Compression;
@@ -319,8 +320,20 @@ private void ProcessVulkanFunction(CSharpMethod csFunction)
var cppFunction = (CppFunction)csFunction.CppElement!;
- pfn.BaseTypes.Add(new CSharpGenericTypeReference("IvkFunctionPointer", [pfn]));
+ var extensionKind = VulkanExtensionKind.Unknown;
+ if (_vulkanElementInfos.TryGetValue(cppFunction.Name, out var elementInfo))
+ {
+ extensionKind = elementInfo.ExtensionKind;
+ }
+ pfn.BaseTypes.Add(new CSharpGenericTypeReference(
+ extensionKind switch
+ {
+ VulkanExtensionKind.Instance => "IvkInstanceFunctionPointer",
+ VulkanExtensionKind.Device => "IvkDeviceFunctionPointer",
+ _ => "IvkCoreFunctionPointer",
+ }, [pfn]));
+
var csProperty = new CSharpProperty("Name")
{
ReturnType = new CSharpFreeType($"ReadOnlyMemoryUtf8"),
@@ -1027,8 +1040,9 @@ private bool TryGetVulkanCommand(string name, [NotNullWhen(true)] out VulkanComm
private void LoadVulkanRegistry(string registryPath)
{
var doc = XDocument.Load(registryPath);
- LoadApiVersionsAndExtensions(doc);
- LoadVulkanParametersFromRegistry(doc);
+ LoadApiVersionsAndExtensionsFromRegistry(doc);
+ LoadCommandParameterFromRegistry(doc);
+ LoadStructureTypesFromRegistry(doc);
}
private void AddVulkanVersionAndExtensionInfoToCSharpElement(CSharpElement element)
@@ -1078,7 +1092,7 @@ private void AddVulkanVersionAndExtensionInfoToCSharpElement(CSharpElement eleme
}
}
- private void LoadApiVersionsAndExtensions(XDocument doc)
+ private void LoadApiVersionsAndExtensionsFromRegistry(XDocument doc)
{
var features = doc.Descendants("feature");
foreach (var feature in features)
@@ -1093,14 +1107,14 @@ private void LoadApiVersionsAndExtensions(XDocument doc)
foreach (var type in feature.Descendants("type"))
{
var name = type.Attribute("name")!.Value!;
- var info = GetVulkanElementInfo(name);
+ var info = GetOrCreateVulkanElementInfo(name);
info.ApiVersion = version;
}
foreach (var command in feature.Descendants("command"))
{
var name = command.Attribute("name")!.Value!;
- var info = GetVulkanElementInfo(name);
+ var info = GetOrCreateVulkanElementInfo(name);
info.ApiVersion = version;
}
}
@@ -1110,31 +1124,45 @@ private void LoadApiVersionsAndExtensions(XDocument doc)
{
foreach (var extension in extensions.Elements("extension"))
{
+ var extensionName = extension.Attribute("name")!.Value!;
+ VulkanExtensionKind extensionKind = VulkanExtensionKind.Unknown;
+ var extensionTypeAttr = extension.Attribute("type");
+ if (extensionTypeAttr is not null)
+ {
+ extensionKind = extensionTypeAttr.Value switch
+ {
+ "device" => VulkanExtensionKind.Device,
+ "instance" => VulkanExtensionKind.Instance,
+ _ => throw new InvalidOperationException($"The extension type {extensionTypeAttr.Value} is not supported")
+ };
+ }
+
var supportedApis = extension.Attribute("supported")!.Value!;
if (!supportedApis.Split(",").Contains("vulkan"))
{
continue;
}
-
- var extensionName = extension.Attribute("name")!.Value!;
-
+
foreach (var type in extension.Descendants("type"))
{
var name = type.Attribute("name")!.Value!;
- var info = GetVulkanElementInfo(name);
+ var info = GetOrCreateVulkanElementInfo(name);
+ info.ExtensionKind = extensionKind;
info.Extension = extensionName;
}
foreach (var command in extension.Descendants("command"))
{
var name = command.Attribute("name")!.Value!;
- var info = GetVulkanElementInfo(name);
+ var info = GetOrCreateVulkanElementInfo(name);
+
+ info.ExtensionKind = extensionKind;
info.Extension = extensionName;
}
}
}
-
- VulkanElementInfo GetVulkanElementInfo(string name)
+
+ VulkanElementInfo GetOrCreateVulkanElementInfo(string name)
{
if (_vulkanElementInfos.TryGetValue(name, out var info))
{
@@ -1145,8 +1173,9 @@ VulkanElementInfo GetVulkanElementInfo(string name)
return info;
}
}
-
- private void LoadVulkanParametersFromRegistry(XDocument doc)
+
+
+ private void LoadCommandParameterFromRegistry(XDocument doc)
{
var commands = doc.Descendants("commands").First();
@@ -1155,10 +1184,31 @@ private void LoadVulkanParametersFromRegistry(XDocument doc)
{
string name;
string? alias = xmlCommand.Attribute("alias")?.Value;
+
if (alias != null)
{
name = xmlCommand.Attribute("name")!.Value;
- _functionRegistry.Add(name, new VulkanCommand(name) { Alias = alias });
+
+ if (!_vulkanElementInfos.TryGetValue(name, out var info))
+ {
+ throw new InvalidOperationException($"Cannot find Vulkan element info for alias {name}");
+ }
+ // Add alias information
+ if (_vulkanElementInfos.TryGetValue(alias, out var aliasInfo))
+ {
+ aliasInfo.ExtensionKind = info.ExtensionKind;
+ aliasInfo.Extension = info.Extension;
+ aliasInfo.ApiVersion = info.ApiVersion;
+ }
+ else
+ {
+ _vulkanElementInfos.TryAdd(alias, info);
+ }
+
+ _functionRegistry.Add(name, new VulkanCommand(name)
+ {
+ Alias = alias,
+ });
continue;
}
@@ -1231,7 +1281,11 @@ private void LoadVulkanParametersFromRegistry(XDocument doc)
commandCount++;
}
+ Console.WriteLine($"Total commands: {commandCount} processed from the registry");
+ }
+ private void LoadStructureTypesFromRegistry(XDocument doc)
+ {
var types = doc.Descendants("types").FirstOrDefault();
if (types != null)
@@ -1263,8 +1317,6 @@ private void LoadVulkanParametersFromRegistry(XDocument doc)
}
}
}
-
- Console.WriteLine($"Total commands: {commandCount} processed from the registry");
}
[GeneratedRegex(@"^(\d+\.\d+\.\d+)")]
@@ -1844,6 +1896,15 @@ private record VulkanElementInfo
{
public string? ApiVersion { get; set; }
+ public VulkanExtensionKind ExtensionKind { get; set; }
+
public string? Extension { get; set; }
}
+
+ private enum VulkanExtensionKind
+ {
+ Unknown,
+ Instance,
+ Device,
+ }
}
\ No newline at end of file
diff --git a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vk_icd.generated.cs b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vk_icd.generated.cs
index ff3c967..fc77490 100644
--- a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vk_icd.generated.cs
+++ b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vk_icd.generated.cs
@@ -283,7 +283,7 @@ public partial struct VkIcdSurfaceImagePipe
///
/// Typedefs for loader/ICD interface
///
- public readonly partial struct PFN_vk_icdNegotiateLoaderICDInterfaceVersion : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vk_icdNegotiateLoaderICDInterfaceVersion : IEquatable, IvkCoreFunctionPointer
{
public PFN_vk_icdNegotiateLoaderICDInterfaceVersion(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -320,7 +320,7 @@ public vulkan.VkResult Invoke(uint* pVersion)
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vk_icdGetInstanceProcAddr : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vk_icdGetInstanceProcAddr : IEquatable, IvkCoreFunctionPointer
{
public PFN_vk_icdGetInstanceProcAddr(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -357,7 +357,7 @@ public vulkan.PFN_vkVoidFunction Invoke(vulkan.VkInstance instance, byte* pName)
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vk_icdGetPhysicalDeviceProcAddr : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vk_icdGetPhysicalDeviceProcAddr : IEquatable, IvkCoreFunctionPointer
{
public PFN_vk_icdGetPhysicalDeviceProcAddr(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -394,7 +394,7 @@ public vulkan.PFN_vkVoidFunction Invoke(vulkan.VkInstance instance, byte* pName)
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vk_icdEnumerateAdapterPhysicalDevices : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vk_icdEnumerateAdapterPhysicalDevices : IEquatable, IvkCoreFunctionPointer
{
public PFN_vk_icdEnumerateAdapterPhysicalDevices(delegate*unmanaged[Stdcall] value) => this.Value = value;
diff --git a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vk_layer.generated.cs b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vk_layer.generated.cs
index 9387f4b..d949126 100644
--- a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vk_layer.generated.cs
+++ b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vk_layer.generated.cs
@@ -427,7 +427,7 @@ public partial struct VkEnumerateInstanceVersionChain
///
/// Version negotiation functions
///
- public readonly partial struct PFN_vkNegotiateLoaderLayerInterfaceVersion : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkNegotiateLoaderLayerInterfaceVersion : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkNegotiateLoaderLayerInterfaceVersion(delegate*unmanaged[Stdcall] value) => this.Value = value;
diff --git a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_android.generated.cs b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_android.generated.cs
index 8d98d00..cef7038 100644
--- a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_android.generated.cs
+++ b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_android.generated.cs
@@ -315,7 +315,7 @@ public partial struct VkAndroidHardwareBufferFormatProperties2ANDROID()
public vulkan.VkChromaLocation suggestedYChromaOffset;
}
- public readonly partial struct PFN_vkCreateAndroidSurfaceKHR : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkCreateAndroidSurfaceKHR : IEquatable, IvkInstanceFunctionPointer
{
public PFN_vkCreateAndroidSurfaceKHR(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -391,7 +391,7 @@ public vulkan.VkResult Invoke(vulkan.VkInstance instance, in vulkan.VkAndroidSur
}
}
- public readonly partial struct PFN_vkGetAndroidHardwareBufferPropertiesANDROID : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetAndroidHardwareBufferPropertiesANDROID : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkGetAndroidHardwareBufferPropertiesANDROID(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -443,7 +443,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, vulkan.AHardwareBuffer buf
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetMemoryAndroidHardwareBufferANDROID : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetMemoryAndroidHardwareBufferANDROID : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkGetMemoryAndroidHardwareBufferANDROID(delegate*unmanaged[Stdcall] value) => this.Value = value;
diff --git a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_beta.generated.cs b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_beta.generated.cs
index 94765d5..3813c00 100644
--- a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_beta.generated.cs
+++ b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_beta.generated.cs
@@ -3333,7 +3333,7 @@ public partial struct VkAccelerationStructureTrianglesDisplacementMicromapNV()
public vulkan.VkMicromapEXT micromap;
}
- public readonly partial struct PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -3407,7 +3407,7 @@ public vulkan.VkResult Invoke(vulkan.VkPhysicalDevice physicalDevice, in vulkan.
}
}
- public readonly partial struct PFN_vkGetEncodedVideoSessionParametersKHR : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetEncodedVideoSessionParametersKHR : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkGetEncodedVideoSessionParametersKHR(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -3484,7 +3484,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, in vulkan.VkVideoEncodeSes
}
}
- public readonly partial struct PFN_vkCmdEncodeVideoKHR : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkCmdEncodeVideoKHR : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkCmdEncodeVideoKHR(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -3543,7 +3543,7 @@ public void Invoke(vulkan.VkCommandBuffer commandBuffer, in vulkan.VkVideoEncode
}
}
- public readonly partial struct PFN_vkCreateExecutionGraphPipelinesAMDX : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkCreateExecutionGraphPipelinesAMDX : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkCreateExecutionGraphPipelinesAMDX(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -3624,7 +3624,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, vulkan.VkPipelineCache pip
}
}
- public readonly partial struct PFN_vkGetExecutionGraphPipelineScratchSizeAMDX : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetExecutionGraphPipelineScratchSizeAMDX : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkGetExecutionGraphPipelineScratchSizeAMDX(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -3697,7 +3697,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, vulkan.VkPipeline executio
}
}
- public readonly partial struct PFN_vkGetExecutionGraphPipelineNodeIndexAMDX : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetExecutionGraphPipelineNodeIndexAMDX : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkGetExecutionGraphPipelineNodeIndexAMDX(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -3773,7 +3773,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, vulkan.VkPipeline executio
}
}
- public readonly partial struct PFN_vkCmdInitializeGraphScratchMemoryAMDX : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkCmdInitializeGraphScratchMemoryAMDX : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkCmdInitializeGraphScratchMemoryAMDX(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -3818,7 +3818,7 @@ public void Invoke(vulkan.VkCommandBuffer commandBuffer, vulkan.VkDeviceAddress
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkCmdDispatchGraphAMDX : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkCmdDispatchGraphAMDX : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkCmdDispatchGraphAMDX(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -3879,7 +3879,7 @@ public void Invoke(vulkan.VkCommandBuffer commandBuffer, vulkan.VkDeviceAddress
}
}
- public readonly partial struct PFN_vkCmdDispatchGraphIndirectAMDX : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkCmdDispatchGraphIndirectAMDX : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkCmdDispatchGraphIndirectAMDX(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -3940,7 +3940,7 @@ public void Invoke(vulkan.VkCommandBuffer commandBuffer, vulkan.VkDeviceAddress
}
}
- public readonly partial struct PFN_vkCmdDispatchGraphIndirectCountAMDX : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkCmdDispatchGraphIndirectCountAMDX : IEquatable, IvkDeviceFunctionPointer
{
public PFN_vkCmdDispatchGraphIndirectCountAMDX(delegate*unmanaged[Stdcall] value) => this.Value = value;
diff --git a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_core.generated.cs b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_core.generated.cs
index 4694f06..6bb8d12 100644
--- a/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_core.generated.cs
+++ b/src/vulkan/XenoAtom.Interop.vulkan/generated/vulkan/vulkan_core.generated.cs
@@ -53849,7 +53849,7 @@ public partial struct VkDrawMeshTasksIndirectCommandEXT
public static bool operator !=(VkEvent left, VkEvent right) => !left.Equals(right);
}
- public readonly partial struct PFN_vkGetInstanceProcAddr : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetInstanceProcAddr : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetInstanceProcAddr(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -53920,7 +53920,7 @@ public vulkan.PFN_vkVoidFunction Invoke(vulkan.VkInstance instance, byte* pName)
public static bool operator !=(VkDevice left, VkDevice right) => !left.Equals(right);
}
- public readonly partial struct PFN_vkGetDeviceProcAddr : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetDeviceProcAddr : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetDeviceProcAddr(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -53963,7 +53963,7 @@ public vulkan.PFN_vkVoidFunction Invoke(vulkan.VkDevice device, byte* pName)
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkDestroyDevice : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkDestroyDevice : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkDestroyDevice(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54206,7 +54206,7 @@ public void Invoke(vulkan.VkDevice device, vulkan.VkAllocationCallbacks* pAlloca
public static implicit operator vulkan.VkStencilFaceFlags (vulkan.VkStencilFaceFlagBits from) => new vulkan.VkStencilFaceFlags((uint)from);
}
- public readonly partial struct PFN_vkCreateInstance : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkCreateInstance : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkCreateInstance(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54258,7 +54258,7 @@ public vulkan.VkResult Invoke(vulkan.VkInstanceCreateInfo* pCreateInfo, vulkan.V
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkDestroyInstance : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkDestroyInstance : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkDestroyInstance(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54303,7 +54303,7 @@ public void Invoke(vulkan.VkInstance instance, vulkan.VkAllocationCallbacks* pAl
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkEnumeratePhysicalDevices : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkEnumeratePhysicalDevices : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkEnumeratePhysicalDevices(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54355,7 +54355,7 @@ public vulkan.VkResult Invoke(vulkan.VkInstance instance, uint* pPhysicalDeviceC
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetPhysicalDeviceFeatures : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetPhysicalDeviceFeatures : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetPhysicalDeviceFeatures(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54400,7 +54400,7 @@ public void Invoke(vulkan.VkPhysicalDevice physicalDevice, vulkan.VkPhysicalDevi
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetPhysicalDeviceFormatProperties : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetPhysicalDeviceFormatProperties : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetPhysicalDeviceFormatProperties(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54446,7 +54446,7 @@ public void Invoke(vulkan.VkPhysicalDevice physicalDevice, vulkan.VkFormat forma
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetPhysicalDeviceImageFormatProperties : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetPhysicalDeviceImageFormatProperties : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetPhysicalDeviceImageFormatProperties(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54502,7 +54502,7 @@ public vulkan.VkResult Invoke(vulkan.VkPhysicalDevice physicalDevice, vulkan.VkF
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetPhysicalDeviceProperties : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetPhysicalDeviceProperties : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetPhysicalDeviceProperties(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54547,7 +54547,7 @@ public void Invoke(vulkan.VkPhysicalDevice physicalDevice, vulkan.VkPhysicalDevi
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetPhysicalDeviceQueueFamilyProperties : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetPhysicalDeviceQueueFamilyProperties : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetPhysicalDeviceQueueFamilyProperties(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54593,7 +54593,7 @@ public void Invoke(vulkan.VkPhysicalDevice physicalDevice, uint* pQueueFamilyPro
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetPhysicalDeviceMemoryProperties : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetPhysicalDeviceMemoryProperties : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetPhysicalDeviceMemoryProperties(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54638,7 +54638,7 @@ public void Invoke(vulkan.VkPhysicalDevice physicalDevice, vulkan.VkPhysicalDevi
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkCreateDevice : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkCreateDevice : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkCreateDevice(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54691,7 +54691,7 @@ public vulkan.VkResult Invoke(vulkan.VkPhysicalDevice physicalDevice, vulkan.VkD
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkEnumerateInstanceExtensionProperties : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkEnumerateInstanceExtensionProperties : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkEnumerateInstanceExtensionProperties(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54743,7 +54743,7 @@ public vulkan.VkResult Invoke(byte* pLayerName, uint* pPropertyCount, vulkan.VkE
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkEnumerateDeviceExtensionProperties : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkEnumerateDeviceExtensionProperties : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkEnumerateDeviceExtensionProperties(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54796,7 +54796,7 @@ public vulkan.VkResult Invoke(vulkan.VkPhysicalDevice physicalDevice, byte* pLay
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkEnumerateInstanceLayerProperties : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkEnumerateInstanceLayerProperties : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkEnumerateInstanceLayerProperties(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54847,7 +54847,7 @@ public vulkan.VkResult Invoke(uint* pPropertyCount, vulkan.VkLayerProperties* pP
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkEnumerateDeviceLayerProperties : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkEnumerateDeviceLayerProperties : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkEnumerateDeviceLayerProperties(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54899,7 +54899,7 @@ public vulkan.VkResult Invoke(vulkan.VkPhysicalDevice physicalDevice, uint* pPro
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetDeviceQueue : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetDeviceQueue : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetDeviceQueue(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54946,7 +54946,7 @@ public void Invoke(vulkan.VkDevice device, uint queueFamilyIndex, uint queueInde
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkQueueSubmit : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkQueueSubmit : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkQueueSubmit(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -54999,7 +54999,7 @@ public vulkan.VkResult Invoke(vulkan.VkQueue queue, uint submitCount, vulkan.VkS
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkQueueWaitIdle : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkQueueWaitIdle : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkQueueWaitIdle(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55049,7 +55049,7 @@ public vulkan.VkResult Invoke(vulkan.VkQueue queue)
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkDeviceWaitIdle : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkDeviceWaitIdle : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkDeviceWaitIdle(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55099,7 +55099,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device)
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkAllocateMemory : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkAllocateMemory : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkAllocateMemory(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55152,7 +55152,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, vulkan.VkMemoryAllocateInf
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkFreeMemory : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkFreeMemory : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkFreeMemory(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55198,7 +55198,7 @@ public void Invoke(vulkan.VkDevice device, vulkan.VkDeviceMemory memory, vulkan.
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkMapMemory : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkMapMemory : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkMapMemory(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55253,7 +55253,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, vulkan.VkDeviceMemory memo
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkUnmapMemory : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkUnmapMemory : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkUnmapMemory(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55298,7 +55298,7 @@ public void Invoke(vulkan.VkDevice device, vulkan.VkDeviceMemory memory)
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkFlushMappedMemoryRanges : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkFlushMappedMemoryRanges : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkFlushMappedMemoryRanges(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55350,7 +55350,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, uint memoryRangeCount, vul
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkInvalidateMappedMemoryRanges : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkInvalidateMappedMemoryRanges : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkInvalidateMappedMemoryRanges(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55402,7 +55402,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, uint memoryRangeCount, vul
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetDeviceMemoryCommitment : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetDeviceMemoryCommitment : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetDeviceMemoryCommitment(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55448,7 +55448,7 @@ public void Invoke(vulkan.VkDevice device, vulkan.VkDeviceMemory memory, vulkan.
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkBindBufferMemory : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkBindBufferMemory : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkBindBufferMemory(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55501,7 +55501,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, vulkan.VkBuffer buffer, vu
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkBindImageMemory : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkBindImageMemory : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkBindImageMemory(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55554,7 +55554,7 @@ public vulkan.VkResult Invoke(vulkan.VkDevice device, vulkan.VkImage image, vulk
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetBufferMemoryRequirements : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetBufferMemoryRequirements : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetBufferMemoryRequirements(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55600,7 +55600,7 @@ public void Invoke(vulkan.VkDevice device, vulkan.VkBuffer buffer, vulkan.VkMemo
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetImageMemoryRequirements : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetImageMemoryRequirements : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetImageMemoryRequirements(delegate*unmanaged[Stdcall] value) => this.Value = value;
@@ -55646,7 +55646,7 @@ public void Invoke(vulkan.VkDevice device, vulkan.VkImage image, vulkan.VkMemory
public bool IsNull => (nint)Value == 0;
}
- public readonly partial struct PFN_vkGetImageSparseMemoryRequirements : IEquatable, IvkFunctionPointer
+ public readonly partial struct PFN_vkGetImageSparseMemoryRequirements : IEquatable, IvkCoreFunctionPointer
{
public PFN_vkGetImageSparseMemoryRequirements(delegate*unmanaged[Stdcall]