diff --git a/.version b/.version index c47852f3..f21c8c12 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -1.3.300 \ No newline at end of file +1.3.301 \ 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 16e3fb15..e1b4d2b0 100644 --- a/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs +++ b/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs @@ -5647,6 +5647,18 @@ public enum VkStructureType /// VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT = 1000582001, + /// + /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType + ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI = 1000590000, + + /// + /// VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType + ///
+ VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI = 1000590001, + /// /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/HUAWEI/VK_HUAWEI_hdr_vivid/VkHdrVividDynamicMetadataHUAWEI.cs b/src/Exomia.Vulkan.Api.Core/Extensions/HUAWEI/VK_HUAWEI_hdr_vivid/VkHdrVividDynamicMetadataHUAWEI.cs new file mode 100644 index 00000000..56b0d2f4 --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/HUAWEI/VK_HUAWEI_hdr_vivid/VkHdrVividDynamicMetadataHUAWEI.cs @@ -0,0 +1,48 @@ +#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; + +/// +/// VkHdrVividDynamicMetadataHUAWEI - specify HDR Vivid dynamic metadata - +/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkHdrVividDynamicMetadataHUAWEI.html +/// +/// +/// +/// +/// +/// structextendsVkHdrMetadataEXT +/// +/// +/// +[VkStructExtends("VkHdrMetadataEXT")] +[StructLayout(LayoutKind.Sequential)] +public unsafe struct VkHdrVividDynamicMetadataHUAWEI +{ + /// The stype of this structure. + public const VkStructureType STYPE = VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI; + + /// 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; + + /// dynamicMetadataSize is the size in bytes of the dynamic metadata. + public nuint dynamicMetadataSize; + + /// pDynamicMetadata is a pointer to the dynamic metadata. + public void* pDynamicMetadata; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/HUAWEI/VK_HUAWEI_hdr_vivid/VkHuaweiHdrVivid.cs b/src/Exomia.Vulkan.Api.Core/Extensions/HUAWEI/VK_HUAWEI_hdr_vivid/VkHuaweiHdrVivid.cs new file mode 100644 index 00000000..b7f7a6db --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/HUAWEI/VK_HUAWEI_hdr_vivid/VkHuaweiHdrVivid.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 + +global using static Exomia.Vulkan.Api.Core.VkHuaweiHdrVivid; + +#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_HUAWEI_hdr_vivid - device extension (nr. 591) - author 'HUAWEI' [platform '' | contact 'Zehui Lin @bactlink'] +///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_HUAWEI_hdr_vivid.html +///
+[VkDepends("(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_swapchain+VK_EXT_hdr_metadata")] +[VkDeviceExt] +public static class VkHuaweiHdrVivid +{ + /// The spec version. + public const uint VK_HUAWEI_HDR_VIVID_SPEC_VERSION = 1; + + /// The extension name. + public const string VK_HUAWEI_HDR_VIVID_EXTENSION_NAME = "VK_HUAWEI_hdr_vivid"; + + /// + /// An UTF8 null terminated version of represented by an UTF16 + /// string. + /// + /// + /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_HUAWEI_HDR_VIVID_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_HUAWEI_HDR_VIVID_EXTENSION_NAME_UTF8_NT = "\u4b56\u485f\u4155\u4557\u5f49\u4448\u5f52\u4956\u4956\u5f44\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000"; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/HUAWEI/VK_HUAWEI_hdr_vivid/VkPhysicalDeviceHdrVividFeaturesHUAWEI.cs b/src/Exomia.Vulkan.Api.Core/Extensions/HUAWEI/VK_HUAWEI_hdr_vivid/VkPhysicalDeviceHdrVividFeaturesHUAWEI.cs new file mode 100644 index 00000000..12041115 --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/HUAWEI/VK_HUAWEI_hdr_vivid/VkPhysicalDeviceHdrVividFeaturesHUAWEI.cs @@ -0,0 +1,45 @@ +#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; + +/// +/// VkPhysicalDeviceHdrVividFeaturesHUAWEI - Structure describing whether HDR Vivid metadata is supported - +/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceHdrVividFeaturesHUAWEI.html +/// +/// +/// +/// +/// +/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo +/// +/// +/// +[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")] +[StructLayout(LayoutKind.Sequential)] +public unsafe struct VkPhysicalDeviceHdrVividFeaturesHUAWEI +{ + /// The stype of this structure. + public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI; + + /// 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; + + /// hdrVivid specifies whether HDR Vivid metadata is supported. + public VkBool32 hdrVivid; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureCreateFlagBitsKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureCreateFlagBitsKHR.cs index 54264e50..ca599e66 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureCreateFlagBitsKHR.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureCreateFlagBitsKHR.cs @@ -42,11 +42,13 @@ public enum VkAccelerationStructureCreateFlagBitsKHR VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x8, /// - /// VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV
+ /// VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV specifies that the acceleration structure will be used with motion + /// information, see /// - /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkAccelerationStructureCreateFlagBitsKHR + /// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAccelerationStructureMotionInfoNV.html"> + /// VkAccelerationStructureMotionInfoNV /// + /// for more detail. ///
VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x4 } \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureInstanceKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureInstanceKHR.cs index 4c4daefe..5700f807 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureInstanceKHR.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureInstanceKHR.cs @@ -34,7 +34,7 @@ public struct VkAccelerationStructureInstanceKHR private uint _bitfield2; /// - /// accelerationStructureReference is either:a device address containing the value obtained from + /// accelerationStructureReference is either :a device address containing the value obtained from /// vkGetAccelerationStructureDeviceAddressKHRor vkGetAccelerationStructureHandleNV (used by device operations /// which reference acceleration structures) or,a VkAccelerationStructureKHR object (used by host operations which /// reference acceleration structures). diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkCopyAccelerationStructureModeKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkCopyAccelerationStructureModeKHR.cs index d607c8e6..e08e8b47 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkCopyAccelerationStructureModeKHR.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkCopyAccelerationStructureModeKHR.cs @@ -31,19 +31,25 @@ public enum VkCopyAccelerationStructureModeKHR VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, /// - /// VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR creates a more compact version of an acceleration structure src - /// into dst. The acceleration structure dst must have been created with a size at least as large as that returned by + /// VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR creates a more compact version of an acceleration structure src + /// into dst. The acceleration structure dst must have been created with a size at least as large as that + /// returned by + /// + /// vkCmdWriteAccelerationStructuresPropertiesNV + /// + /// , /// /// vkCmdWriteAccelerationStructuresPropertiesKHR /// - /// or + /// , or /// /// vkWriteAccelerationStructuresPropertiesKHR /// - /// after the build of the acceleration structure specified by src. If src contains references to other acceleration - /// structures, dst will reference the same acceleration structures. + /// after the build of the acceleration structure specified by src. If src contains references to other + /// acceleration structures, dst will reference the same acceleration structures. /// VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, @@ -68,19 +74,25 @@ public enum VkCopyAccelerationStructureModeKHR VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, /// - /// VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR creates a more compact version of an acceleration structure src - /// into dst. The acceleration structure dst must have been created with a size at least as large as that returned by + /// VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR creates a more compact version of an acceleration structure src + /// into dst. The acceleration structure dst must have been created with a size at least as large as that + /// returned by + /// + /// vkCmdWriteAccelerationStructuresPropertiesNV + /// + /// , /// /// vkCmdWriteAccelerationStructuresPropertiesKHR /// - /// or + /// , or /// /// vkWriteAccelerationStructuresPropertiesKHR /// - /// after the build of the acceleration structure specified by src. If src contains references to other acceleration - /// structures, dst will reference the same acceleration structures. + /// after the build of the acceleration structure specified by src. If src contains references to other + /// acceleration structures, dst will reference the same acceleration structures. /// VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR } \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Structs/VkWriteDescriptorSet.cs b/src/Exomia.Vulkan.Api.Core/Structs/VkWriteDescriptorSet.cs index 7136f568..2ff00d4a 100644 --- a/src/Exomia.Vulkan.Api.Core/Structs/VkWriteDescriptorSet.cs +++ b/src/Exomia.Vulkan.Api.Core/Structs/VkWriteDescriptorSet.cs @@ -48,7 +48,8 @@ public unsafe struct VkWriteDescriptorSet /// number of bytes to update. Otherwise, descriptorCount is one ofthe number of elements in pImageInfothe number of /// elements in pBufferInfothe number of elements in pTexelBufferViewa value matching the dataSize member of a /// VkWriteDescriptorSetInlineUniformBlock structure in the pNext chaina value matching the accelerationStructureCount - /// of a VkWriteDescriptorSetAccelerationStructureKHR structure in the pNext chain + /// of a VkWriteDescriptorSetAccelerationStructureKHRor VkWriteDescriptorSetAccelerationStructureNV structure in + /// the pNext chain /// public uint descriptorCount;