diff --git a/.version b/.version
index 49b11367..c57e5c98 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-1.3.269
\ No newline at end of file
+1.3.270
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkDynamicState.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkDynamicState.cs
index 71ea2c05..3b80ec79 100644
--- a/src/Exomia.Vulkan.Api.Core/Enums/VkDynamicState.cs
+++ b/src/Exomia.Vulkan.Api.Core/Enums/VkDynamicState.cs
@@ -68,22 +68,22 @@ public enum VkDynamicState
VK_DYNAMIC_STATE_LINE_WIDTH = 2,
///
- /// VK_DYNAMIC_STATE_DEPTH_BIAS specifies that any instance of
+ /// VK_DYNAMIC_STATE_DEPTH_BIAS specifies that any instance of
///
/// VkDepthBiasRepresentationInfoEXT
///
- /// included in the pNext chain of
+ /// included in the pNext chain of
///
/// VkPipelineRasterizationStateCreateInfo
///
- /// as well as the depthBiasConstantFactor, depthBiasClamp and depthBiasSlopeFactor states in
+ /// as well as the depthBiasConstantFactor, depthBiasClamp and depthBiasSlopeFactor states in
///
/// VkPipelineRasterizationStateCreateInfo
///
- /// will be ignored and mustbe set dynamically with either
+ /// will be ignored and must be set dynamically with either
/// vkCmdSetDepthBias
/// or
/// vkCmdSetDepthBias2EXT
diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs
index 7de54420..67a6b768 100644
--- a/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs
+++ b/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs
@@ -2155,6 +2155,12 @@ public enum VkStructureType
///
VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000,
+
///
/// VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR
/// 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_descriptor_buffer/VkDescriptorBufferBindingPushDescriptorBufferHandleEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_descriptor_buffer/VkDescriptorBufferBindingPushDescriptorBufferHandleEXT.cs
index 64f7b98a..3ce7974f 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_descriptor_buffer/VkDescriptorBufferBindingPushDescriptorBufferHandleEXT.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_descriptor_buffer/VkDescriptorBufferBindingPushDescriptorBufferHandleEXT.cs
@@ -35,30 +35,12 @@ public unsafe struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT
/// The stype of this structure.
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT;
- ///
- /// sType
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkDescriptorBufferBindingPushDescriptorBufferHandleEXT
- ///
- ///
+ /// sType is a VkStructureType value identifying this structure.
public VkStructureType sType;
- ///
- /// pNext
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkDescriptorBufferBindingPushDescriptorBufferHandleEXT
- ///
- ///
+ /// pNext is NULL or a pointer to a structure extending this structure.
public void* pNext;
- ///
- /// buffer
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkDescriptorBufferBindingPushDescriptorBufferHandleEXT
- ///
- ///
+ /// buffer is the VkBuffer handle of the buffer for push descriptors.
public VkBuffer buffer;
}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/IMG/VK_IMG_relaxed_line_rasterization/VkImgRelaxedLineRasterization.cs b/src/Exomia.Vulkan.Api.Core/Extensions/IMG/VK_IMG_relaxed_line_rasterization/VkImgRelaxedLineRasterization.cs
new file mode 100644
index 00000000..1fb1098c
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/IMG/VK_IMG_relaxed_line_rasterization/VkImgRelaxedLineRasterization.cs
@@ -0,0 +1,57 @@
+#region License
+
+// Copyright (c) 2018-2023, 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.VkImgRelaxedLineRasterization;
+
+#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_IMG_relaxed_line_rasterization - device extension (nr. 111) - author 'IMG' [platform '' | contact 'James
+/// Fitzpatrick @jamesfitzpatrick']
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_IMG_relaxed_line_rasterization.html
+///
+///
+///
+/// specialuse: glemulation
+///
+[VkDepends("(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)")]
+[VkSpecialuse("glemulation")]
+[VkDeviceExt]
+public static class VkImgRelaxedLineRasterization
+{
+ /// The spec version.
+ public const uint VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME = "VK_IMG_relaxed_line_rasterization";
+
+ ///
+ /// An UTF8 null terminated version of
+ /// represented by an UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_IMG_RELAXED_LINE_RASTERIZATION_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_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME_UTF8_NT =
+ "\u4b56\u495f\u474d\u525f\u4c45\u5841\u4445\u4c5f\u4e49\u5f45\u4152\u5453\u5245\u5a49\u5441\u4f49\u5f4e\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/IMG/VK_IMG_relaxed_line_rasterization/VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG.cs b/src/Exomia.Vulkan.Api.Core/Extensions/IMG/VK_IMG_relaxed_line_rasterization/VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG.cs
new file mode 100644
index 00000000..99773796
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/IMG/VK_IMG_relaxed_line_rasterization/VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG.cs
@@ -0,0 +1,46 @@
+#region License
+
+// Copyright (c) 2018-2023, 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;
+
+///
+/// VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG - Structure describing relaxed line rasterization features that
+/// can be supported by an implementation -
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG.html
+///
+///
+///
+///
+/// -
+/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo
+///
+///
+///
+[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
+[StructLayout(LayoutKind.Sequential)]
+public unsafe struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG
+{
+ /// The stype of this structure.
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG;
+
+ /// 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;
+
+ /// relaxedLineRasterizationindicates that the implementation supports relaxed line rasterization control.
+ public VkBool32 relaxedLineRasterization;
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_cuda_kernel_launch/VkPhysicalDeviceCudaKernelLaunchPropertiesNV.cs b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_cuda_kernel_launch/VkPhysicalDeviceCudaKernelLaunchPropertiesNV.cs
index d1d3a2b0..91fe7b4b 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_cuda_kernel_launch/VkPhysicalDeviceCudaKernelLaunchPropertiesNV.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_cuda_kernel_launch/VkPhysicalDeviceCudaKernelLaunchPropertiesNV.cs
@@ -52,6 +52,6 @@ public unsafe struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV
/// computeCapabilityMinor indicates the minor version number of the compute code.
public uint computeCapabilityMinor;
- /// computeCapabilityMajor indicates the minor version number of the compute code.
+ /// computeCapabilityMajor indicates the major version number of the compute code.
public uint computeCapabilityMajor;
}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkComputePipelineIndirectBufferInfoNV.cs b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkComputePipelineIndirectBufferInfoNV.cs
index 731e4e39..4a74644c 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkComputePipelineIndirectBufferInfoNV.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkComputePipelineIndirectBufferInfoNV.cs
@@ -27,48 +27,24 @@ public unsafe struct VkComputePipelineIndirectBufferInfoNV
/// The stype of this structure.
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV;
- ///
- /// sType
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkComputePipelineIndirectBufferInfoNV
- ///
- ///
+ /// sType is a VkStructureType value identifying this structure.
public VkStructureType sType;
- ///
- /// pNext
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkComputePipelineIndirectBufferInfoNV
- ///
- ///
+ /// pNext is NULL or a pointer to a structure extending this structure.
public void* pNext;
- ///
- /// deviceAddress
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkComputePipelineIndirectBufferInfoNV
- ///
- ///
+ /// deviceAddress is the address where the pipeline’s metadata will be stored.
public VkDeviceAddress deviceAddress;
///
- /// size
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkComputePipelineIndirectBufferInfoNV
- ///
+ /// size is the size of pipeline’s metadata that was queried using
+ /// vkGetPipelineIndirectMemoryRequirementsNV.
///
public VkDeviceSize size;
///
- /// pipelineDeviceAddressCaptureReplay
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkComputePipelineIndirectBufferInfoNV
- ///
+ /// pipelineDeviceAddressCaptureReplay is the device address where pipeline’s metadata was originally saved
+ /// and can now be used to re-populate deviceAddress for replay.
///
public VkDeviceAddress pipelineDeviceAddressCaptureReplay;
}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkNvDeviceGeneratedCommandsCompute.cs b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkNvDeviceGeneratedCommandsCompute.cs
index 389e755a..d441f744 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkNvDeviceGeneratedCommandsCompute.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkNvDeviceGeneratedCommandsCompute.cs
@@ -99,10 +99,10 @@ public static readonly delegate*<
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPipelineIndirectDeviceAddressNV.html
///
///
- /// VUID-vkGetPipelineIndirectDeviceAddressNV-device-parameter device must be a valid VkDevice handle
+ /// device is the logical device on which the pipeline was created.
///
- /// VUID-vkGetPipelineIndirectDeviceAddressNV-pInfo-parameter pInfo must be a valid pointer to a valid
- /// VkPipelineIndirectDeviceAddressInfoNV structure
+ /// pInfo is a pointer to a VkPipelineIndirectDeviceAddressInfoNV structure specifying the pipeline to
+ /// retrieve the address for.
///
public static readonly delegate*<
VkDevice /*device*/,
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkPipelineIndirectDeviceAddressInfoNV.cs b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkPipelineIndirectDeviceAddressInfoNV.cs
index 2a1e27f1..d901337f 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkPipelineIndirectDeviceAddressInfoNV.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_device_generated_commands_compute/VkPipelineIndirectDeviceAddressInfoNV.cs
@@ -26,39 +26,18 @@ public unsafe struct VkPipelineIndirectDeviceAddressInfoNV
/// The stype of this structure.
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV;
- ///
- /// sType
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPipelineIndirectDeviceAddressInfoNV
- ///
- ///
+ /// sType is a VkStructureType value identifying this structure.
public VkStructureType sType;
- ///
- /// pNext
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPipelineIndirectDeviceAddressInfoNV
- ///
- ///
+ /// pNext is NULL or a pointer to a structure extending this structure.
public void* pNext;
///
- /// pipelineBindPoint
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPipelineIndirectDeviceAddressInfoNV
- ///
+ /// pipelineBindPoint is a VkPipelineBindPoint value specifying the type of pipeline whose device address is being
+ /// queried.
///
public VkPipelineBindPoint pipelineBindPoint;
- ///
- /// pipeline
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPipelineIndirectDeviceAddressInfoNV
- ///
- ///
+ /// pipeline specifies the pipeline whose device address is being queried.
public VkPipeline pipeline;
}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_low_latency2/VkNvLowLatency2.cs b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_low_latency2/VkNvLowLatency2.cs
index 7c47e4d7..fc114929 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_low_latency2/VkNvLowLatency2.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_low_latency2/VkNvLowLatency2.cs
@@ -23,6 +23,7 @@ namespace Exomia.Vulkan.Api.Core;
///
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_low_latency2.html
///
+[VkDepends("VK_VERSION_1_2,VK_KHR_timeline_semaphore")]
[VkDeviceExt]
public static unsafe class VkNvLowLatency2
{