diff --git a/.version b/.version index 2961ea2e..dcc57d2a 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -1.3.283 \ No newline at end of file +1.3.284 \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs index 7e102e45..4a015b00 100644 --- a/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs +++ b/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs @@ -4987,6 +4987,18 @@ public enum VkStructureType /// VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, + /// + /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType + ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT = 1000495000, + + /// + /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType + ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT = 1000495001, + /// /// VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkExtLegacyVertexAttributes.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkExtLegacyVertexAttributes.cs new file mode 100644 index 00000000..940d6c6c --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkExtLegacyVertexAttributes.cs @@ -0,0 +1,57 @@ +#region License + +// Copyright (c) 2018-2024, exomia +// All rights reserved. +// +// This source code is licensed under the BSD-style license found in the +// LICENSE file in the root directory of this source tree. + +#endregion + +global using static Exomia.Vulkan.Api.Core.VkExtLegacyVertexAttributes; + +#pragma warning disable CA2211 // Non-constant fields should not be visible +#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member + +// ReSharper disable UnusedMember.Global +// ReSharper disable InconsistentNaming +// ReSharper disable once CheckNamespace +namespace Exomia.Vulkan.Api.Core; + +/// +/// VK_EXT_legacy_vertex_attributes - device extension (nr. 496) - author 'EXT' [platform '' | contact 'Mike +/// Blumenkrantz @zmike']
+/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_legacy_vertex_attributes.html +/// +///
+/// +/// specialuse: glemulation +/// +[VkDepends("VK_EXT_vertex_input_dynamic_state")] +[VkSpecialuse("glemulation")] +[VkDeviceExt] +public static class VkExtLegacyVertexAttributes +{ + /// The spec version. + public const uint VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION = 1; + + /// The extension name. + public const string VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME = "VK_EXT_legacy_vertex_attributes"; + + /// + /// An UTF8 null terminated version of represented + /// by an UTF16 string. + /// + /// + /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME_UTF8_NT) {
+ /// sbyte* utf8NtPtr = (sbyte*)ptr; // utf8NtPtr - can now be passed and used directly as a utf8_nt string for + /// unmanaged code.
+ /// } + ///
+ public const string VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME_UTF8_NT = + "\u4b56\u455f\u5458\u4c5f\u4745\u4341\u5f59\u4556\u5452\u5845\u415f\u5454\u4952\u5542\u4554\u5f53\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000"; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT.cs new file mode 100644 index 00000000..37d3518c --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT.cs @@ -0,0 +1,49 @@ +#region License + +// Copyright (c) 2018-2024, exomia +// All rights reserved. +// +// This source code is licensed under the BSD-style license found in the +// LICENSE file in the root directory of this source tree. + +#endregion + +// ReSharper disable UnusedMember.Global +// ReSharper disable InconsistentNaming +// ReSharper disable once CheckNamespace +namespace Exomia.Vulkan.Api.Core; + +/// +/// VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT - Structure describing compatibility features for vertex +/// attributes - +/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT.html +/// +/// +/// +/// +/// +/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo +/// +/// +/// +[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")] +[StructLayout(LayoutKind.Sequential)] +public unsafe struct VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT +{ + /// The stype of this structure. + public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT; + + /// sType is a VkStructureType value identifying this structure. + public VkStructureType sType; + + /// pNext is NULL or a pointer to a structure extending this structure. + public void* pNext; + + /// + /// legacyVertexAttributesspecifies whether compatibility features for vertex attributes are supported when using + /// dynamic vertex input state. + /// + public VkBool32 legacyVertexAttributes; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT.cs new file mode 100644 index 00000000..3a90ae9d --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT.cs @@ -0,0 +1,49 @@ +#region License + +// Copyright (c) 2018-2024, exomia +// All rights reserved. +// +// This source code is licensed under the BSD-style license found in the +// LICENSE file in the root directory of this source tree. + +#endregion + +// ReSharper disable UnusedMember.Global +// ReSharper disable InconsistentNaming +// ReSharper disable once CheckNamespace +namespace Exomia.Vulkan.Api.Core; + +/// +/// VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT - Structure describing properties for legacy vertex attributes +/// - +/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT.html +/// +/// +/// +/// +/// +/// structextendsVkPhysicalDeviceProperties2 +/// +/// +/// +[VkStructExtends("VkPhysicalDeviceProperties2")] +[StructLayout(LayoutKind.Sequential)] +public unsafe struct VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT +{ + /// The stype of this structure. + public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT; + + /// sType is a VkStructureType value identifying this structure. + public VkStructureType sType; + + /// pNext is NULL or a pointer to a structure extending this structure. + public void* pNext; + + /// + /// nativeUnalignedPerformancespecifies whether unaligned vertex fetches do not incur significant performance + /// penalties as compared to aligned fetches. + /// + public VkBool32 nativeUnalignedPerformance; +} \ No newline at end of file