From 9c5f000ebee702083f385a0f006bb5f230abcf61 Mon Sep 17 00:00:00 2001 From: exomia-bot Date: Mon, 6 May 2024 10:23:34 +0000 Subject: [PATCH] v1.3.284 --- .version | 2 +- src/Directory.Build.props | 2 +- .../Enums/VkStructureType.cs | 12 ++++ .../VkExtLegacyDithering.cs | 2 +- .../VkExtLegacyVertexAttributes.cs | 57 +++++++++++++++++++ ...DeviceLegacyVertexAttributesFeaturesEXT.cs | 49 ++++++++++++++++ ...viceLegacyVertexAttributesPropertiesEXT.cs | 49 ++++++++++++++++ ...rationStructureGeometryTrianglesDataKHR.cs | 2 +- ...kDeviceQueueGlobalPriorityCreateInfoKHR.cs | 2 +- ...kQueueFamilyGlobalPriorityPropertiesKHR.cs | 2 +- .../VkPipelineCreateFlagBits2KHR.cs | 6 ++ 11 files changed, 179 insertions(+), 6 deletions(-) create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkExtLegacyVertexAttributes.cs create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT.cs create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_vertex_attributes/VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT.cs diff --git a/.version b/.version index 05ca68e5..dcc57d2a 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -1.3.282 \ No newline at end of file +1.3.284 \ No newline at end of file diff --git a/src/Directory.Build.props b/src/Directory.Build.props index fb8fe9a7..5ee4fabc 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -3,7 +3,7 @@ - net6.0;net7.0;net8.0 + net8.0;net7.0;net6.0; AnyCPU;x64 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_dithering/VkExtLegacyDithering.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_dithering/VkExtLegacyDithering.cs index 5f6cab24..4bca6971 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_dithering/VkExtLegacyDithering.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_legacy_dithering/VkExtLegacyDithering.cs @@ -32,7 +32,7 @@ namespace Exomia.Vulkan.Api.Core; public static class VkExtLegacyDithering { /// The spec version. - public const uint VK_EXT_LEGACY_DITHERING_SPEC_VERSION = 1; + public const uint VK_EXT_LEGACY_DITHERING_SPEC_VERSION = 2; /// The extension name. public const string VK_EXT_LEGACY_DITHERING_EXTENSION_NAME = "VK_EXT_legacy_dithering"; 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 diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureGeometryTrianglesDataKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureGeometryTrianglesDataKHR.cs index 9fd21ff0..9b93f373 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureGeometryTrianglesDataKHR.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureGeometryTrianglesDataKHR.cs @@ -42,7 +42,7 @@ public unsafe struct VkAccelerationStructureGeometryTrianglesDataKHR /// vertexStride is the stride in bytes between each vertex. public VkDeviceSize vertexStride; - /// maxVertex is the highest index of a vertex that will be addressed by a build command using this structure. + /// maxVertex is the number of vertices in vertexData minus one. public uint maxVertex; /// indexType is the VkIndexType of each index element. diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_global_priority/VkDeviceQueueGlobalPriorityCreateInfoKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_global_priority/VkDeviceQueueGlobalPriorityCreateInfoKHR.cs index 3c6f9602..1a6010ca 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_global_priority/VkDeviceQueueGlobalPriorityCreateInfoKHR.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_global_priority/VkDeviceQueueGlobalPriorityCreateInfoKHR.cs @@ -40,6 +40,6 @@ public unsafe struct VkDeviceQueueGlobalPriorityCreateInfoKHR /// pNext is NULL or a pointer to a structure extending this structure. public void* pNext; - /// globalPriority is the system-wide priority associated to these queues as specified by VkQueueGlobalPriorityEXT + /// globalPriority is the system-wide priority associated to these queues as specified by VkQueueGlobalPriorityKHR public VkQueueGlobalPriorityKHR globalPriority; } \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_global_priority/VkQueueFamilyGlobalPriorityPropertiesKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_global_priority/VkQueueFamilyGlobalPriorityPropertiesKHR.cs index c94d690f..02d5c1fd 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_global_priority/VkQueueFamilyGlobalPriorityPropertiesKHR.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_global_priority/VkQueueFamilyGlobalPriorityPropertiesKHR.cs @@ -50,7 +50,7 @@ public unsafe struct VkQueueFamilyGlobalPriorityPropertiesKHR public uint priorityCount; /// - /// priorities is an array of VK_MAX_GLOBAL_PRIORITY_SIZE_EXTVkQueueGlobalPriorityEXT enums representing all + /// priorities is an array of VK_MAX_GLOBAL_PRIORITY_SIZE_KHRVkQueueGlobalPriorityKHR enums representing all /// supported global queue priorities in this queue family. The first priorityCount elements of the array will be /// valid. /// diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_maintenance5/VkPipelineCreateFlagBits2KHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_maintenance5/VkPipelineCreateFlagBits2KHR.cs index 9e43f547..f754433a 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_maintenance5/VkPipelineCreateFlagBits2KHR.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_maintenance5/VkPipelineCreateFlagBits2KHR.cs @@ -38,6 +38,12 @@ public enum VkPipelineCreateFlagBits2KHR : ulong ///
VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x4, + /// + /// VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT specifies that the pipeline will be used in a render pass + /// that is begun with VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT. + /// + VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000, + /// /// VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHRspecifies that any shader input variables decorated /// as ViewIndexwill be assigned values as if they were decorated as DeviceIndex.