diff --git a/.version b/.version
index 0f99023e..a006ba70 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-1.3.275
\ No newline at end of file
+1.3.276
\ No newline at end of file
diff --git a/analyzer/Exomia.Vulkan.Api.Core.SourceGenerator/Extensions/EXT/VK_EXT_index_type_uint8/VkExtIndexTypeUint8.global-alias.cs b/analyzer/Exomia.Vulkan.Api.Core.SourceGenerator/Extensions/EXT/VK_EXT_index_type_uint8/VkExtIndexTypeUint8.global-alias.cs
new file mode 100644
index 00000000..8804ba93
--- /dev/null
+++ b/analyzer/Exomia.Vulkan.Api.Core.SourceGenerator/Extensions/EXT/VK_EXT_index_type_uint8/VkExtIndexTypeUint8.global-alias.cs
@@ -0,0 +1 @@
+global using VkPhysicalDeviceIndexTypeUint8FeaturesEXT = Exomia.Vulkan.Api.Core.VkPhysicalDeviceIndexTypeUint8FeaturesKHR;
diff --git a/analyzer/Exomia.Vulkan.Api.Core.SourceGenerator/Extensions/EXT/VK_EXT_line_rasterization/VkExtLineRasterization.global-alias.cs b/analyzer/Exomia.Vulkan.Api.Core.SourceGenerator/Extensions/EXT/VK_EXT_line_rasterization/VkExtLineRasterization.global-alias.cs
new file mode 100644
index 00000000..6fecdd7c
--- /dev/null
+++ b/analyzer/Exomia.Vulkan.Api.Core.SourceGenerator/Extensions/EXT/VK_EXT_line_rasterization/VkExtLineRasterization.global-alias.cs
@@ -0,0 +1,4 @@
+global using VkPhysicalDeviceLineRasterizationFeaturesEXT = Exomia.Vulkan.Api.Core.VkPhysicalDeviceLineRasterizationFeaturesKHR;
+global using VkPhysicalDeviceLineRasterizationPropertiesEXT = Exomia.Vulkan.Api.Core.VkPhysicalDeviceLineRasterizationPropertiesKHR;
+global using VkPipelineRasterizationLineStateCreateInfoEXT = Exomia.Vulkan.Api.Core.VkPipelineRasterizationLineStateCreateInfoKHR;
+global using VkLineRasterizationModeEXT = Exomia.Vulkan.Api.Core.VkLineRasterizationModeKHR;
diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkAttachmentLoadOp.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkAttachmentLoadOp.cs
index e48c498b..c4ee3a37 100644
--- a/src/Exomia.Vulkan.Api.Core/Enums/VkAttachmentLoadOp.cs
+++ b/src/Exomia.Vulkan.Api.Core/Enums/VkAttachmentLoadOp.cs
@@ -44,8 +44,14 @@ public enum VkAttachmentLoadOp
VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
///
- /// VK_ATTACHMENT_LOAD_OP_NONE_EXT specifies that the previous contents of the image will be undefined inside the
+ /// VK_ATTACHMENT_LOAD_OP_NONE_KHR specifies that the previous contents of the image will be undefined inside the
/// render pass. No access type is used as the image is not accessed.
///
- VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000
+ VK_ATTACHMENT_LOAD_OP_NONE_KHR = 1000400000,
+
+ ///
+ /// VK_ATTACHMENT_LOAD_OP_NONE_KHR specifies that the previous contents of the image will be undefined inside the
+ /// render pass. No access type is used as the image is not accessed.
+ ///
+ VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE_KHR
}
\ 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 067137dd..f4733805 100644
--- a/src/Exomia.Vulkan.Api.Core/Enums/VkDynamicState.cs
+++ b/src/Exomia.Vulkan.Api.Core/Enums/VkDynamicState.cs
@@ -533,23 +533,6 @@ public enum VkDynamicState
///
VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
- ///
- /// VK_DYNAMIC_STATE_LINE_STIPPLE_EXT specifies that the lineStippleFactor and lineStipplePattern state in
- ///
- /// VkPipelineRasterizationLineStateCreateInfoEXT
- ///
- /// will be ignored and must be set dynamically with
- /// vkCmdSetLineStippleEXT
- /// before any draws are performed with a pipeline state with
- ///
- /// VkPipelineRasterizationLineStateCreateInfoEXT
- ///
- /// member stippledLineEnable set to VK_TRUE.
- ///
- VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
-
///
/// VK_DYNAMIC_STATE_VERTEX_INPUT_EXT specifies that the pVertexInputState state will be ignored and must be set
/// dynamically with
@@ -594,21 +577,6 @@ public enum VkDynamicState
///
VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
- ///
- /// VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT specifies that the domainOrigin state in
- ///
- /// VkPipelineTessellationDomainOriginStateCreateInfo
- ///
- /// will be ignored and must be set dynamically with
- ///
- /// vkCmdSetTessellationDomainOriginEXT
- ///
- /// before any draw call.
- ///
- VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
-
///
/// VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT specifies that the depthClampEnable state in
///
VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012,
+ ///
+ /// VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT specifies that the domainOrigin state in
+ ///
+ /// VkPipelineTessellationDomainOriginStateCreateInfo
+ ///
+ /// will be ignored and must be set dynamically with
+ ///
+ /// vkCmdSetTessellationDomainOriginEXT
+ ///
+ /// before any draw call.
+ ///
+ VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
+
///
/// VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT specifies that the rasterizationStream state in
///
/// VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT specifies that the lineRasterizationMode state in
///
- /// VkPipelineRasterizationLineStateCreateInfoEXT
+ /// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelineRasterizationLineStateCreateInfoKHR.html">
+ /// VkPipelineRasterizationLineStateCreateInfoKHR
///
/// will be ignored and must be set dynamically with
///
/// VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT specifies that the stippledLineEnable state in
///
- /// VkPipelineRasterizationLineStateCreateInfoEXT
+ /// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelineRasterizationLineStateCreateInfoKHR.html">
+ /// VkPipelineRasterizationLineStateCreateInfoKHR
///
/// will be ignored and must be set dynamically with
/// vkCmdSetLineStippleEnableEXT
@@ -1039,6 +1022,18 @@ public enum VkDynamicState
///
VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000,
+ ///
+ /// VK_DYNAMIC_STATE_LINE_STIPPLE_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkDynamicState
+ ///
+ VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = 1000259000,
+
+ ///
+ /// VK_DYNAMIC_STATE_LINE_STIPPLE_EXT
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkDynamicState
+ ///
+ VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE_KHR,
+
///
/// VK_DYNAMIC_STATE_CULL_MODE specifies that the cullMode state in
///
VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
+ ///
+ /// VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR must only be used as either a storage image, or a color or
+ /// depth/stencil attachment and an input attachment. This layout is valid only for image subresources of images
+ /// created with either VK_IMAGE_USAGE_STORAGE_BIT, or both VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT and either of
+ /// VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT.
+ ///
+ VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = 1000232000,
+
/// VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR is reserved for future use.
VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkIndexType.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkIndexType.cs
index c293f161..10a8cfe1 100644
--- a/src/Exomia.Vulkan.Api.Core/Enums/VkIndexType.cs
+++ b/src/Exomia.Vulkan.Api.Core/Enums/VkIndexType.cs
@@ -28,9 +28,12 @@ public enum VkIndexType
/// VK_INDEX_TYPE_NONE_KHR specifies that no indices are provided.
VK_INDEX_TYPE_NONE_KHR = 1000165000,
- /// VK_INDEX_TYPE_UINT8_EXT specifies that indices are 8-bit unsigned integer values.
- VK_INDEX_TYPE_UINT8_EXT = 1000265000,
+ /// VK_INDEX_TYPE_UINT8_KHR specifies that indices are 8-bit unsigned integer values.
+ VK_INDEX_TYPE_UINT8_KHR = 1000265000,
/// VK_INDEX_TYPE_NONE_KHR specifies that no indices are provided.
- VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR
+ VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
+
+ /// VK_INDEX_TYPE_UINT8_KHR specifies that indices are 8-bit unsigned integer values.
+ VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8_KHR
}
\ 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 4b4218ea..2914c9d3 100644
--- a/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs
+++ b/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs
@@ -3061,12 +3061,36 @@ public enum VkStructureType
///
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = 1000232000,
+
+ ///
+ /// VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = 1000232001,
+
+ ///
+ /// VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = 1000232002,
+
///
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
///
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000,
+
///
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
@@ -3211,36 +3235,12 @@ public enum VkStructureType
///
VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
- ///
- /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
- ///
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
-
- ///
- /// VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
- ///
- VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
-
- ///
- /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
- ///
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
-
///
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
///
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
- ///
- /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
- ///
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
-
///
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
@@ -4471,6 +4471,12 @@ public enum VkStructureType
///
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = 1000416000,
+
///
/// VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
@@ -4627,6 +4633,12 @@ public enum VkStructureType
///
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000,
+
///
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
@@ -5167,6 +5179,12 @@ public enum VkStructureType
///
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = 1000190002,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = 1000528000,
+
///
/// VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
@@ -5203,12 +5221,42 @@ public enum VkStructureType
///
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = 1000265000,
+
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = 1000259000,
+
+ ///
+ /// VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = 1000259001,
+
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = 1000259002,
+
///
/// VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
///
VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = 1000544000,
+
///
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
@@ -6079,12 +6127,36 @@ public enum VkStructureType
///
VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR,
+
+ ///
+ /// VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR,
+
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR,
+
///
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
///
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
+ ///
+ /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType
+ ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR,
+
///
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_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_debug_report/VkExtDebugReport.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_debug_report/VkExtDebugReport.cs
index 0109e77b..636b7a4a 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_debug_report/VkExtDebugReport.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_debug_report/VkExtDebugReport.cs
@@ -119,7 +119,7 @@ public static readonly delegate*<
/// location is an application defined value.
/// messageCode is an application defined value.
/// pLayerPrefix is the abbreviation of the component making this event/message.
- /// pMessage is a null-terminated string detailing the trigger conditions.
+ /// pMessage is a null-terminated UTF-8 string detailing the trigger conditions.
public static readonly delegate*<
VkInstance /*instance*/,
VkDebugReportFlagsEXT /*flags*/,
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_debug_utils/VkDebugUtilsMessengerCallbackDataEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_debug_utils/VkDebugUtilsMessengerCallbackDataEXT.cs
index b5526ce2..07b093f1 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_debug_utils/VkDebugUtilsMessengerCallbackDataEXT.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_debug_utils/VkDebugUtilsMessengerCallbackDataEXT.cs
@@ -36,9 +36,9 @@ public unsafe struct VkDebugUtilsMessengerCallbackDataEXT
public VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
///
- /// pMessageIdName is a null-terminated string that identifies the particular message ID that is associated with
- /// the provided message. If the message corresponds to a validation layer message, then this string may contain the
- /// portion of the Vulkan specification that is believed to have been violated.
+ /// pMessageIdName is NULL or a null-terminated UTF-8 string that identifies the particular message ID that is
+ /// associated with the provided message. If the message corresponds to a validation layer message, then this string
+ /// may contain the portion of the Vulkan specification that is believed to have been violated.
///
public byte* pMessageIdName;
@@ -48,7 +48,10 @@ public unsafe struct VkDebugUtilsMessengerCallbackDataEXT
///
public int messageIdNumber;
- /// pMessage is a null-terminated string detailing the trigger conditions.
+ ///
+ /// pMessage is NULL if messageTypes is equal to VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT, or a
+ /// null-terminated UTF-8 string detailing the trigger conditions.
+ ///
public byte* pMessage;
/// queueLabelCount is a count of items contained in the pQueueLabels array.
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_device_fault/VkDeviceFaultInfoEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_device_fault/VkDeviceFaultInfoEXT.cs
index 0a349021..3dd2c43d 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_device_fault/VkDeviceFaultInfoEXT.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_device_fault/VkDeviceFaultInfoEXT.cs
@@ -17,6 +17,13 @@ namespace Exomia.Vulkan.Api.Core;
/// VkDeviceFaultInfoEXT - Structure specifying device fault information -
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDeviceFaultInfoEXT.html
///
+///
+///
+/// -
+/// returnedonlytrue
+///
+///
+///
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkDeviceFaultInfoEXT
{
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_extended_dynamic_state3/VkExtExtendedDynamicState3.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_extended_dynamic_state3/VkExtExtendedDynamicState3.cs
index bf9de053..b850a5ad 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_extended_dynamic_state3/VkExtExtendedDynamicState3.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_extended_dynamic_state3/VkExtExtendedDynamicState3.cs
@@ -48,21 +48,6 @@ public static unsafe class VkExtExtendedDynamicState3
public const string VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME_UTF8_NT =
"\u4b56\u455f\u5458\u455f\u5458\u4e45\u4544\u5f44\u5944\u414e\u494d\u5f43\u5453\u5441\u5f45\u5f33\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
- ///
- /// vkCmdSetTessellationDomainOriginEXT - Specify the origin of the tessellation domain space dynamically for a command
- /// buffer -
- ///
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdSetTessellationDomainOriginEXT.html
- ///
- ///
- /// commandBuffer is the command buffer into which the command will be recorded.
- /// domainOrigin specifies the origin of the tessellation domain space.
- public static readonly delegate*<
- VkCommandBuffer /*commandBuffer*/,
- VkTessellationDomainOrigin /*domainOrigin*/,
- void> vkCmdSetTessellationDomainOriginEXT = null;
-
///
/// vkCmdSetDepthClampEnableEXT - Specify dynamically whether depth clamping is enabled in the command buffer -
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdSetDepthClampEnableEXT.html
@@ -214,6 +199,21 @@ public static readonly delegate*<
VkColorComponentFlags* /*pColorWriteMasks*/,
void> vkCmdSetColorWriteMaskEXT = null;
+ ///
+ /// vkCmdSetTessellationDomainOriginEXT - Specify the origin of the tessellation domain space dynamically for a command
+ /// buffer -
+ ///
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdSetTessellationDomainOriginEXT.html
+ ///
+ ///
+ /// commandBuffer is the command buffer into which the command will be recorded.
+ /// domainOrigin specifies the origin of the tessellation domain space.
+ public static readonly delegate*<
+ VkCommandBuffer /*commandBuffer*/,
+ VkTessellationDomainOrigin /*domainOrigin*/,
+ void> vkCmdSetTessellationDomainOriginEXT = null;
+
///
/// vkCmdSetRasterizationStreamEXT - Specify the rasterization stream dynamically for a command buffer -
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdSetRasterizationStreamEXT.html
@@ -531,9 +531,6 @@ public static readonly delegate*<
/// This load method makes the following function pointers available:
///
/// -
- /// vkCmdSetTessellationDomainOriginEXT
- ///
- /// -
/// vkCmdSetDepthClampEnableEXT
///
/// -
@@ -564,6 +561,9 @@ public static readonly delegate*<
/// vkCmdSetColorWriteMaskEXT
///
/// -
+ /// vkCmdSetTessellationDomainOriginEXT
+ ///
+ /// -
/// vkCmdSetRasterizationStreamEXT
///
/// -
@@ -627,12 +627,6 @@ public static readonly delegate*<
///
public static void Load(VkDevice device)
{
- fixed (delegate** pvkCmdSetTessellationDomainOriginEXT = &vkCmdSetTessellationDomainOriginEXT)
- {
- *pvkCmdSetTessellationDomainOriginEXT = (delegate*)GetVkFunction(
- device, "\u6b76\u6d43\u5364\u7465\u6554\u7373\u6c65\u616c\u6974\u6e6f\u6f44\u616d\u6e69\u724f\u6769\u6e69\u5845\u0054");
- }
-
fixed (delegate** pvkCmdSetDepthClampEnableEXT = &vkCmdSetDepthClampEnableEXT)
{
*pvkCmdSetDepthClampEnableEXT = (delegate*)GetVkFunction(device, "\u6b76\u6d43\u5364\u7465\u6544\u7470\u4368\u616c\u706d\u6e45\u6261\u656c\u5845\u0054");
@@ -689,6 +683,12 @@ public static void Load(VkDevice device)
device, "\u6b76\u6d43\u5364\u7465\u6f43\u6f6c\u5772\u6972\u6574\u614d\u6b73\u5845\u0054");
}
+ fixed (delegate** pvkCmdSetTessellationDomainOriginEXT = &vkCmdSetTessellationDomainOriginEXT)
+ {
+ *pvkCmdSetTessellationDomainOriginEXT = (delegate*)GetVkFunction(
+ device, "\u6b76\u6d43\u5364\u7465\u6554\u7373\u6c65\u616c\u6974\u6e6f\u6f44\u616d\u6e69\u724f\u6769\u6e69\u5845\u0054");
+ }
+
fixed (delegate** pvkCmdSetRasterizationStreamEXT = &vkCmdSetRasterizationStreamEXT)
{
*pvkCmdSetRasterizationStreamEXT = (delegate*)GetVkFunction(
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_index_type_uint8/VkExtIndexTypeUint8.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_index_type_uint8/VkExtIndexTypeUint8.cs
index e813065b..81a5c440 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_index_type_uint8/VkExtIndexTypeUint8.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_index_type_uint8/VkExtIndexTypeUint8.cs
@@ -25,6 +25,7 @@ namespace Exomia.Vulkan.Api.Core;
///
[VkDepends("VK_KHR_get_physical_device_properties2,VK_VERSION_1_1")]
[VkDeviceExt]
+[Obsolete("promoted to VK_KHR_index_type_uint8", false, UrlFormat = "https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_index_type_uint8.html#_deprecation_state")]
public static class VkExtIndexTypeUint8
{
/// The spec version.
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkExtLineRasterization.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkExtLineRasterization.cs
index 824ee001..3c0e8b5d 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkExtLineRasterization.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkExtLineRasterization.cs
@@ -52,13 +52,11 @@ public static unsafe class VkExtLineRasterization
public const string VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME_UTF8_NT =
"\u4b56\u455f\u5458\u4c5f\u4e49\u5f45\u4152\u5453\u5245\u5a49\u5441\u4f49\u5f4e\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
+ /// vkCmdSetLineStippleEXT alias for vkCmdSetLineStippleKHR
///
- /// vkCmdSetLineStippleEXT - Set line stipple dynamically for a command buffer -
+ /// vkCmdSetLineStippleKHR - Set line stipple dynamically for a command buffer -
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdSetLineStippleEXT.html
///
- /// commandBuffer is the command buffer into which the command will be recorded.
- /// lineStippleFactor is the repeat factor used in stippled line rasterization.
- /// lineStipplePattern is the bit pattern used in stippled line rasterization.
public static readonly delegate*<
VkCommandBuffer /*commandBuffer*/,
uint /*lineStippleFactor*/,
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkLineRasterizationModeEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkLineRasterizationModeEXT.cs
deleted file mode 100644
index 7ea9ff53..00000000
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkLineRasterizationModeEXT.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-#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;
-
-///
-/// VkLineRasterizationModeEXT - Line rasterization modes -
-/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkLineRasterizationModeEXT.html
-///
-public enum VkLineRasterizationModeEXT
-{
- ///
- /// VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT is equivalent to VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT if
- /// VkPhysicalDeviceLimits
- /// ::strictLines is VK_TRUE, otherwise lines are drawn as non-strictLines parallelograms. Both of these modes are
- /// defined in
- ///
- /// Basic
- /// Line Segment Rasterization
- ///
- /// .
- ///
- VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
-
- ///
- /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT specifies lines drawn as if they were rectangles extruded from the
- /// line
- ///
- VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
-
- ///
- /// VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT specifies lines drawn by determining which pixel diamonds the line
- /// intersects and exits, as defined in
- ///
- /// Bresenham
- /// Line Segment Rasterization
- ///
- /// .
- ///
- VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
-
- ///
- /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT specifies lines drawn if they were rectangles extruded from
- /// the line, with alpha falloff, as defined in
- ///
- /// Smooth
- /// Lines
- ///
- /// .
- ///
- VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3
-}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_load_store_op_none/VkExtLoadStoreOpNone.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_load_store_op_none/VkExtLoadStoreOpNone.cs
index 5556db1c..8ce16eec 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_load_store_op_none/VkExtLoadStoreOpNone.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_load_store_op_none/VkExtLoadStoreOpNone.cs
@@ -24,6 +24,7 @@ namespace Exomia.Vulkan.Api.Core;
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_load_store_op_none.html
///
[VkDeviceExt]
+[Obsolete("promoted to VK_KHR_load_store_op_none", false, UrlFormat = "https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_load_store_op_none.html#_deprecation_state")]
public static class VkExtLoadStoreOpNone
{
/// The spec version.
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_properties/VkPipelinePropertiesIdentifierEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_properties/VkPipelinePropertiesIdentifierEXT.cs
index 9d3c3009..de035684 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_properties/VkPipelinePropertiesIdentifierEXT.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_properties/VkPipelinePropertiesIdentifierEXT.cs
@@ -20,6 +20,13 @@ namespace Exomia.Vulkan.Api.Core;
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelinePropertiesIdentifierEXT.html
///
///
+///
+///
+/// -
+/// returnedonlytrue
+///
+///
+///
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkPipelinePropertiesIdentifierEXT
{
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureBuildSizesInfoKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureBuildSizesInfoKHR.cs
index c8235ccd..30f3a3b2 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureBuildSizesInfoKHR.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkAccelerationStructureBuildSizesInfoKHR.cs
@@ -20,6 +20,13 @@ namespace Exomia.Vulkan.Api.Core;
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAccelerationStructureBuildSizesInfoKHR.html
///
///
+///
+///
+/// -
+/// returnedonlytrue
+///
+///
+///
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkAccelerationStructureBuildSizesInfoKHR
{
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_cooperative_matrix/VkCooperativeMatrixPropertiesKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_cooperative_matrix/VkCooperativeMatrixPropertiesKHR.cs
index b45482d8..e1decec9 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_cooperative_matrix/VkCooperativeMatrixPropertiesKHR.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_cooperative_matrix/VkCooperativeMatrixPropertiesKHR.cs
@@ -20,6 +20,13 @@ namespace Exomia.Vulkan.Api.Core;
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkCooperativeMatrixPropertiesKHR.html
///
///
+///
+///
+/// -
+/// returnedonlytrue
+///
+///
+///
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkCooperativeMatrixPropertiesKHR
{
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkKhrDynamicRenderingLocalRead.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkKhrDynamicRenderingLocalRead.cs
new file mode 100644
index 00000000..863ae749
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkKhrDynamicRenderingLocalRead.cs
@@ -0,0 +1,117 @@
+#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.VkKhrDynamicRenderingLocalRead;
+
+#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_KHR_dynamic_rendering_local_read - device extension (nr. 233) - author 'AMD' [platform '' | contact 'Tobias
+/// Hector @tobski']
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_dynamic_rendering_local_read.html
+///
+///
+[VkDepends("VK_KHR_dynamic_rendering")]
+[VkDeviceExt]
+public static unsafe class VkKhrDynamicRenderingLocalRead
+{
+ /// The spec version.
+ public const uint VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME = "VK_KHR_dynamic_rendering_local_read";
+
+ ///
+ /// An UTF8 null terminated version of
+ /// represented by an UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_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_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME_UTF8_NT =
+ "\u4b56\u4b5f\u5248\u445f\u4e59\u4d41\u4349\u525f\u4e45\u4544\u4952\u474e\u4c5f\u434f\u4c41\u525f\u4145\u5f44\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
+
+ ///
+ /// vkCmdSetRenderingAttachmentLocationsKHR - Set color attachment location mappings for a command buffer -
+ ///
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdSetRenderingAttachmentLocationsKHR.html
+ ///
+ ///
+ /// commandBuffer is the command buffer into which the command will be recorded.
+ ///
+ /// pLocationInfo is a VkRenderingAttachmentLocationInfoKHRstructure indicating the new
+ /// mappings.
+ ///
+ public static readonly delegate*<
+ VkCommandBuffer /*commandBuffer*/,
+ VkRenderingAttachmentLocationInfoKHR* /*pLocationInfo*/,
+ void> vkCmdSetRenderingAttachmentLocationsKHR = null;
+
+ ///
+ /// vkCmdSetRenderingInputAttachmentIndicesKHR - Set input attachment index mappings for a command buffer -
+ ///
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html
+ ///
+ ///
+ /// commandBuffer is the command buffer into which the command will be recorded.
+ ///
+ ///
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html
+ ///
+ ///
+ public static readonly delegate*<
+ VkCommandBuffer /*commandBuffer*/,
+ VkRenderingInputAttachmentIndexInfoKHR* /*pLocationInfo*/,
+ void> vkCmdSetRenderingInputAttachmentIndicesKHR = null;
+
+ /// Loads all function pointer based on the device for this extension. (see remarks!)
+ /// The device that the function pointers will be compatible with.
+ ///
+ /// This load method makes the following function pointers available:
+ ///
+ /// -
+ /// vkCmdSetRenderingAttachmentLocationsKHR
+ ///
+ /// -
+ /// vkCmdSetRenderingInputAttachmentIndicesKHR
+ ///
+ ///
+ ///
+ public static void Load(VkDevice device)
+ {
+ fixed (delegate** pvkCmdSetRenderingAttachmentLocationsKHR = &vkCmdSetRenderingAttachmentLocationsKHR)
+ {
+ *pvkCmdSetRenderingAttachmentLocationsKHR = (delegate*)GetVkFunction(
+ device, "\u6b76\u6d43\u5364\u7465\u6552\u646e\u7265\u6e69\u4167\u7474\u6361\u6d68\u6e65\u4c74\u636f\u7461\u6f69\u736e\u484b\u0052");
+ }
+
+ fixed (delegate** pvkCmdSetRenderingInputAttachmentIndicesKHR = &vkCmdSetRenderingInputAttachmentIndicesKHR)
+ {
+ *pvkCmdSetRenderingInputAttachmentIndicesKHR = (delegate*)GetVkFunction(
+ device, "\u6b76\u6d43\u5364\u7465\u6552\u646e\u7265\u6e69\u4967\u706e\u7475\u7441\u6174\u6863\u656d\u746e\u6e49\u6964\u6563\u4b73\u5248\u0000");
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR.cs
new file mode 100644
index 00000000..7ac461da
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR.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;
+
+///
+/// VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR - Structure indicating support for local reads in dynamic
+/// render pass instances -
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR.html
+///
+///
+///
+///
+/// -
+/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo
+///
+///
+///
+[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
+[StructLayout(LayoutKind.Sequential)]
+public unsafe struct VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+{
+ /// The stype of this structure.
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR;
+
+ /// 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;
+
+ ///
+ /// dynamicRenderingLocalReadspecifies that the implementation supports local reads inside dynamic render pass
+ /// instances using the vkCmdBeginRendering command.
+ ///
+ public VkBool32 dynamicRenderingLocalRead;
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkRenderingAttachmentLocationInfoKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkRenderingAttachmentLocationInfoKHR.cs
new file mode 100644
index 00000000..47550905
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkRenderingAttachmentLocationInfoKHR.cs
@@ -0,0 +1,52 @@
+#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;
+
+///
+/// VkRenderingAttachmentLocationInfoKHR - Structure specifying attachment locations -
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkRenderingAttachmentLocationInfoKHR.html
+///
+///
+///
+///
+/// -
+/// structextends
+/// VkGraphicsPipelineCreateInfo,VkCommandBufferInheritanceInfo
+///
+///
+///
+[VkStructExtends("VkGraphicsPipelineCreateInfo,VkCommandBufferInheritanceInfo")]
+[StructLayout(LayoutKind.Sequential)]
+public unsafe struct VkRenderingAttachmentLocationInfoKHR
+{
+ /// The stype of this structure.
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR;
+
+ /// 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;
+
+ /// colorAttachmentCount is the number of elements in pColorAttachmentLocations.
+ public uint colorAttachmentCount;
+
+ ///
+ /// pColorAttachmentLocations is a pointer to an array of colorAttachmentCount uint32_t values defining remapped
+ /// locations for color attachments.
+ ///
+ public uint* pColorAttachmentLocations;
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkRenderingInputAttachmentIndexInfoKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkRenderingInputAttachmentIndexInfoKHR.cs
new file mode 100644
index 00000000..b0e15fc8
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_dynamic_rendering_local_read/VkRenderingInputAttachmentIndexInfoKHR.cs
@@ -0,0 +1,64 @@
+#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;
+
+///
+/// VkRenderingInputAttachmentIndexInfoKHR - Structure specifying input attachment indices -
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkRenderingInputAttachmentIndexInfoKHR.html
+///
+///
+///
+///
+/// -
+/// structextends
+/// VkGraphicsPipelineCreateInfo,VkCommandBufferInheritanceInfo
+///
+///
+///
+[VkStructExtends("VkGraphicsPipelineCreateInfo,VkCommandBufferInheritanceInfo")]
+[StructLayout(LayoutKind.Sequential)]
+public unsafe struct VkRenderingInputAttachmentIndexInfoKHR
+{
+ /// The stype of this structure.
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR;
+
+ /// 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;
+
+ /// colorAttachmentCount is the number of elements in pColorAttachmentInputIndices.
+ public uint colorAttachmentCount;
+
+ ///
+ /// pColorAttachmentInputIndices is a pointer to an array of colorAttachmentCount uint32_t values defining indices
+ /// for color attachments to be used as input attachments.
+ ///
+ public uint* pColorAttachmentInputIndices;
+
+ ///
+ /// pDepthInputAttachmentIndex is either NULL, or a pointer to a uint32_t value defining the index for the depth
+ /// attachment to be used an an input attachment.
+ ///
+ public uint* pDepthInputAttachmentIndex;
+
+ ///
+ /// pStencilInputAttachmentIndex is either NULL, or a pointer to a uint32_t value defining the index for the
+ /// stencil attachment to be used an an input attachment.
+ ///
+ public uint* pStencilInputAttachmentIndex;
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_index_type_uint8/VkKhrIndexTypeUint8.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_index_type_uint8/VkKhrIndexTypeUint8.cs
new file mode 100644
index 00000000..79aaa1ce
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_index_type_uint8/VkKhrIndexTypeUint8.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.VkKhrIndexTypeUint8;
+
+#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_KHR_index_type_uint8 - device extension (nr. 534) - author 'KHR' [platform '' | contact 'Piers Daniell
+/// @pdaniell-nv']
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_index_type_uint8.html
+///
+[VkDepends("VK_KHR_get_physical_device_properties2,VK_VERSION_1_1")]
+[VkDeviceExt]
+public static class VkKhrIndexTypeUint8
+{
+ /// The spec version.
+ public const uint VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME = "VK_KHR_index_type_uint8";
+
+ ///
+ /// An UTF8 null terminated version of represented by an
+ /// UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_KHR_INDEX_TYPE_UINT8_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_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME_UTF8_NT = "\u4b56\u4b5f\u5248\u495f\u444e\u5845\u545f\u5059\u5f45\u4955\u544e\u5f38\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_index_type_uint8/VkPhysicalDeviceIndexTypeUint8FeaturesEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_index_type_uint8/VkPhysicalDeviceIndexTypeUint8FeaturesKHR.cs
similarity index 80%
rename from src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_index_type_uint8/VkPhysicalDeviceIndexTypeUint8FeaturesEXT.cs
rename to src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_index_type_uint8/VkPhysicalDeviceIndexTypeUint8FeaturesKHR.cs
index c35e4514..d2905705 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_index_type_uint8/VkPhysicalDeviceIndexTypeUint8FeaturesEXT.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_index_type_uint8/VkPhysicalDeviceIndexTypeUint8FeaturesKHR.cs
@@ -14,10 +14,10 @@
namespace Exomia.Vulkan.Api.Core;
///
-/// VkPhysicalDeviceIndexTypeUint8FeaturesEXT - Structure describing whether uint8 index type can be used -
+/// VkPhysicalDeviceIndexTypeUint8FeaturesKHR - Structure describing whether uint8 index type can be used -
///
-/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceIndexTypeUint8FeaturesEXT.html
+/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceIndexTypeUint8FeaturesKHR.html">
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceIndexTypeUint8FeaturesKHR.html
///
///
///
@@ -29,10 +29,10 @@ namespace Exomia.Vulkan.Api.Core;
///
[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
[StructLayout(LayoutKind.Sequential)]
-public unsafe struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT
+public unsafe struct VkPhysicalDeviceIndexTypeUint8FeaturesKHR
{
/// The stype of this structure.
- public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT;
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR;
/// sType is a VkStructureType value identifying this structure.
public VkStructureType sType;
@@ -41,7 +41,7 @@ public unsafe struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT
public void* pNext;
///
- /// indexTypeUint8 indicates that VK_INDEX_TYPE_UINT8_EXT can be used with vkCmdBindIndexBuffer2KHR and
+ /// indexTypeUint8 indicates that VK_INDEX_TYPE_UINT8_KHR can be used with vkCmdBindIndexBuffer2KHR and
/// vkCmdBindIndexBuffer.
///
public VkBool32 indexTypeUint8;
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkKhrLineRasterization.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkKhrLineRasterization.cs
new file mode 100644
index 00000000..4a6aaac0
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkKhrLineRasterization.cs
@@ -0,0 +1,81 @@
+#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.VkKhrLineRasterization;
+
+#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_KHR_line_rasterization - device extension (nr. 535) - author 'KHR' [platform '' | contact 'Piers Daniell
+/// @pdaniell-nv']
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_line_rasterization.html
+///
+[VkDepends("VK_KHR_get_physical_device_properties2,VK_VERSION_1_1")]
+[VkDeviceExt]
+public static unsafe class VkKhrLineRasterization
+{
+ /// The spec version.
+ public const uint VK_KHR_LINE_RASTERIZATION_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME = "VK_KHR_line_rasterization";
+
+ ///
+ /// An UTF8 null terminated version of represented by an
+ /// UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_KHR_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_KHR_LINE_RASTERIZATION_EXTENSION_NAME_UTF8_NT =
+ "\u4b56\u4b5f\u5248\u4c5f\u4e49\u5f45\u4152\u5453\u5245\u5a49\u5441\u4f49\u5f4e\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
+
+ ///
+ /// vkCmdSetLineStippleKHR - Set line stipple dynamically for a command buffer -
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdSetLineStippleKHR.html
+ ///
+ /// commandBuffer is the command buffer into which the command will be recorded.
+ /// lineStippleFactor is the repeat factor used in stippled line rasterization.
+ /// lineStipplePattern is the bit pattern used in stippled line rasterization.
+ public static readonly delegate*<
+ VkCommandBuffer /*commandBuffer*/,
+ uint /*lineStippleFactor*/,
+ ushort /*lineStipplePattern*/,
+ void> vkCmdSetLineStippleKHR = null;
+
+ /// Loads all function pointer based on the device for this extension. (see remarks!)
+ /// The device that the function pointers will be compatible with.
+ ///
+ /// This load method makes the following function pointers available:
+ ///
+ /// -
+ /// vkCmdSetLineStippleKHR
+ ///
+ ///
+ ///
+ public static void Load(VkDevice device)
+ {
+ fixed (delegate** pvkCmdSetLineStippleKHR = &vkCmdSetLineStippleKHR)
+ {
+ *pvkCmdSetLineStippleKHR = (delegate*)GetVkFunction(device, "\u6b76\u6d43\u5364\u7465\u694c\u656e\u7453\u7069\u6c70\u4b65\u5248\u0000");
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkLineRasterizationModeKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkLineRasterizationModeKHR.cs
new file mode 100644
index 00000000..4a3e6f3f
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkLineRasterizationModeKHR.cs
@@ -0,0 +1,103 @@
+#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;
+
+///
+/// VkLineRasterizationModeKHR - Line rasterization modes -
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkLineRasterizationModeKHR.html
+///
+public enum VkLineRasterizationModeKHR
+{
+ ///
+ /// VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR is equivalent to VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR if
+ /// VkPhysicalDeviceLimits
+ /// ::strictLines is VK_TRUE, otherwise lines are drawn as non-strictLines parallelograms. Both of these modes are
+ /// defined in
+ ///
+ /// Basic
+ /// Line Segment Rasterization
+ ///
+ /// .
+ ///
+ VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = 0,
+
+ ///
+ /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR specifies lines drawn as if they were rectangles extruded from the
+ /// line
+ ///
+ VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = 1,
+
+ ///
+ /// VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR specifies lines drawn by determining which pixel diamonds the line
+ /// intersects and exits, as defined in
+ ///
+ /// Bresenham
+ /// Line Segment Rasterization
+ ///
+ /// .
+ ///
+ VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = 2,
+
+ ///
+ /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR specifies lines drawn if they were rectangles extruded from
+ /// the line, with alpha falloff, as defined in
+ ///
+ /// Smooth
+ /// Lines
+ ///
+ /// .
+ ///
+ VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = 3,
+
+ ///
+ /// VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR is equivalent to VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR if
+ /// VkPhysicalDeviceLimits
+ /// ::strictLines is VK_TRUE, otherwise lines are drawn as non-strictLines parallelograms. Both of these modes are
+ /// defined in
+ ///
+ /// Basic
+ /// Line Segment Rasterization
+ ///
+ /// .
+ ///
+ VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR,
+
+ ///
+ /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR specifies lines drawn as if they were rectangles extruded from the
+ /// line
+ ///
+ VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR,
+
+ ///
+ /// VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR specifies lines drawn by determining which pixel diamonds the line
+ /// intersects and exits, as defined in
+ ///
+ /// Bresenham
+ /// Line Segment Rasterization
+ ///
+ /// .
+ ///
+ VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR,
+
+ ///
+ /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR specifies lines drawn if they were rectangles extruded from
+ /// the line, with alpha falloff, as defined in
+ ///
+ /// Smooth
+ /// Lines
+ ///
+ /// .
+ ///
+ VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkPhysicalDeviceLineRasterizationFeaturesEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkPhysicalDeviceLineRasterizationFeaturesKHR.cs
similarity index 85%
rename from src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkPhysicalDeviceLineRasterizationFeaturesEXT.cs
rename to src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkPhysicalDeviceLineRasterizationFeaturesKHR.cs
index b9454d77..475c5e71 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkPhysicalDeviceLineRasterizationFeaturesEXT.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkPhysicalDeviceLineRasterizationFeaturesKHR.cs
@@ -14,11 +14,11 @@
namespace Exomia.Vulkan.Api.Core;
///
-/// VkPhysicalDeviceLineRasterizationFeaturesEXT - Structure describing the line rasterization features that can be
+/// VkPhysicalDeviceLineRasterizationFeaturesKHR - Structure describing the line rasterization features that can be
/// supported by an implementation -
///
-/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLineRasterizationFeaturesEXT.html
+/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLineRasterizationFeaturesKHR.html">
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLineRasterizationFeaturesKHR.html
///
///
///
@@ -30,10 +30,10 @@ namespace Exomia.Vulkan.Api.Core;
///
[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
[StructLayout(LayoutKind.Sequential)]
-public unsafe struct VkPhysicalDeviceLineRasterizationFeaturesEXT
+public unsafe struct VkPhysicalDeviceLineRasterizationFeaturesKHR
{
/// The stype of this structure.
- public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT;
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR;
/// sType is a VkStructureType value identifying this structure.
public VkStructureType sType;
@@ -52,19 +52,19 @@ public unsafe struct VkPhysicalDeviceLineRasterizationFeaturesEXT
///
/// stippledRectangularLinesindicates whether the implementation supports stippled line rasterization with
- /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT lines.
+ /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR lines.
///
public VkBool32 stippledRectangularLines;
///
/// stippledBresenhamLinesindicates whether the implementation supports stippled line rasterization with
- /// VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT lines.
+ /// VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR lines.
///
public VkBool32 stippledBresenhamLines;
///
/// stippledSmoothLines indicates whether the implementation supports stippled line rasterization with
- /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT lines.
+ /// VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR lines.
///
public VkBool32 stippledSmoothLines;
}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkPhysicalDeviceLineRasterizationPropertiesEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkPhysicalDeviceLineRasterizationPropertiesKHR.cs
similarity index 90%
rename from src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkPhysicalDeviceLineRasterizationPropertiesEXT.cs
rename to src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkPhysicalDeviceLineRasterizationPropertiesKHR.cs
index 29d64090..6beb14b7 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkPhysicalDeviceLineRasterizationPropertiesEXT.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkPhysicalDeviceLineRasterizationPropertiesKHR.cs
@@ -14,11 +14,11 @@
namespace Exomia.Vulkan.Api.Core;
///
-/// VkPhysicalDeviceLineRasterizationPropertiesEXT - Structure describing line rasterization properties supported by an
+/// VkPhysicalDeviceLineRasterizationPropertiesKHR - Structure describing line rasterization properties supported by an
/// implementation -
///
-/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLineRasterizationPropertiesEXT.html
+/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLineRasterizationPropertiesKHR.html">
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLineRasterizationPropertiesKHR.html
///
///
///
@@ -33,10 +33,10 @@ namespace Exomia.Vulkan.Api.Core;
///
[VkStructExtends("VkPhysicalDeviceProperties2")]
[StructLayout(LayoutKind.Sequential)]
-public unsafe struct VkPhysicalDeviceLineRasterizationPropertiesEXT
+public unsafe struct VkPhysicalDeviceLineRasterizationPropertiesKHR
{
/// The stype of this structure.
- public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT;
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR;
/// sType is a VkStructureType value identifying this structure.
public VkStructureType sType;
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkPipelineRasterizationLineStateCreateInfoEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkPipelineRasterizationLineStateCreateInfoKHR.cs
similarity index 83%
rename from src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkPipelineRasterizationLineStateCreateInfoEXT.cs
rename to src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkPipelineRasterizationLineStateCreateInfoKHR.cs
index 0759ee7e..8d5ef67f 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_line_rasterization/VkPipelineRasterizationLineStateCreateInfoEXT.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_line_rasterization/VkPipelineRasterizationLineStateCreateInfoKHR.cs
@@ -14,11 +14,11 @@
namespace Exomia.Vulkan.Api.Core;
///
-/// VkPipelineRasterizationLineStateCreateInfoEXT - Structure specifying parameters of a newly created pipeline line
+/// VkPipelineRasterizationLineStateCreateInfoKHR - Structure specifying parameters of a newly created pipeline line
/// rasterization state -
///
-/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelineRasterizationLineStateCreateInfoEXT.html
+/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelineRasterizationLineStateCreateInfoKHR.html">
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelineRasterizationLineStateCreateInfoKHR.html
///
///
///
@@ -30,10 +30,10 @@ namespace Exomia.Vulkan.Api.Core;
///
[VkStructExtends("VkPipelineRasterizationStateCreateInfo")]
[StructLayout(LayoutKind.Sequential)]
-public unsafe struct VkPipelineRasterizationLineStateCreateInfoEXT
+public unsafe struct VkPipelineRasterizationLineStateCreateInfoKHR
{
/// The stype of this structure.
- public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT;
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR;
/// sType is a VkStructureType value identifying this structure.
public VkStructureType sType;
@@ -41,8 +41,8 @@ public unsafe struct VkPipelineRasterizationLineStateCreateInfoEXT
/// pNext is NULL or a pointer to a structure extending this structure.
public void* pNext;
- /// lineRasterizationMode is a VkLineRasterizationModeEXT value selecting the style of line rasterization.
- public VkLineRasterizationModeEXT lineRasterizationMode;
+ /// lineRasterizationMode is a VkLineRasterizationModeKHR value selecting the style of line rasterization.
+ public VkLineRasterizationModeKHR lineRasterizationMode;
/// stippledLineEnable enables stippled line rasterization.
public VkBool32 stippledLineEnable;
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_load_store_op_none/VkKhrLoadStoreOpNone.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_load_store_op_none/VkKhrLoadStoreOpNone.cs
new file mode 100644
index 00000000..7fba83ff
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_load_store_op_none/VkKhrLoadStoreOpNone.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.VkKhrLoadStoreOpNone;
+
+#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_KHR_load_store_op_none - device extension (nr. 527) - author 'KHR' [platform '' | contact 'Shahbaz Youssefi
+/// @syoussefi']
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_load_store_op_none.html
+///
+[VkDeviceExt]
+public static class VkKhrLoadStoreOpNone
+{
+ /// The spec version.
+ public const uint VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_KHR_load_store_op_none";
+
+ ///
+ /// An UTF8 null terminated version of represented by an
+ /// UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_KHR_LOAD_STORE_OP_NONE_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_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME_UTF8_NT =
+ "\u4b56\u4b5f\u5248\u4c5f\u414f\u5f44\u5453\u524f\u5f45\u504f\u4e5f\u4e4f\u5f45\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_expect_assume/VkKhrShaderExpectAssume.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_expect_assume/VkKhrShaderExpectAssume.cs
new file mode 100644
index 00000000..8c728526
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_expect_assume/VkKhrShaderExpectAssume.cs
@@ -0,0 +1,50 @@
+#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.VkKhrShaderExpectAssume;
+
+#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_KHR_shader_expect_assume - device extension (nr. 545) - author 'KHR' [platform '' | contact 'Kevin Petit @kpet']
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_expect_assume.html
+///
+[VkDepends("VK_KHR_get_physical_device_properties2")]
+[VkDeviceExt]
+public static class VkKhrShaderExpectAssume
+{
+ /// The spec version.
+ public const uint VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME = "VK_KHR_shader_expect_assume";
+
+ ///
+ /// An UTF8 null terminated version of represented by
+ /// an UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_KHR_SHADER_EXPECT_ASSUME_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_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME_UTF8_NT =
+ "\u4b56\u4b5f\u5248\u535f\u4148\u4544\u5f52\u5845\u4550\u5443\u415f\u5353\u4d55\u5f45\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_expect_assume/VkPhysicalDeviceShaderExpectAssumeFeaturesKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_expect_assume/VkPhysicalDeviceShaderExpectAssumeFeaturesKHR.cs
new file mode 100644
index 00000000..73427233
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_expect_assume/VkPhysicalDeviceShaderExpectAssumeFeaturesKHR.cs
@@ -0,0 +1,46 @@
+#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;
+
+///
+/// VkPhysicalDeviceShaderExpectAssumeFeaturesKHR - Structure describing shader expect assume features that can be
+/// supported by an implementation -
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderExpectAssumeFeaturesKHR.html
+///
+///
+///
+///
+/// -
+/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo
+///
+///
+///
+[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
+[StructLayout(LayoutKind.Sequential)]
+public unsafe struct VkPhysicalDeviceShaderExpectAssumeFeaturesKHR
+{
+ /// The stype of this structure.
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR;
+
+ /// 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;
+
+ /// shaderExpectAssume specifies whether shader modules can declare the ExpectAssumeKHR capability.
+ public VkBool32 shaderExpectAssume;
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_float_controls2/VkKhrShaderFloatControls2.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_float_controls2/VkKhrShaderFloatControls2.cs
new file mode 100644
index 00000000..183fa1f2
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_float_controls2/VkKhrShaderFloatControls2.cs
@@ -0,0 +1,50 @@
+#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.VkKhrShaderFloatControls2;
+
+#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_KHR_shader_float_controls2 - device extension (nr. 529) - author 'KHR' [platform '' | contact 'Graeme Leese
+/// @gnl21']
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_float_controls2.html
+///
+[VkDepends("VK_VERSION_1_1+VK_KHR_shader_float_controls")]
+[VkDeviceExt]
+public static class VkKhrShaderFloatControls2
+{
+ /// The spec version.
+ public const uint VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME = "VK_KHR_shader_float_controls2";
+
+ ///
+ /// An UTF8 null terminated version of represented
+ /// by an UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_KHR_SHADER_FLOAT_CONTROLS_2_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_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME_UTF8_NT =
+ "\u4b56\u4b5f\u5248\u535f\u4148\u4544\u5f52\u4c46\u414f\u5f54\u4f43\u544e\u4f52\u534c\u325f\u455f\u5458\u4e45\u4953\u4e4f\u4e5f\u4d41\u0045";
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_float_controls2/VkPhysicalDeviceShaderFloatControls2FeaturesKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_float_controls2/VkPhysicalDeviceShaderFloatControls2FeaturesKHR.cs
new file mode 100644
index 00000000..b47b9da4
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_float_controls2/VkPhysicalDeviceShaderFloatControls2FeaturesKHR.cs
@@ -0,0 +1,46 @@
+#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;
+
+///
+/// VkPhysicalDeviceShaderFloatControls2FeaturesKHR - Structure describing shader float controls 2 features that can be
+/// supported by an implementation -
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderFloatControls2FeaturesKHR.html
+///
+///
+///
+///
+/// -
+/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo
+///
+///
+///
+[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
+[StructLayout(LayoutKind.Sequential)]
+public unsafe struct VkPhysicalDeviceShaderFloatControls2FeaturesKHR
+{
+ /// The stype of this structure.
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR;
+
+ /// 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;
+
+ /// shaderFloatControls2 specifies whether shader modules can declare the FloatControls2 capability.
+ public VkBool32 shaderFloatControls2;
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_maximal_reconvergence/VkKhrShaderMaximalReconvergence.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_maximal_reconvergence/VkKhrShaderMaximalReconvergence.cs
new file mode 100644
index 00000000..52391c51
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_maximal_reconvergence/VkKhrShaderMaximalReconvergence.cs
@@ -0,0 +1,53 @@
+#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.VkKhrShaderMaximalReconvergence;
+
+#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_KHR_shader_maximal_reconvergence - device extension (nr. 435) - author 'KHR' [platform '' | contact 'Alan Baker
+/// @alan-baker']
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_maximal_reconvergence.html
+///
+///
+[VkDepends("VK_VERSION_1_1")]
+[VkDeviceExt]
+public static class VkKhrShaderMaximalReconvergence
+{
+ /// The spec version.
+ public const uint VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME = "VK_KHR_shader_maximal_reconvergence";
+
+ ///
+ /// An UTF8 null terminated version of
+ /// represented by an UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_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_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME_UTF8_NT =
+ "\u4b56\u4b5f\u5248\u535f\u4148\u4544\u5f52\u414d\u4958\u414d\u5f4c\u4552\u4f43\u564e\u5245\u4547\u434e\u5f45\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_maximal_reconvergence/VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_maximal_reconvergence/VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR.cs
new file mode 100644
index 00000000..b53b8125
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_maximal_reconvergence/VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR.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;
+
+///
+/// VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR - Structure describing support for shader maximal
+/// reconvergence by an implementation -
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR.html
+///
+///
+///
+///
+/// -
+/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo
+///
+///
+///
+[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
+[StructLayout(LayoutKind.Sequential)]
+public unsafe struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+{
+ /// The stype of this structure.
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR;
+
+ /// 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;
+
+ ///
+ /// shaderMaximalReconvergencespecifies whether the implementation supports the shader execution mode
+ /// MaximallyReconvergesKHR
+ ///
+ public VkBool32 shaderMaximalReconvergence;
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_quad_control/VkKhrShaderQuadControl.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_quad_control/VkKhrShaderQuadControl.cs
new file mode 100644
index 00000000..146a73fd
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_quad_control/VkKhrShaderQuadControl.cs
@@ -0,0 +1,50 @@
+#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.VkKhrShaderQuadControl;
+
+#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_KHR_shader_quad_control - device extension (nr. 236) - author 'KHR' [platform '' | contact 'Tobias Hector
+/// @tobski']
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_quad_control.html
+///
+[VkDepends("VK_VERSION_1_1+VK_KHR_vulkan_memory_model+VK_KHR_shader_maximal_reconvergence")]
+[VkDeviceExt]
+public static class VkKhrShaderQuadControl
+{
+ /// The spec version.
+ public const uint VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME = "VK_KHR_shader_quad_control";
+
+ ///
+ /// An UTF8 null terminated version of represented by an
+ /// UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_KHR_SHADER_QUAD_CONTROL_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_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME_UTF8_NT =
+ "\u4b56\u4b5f\u5248\u535f\u4148\u4544\u5f52\u5551\u4441\u435f\u4e4f\u5254\u4c4f\u455f\u5458\u4e45\u4953\u4e4f\u4e5f\u4d41\u0045";
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_quad_control/VkPhysicalDeviceShaderQuadControlFeaturesKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_quad_control/VkPhysicalDeviceShaderQuadControlFeaturesKHR.cs
new file mode 100644
index 00000000..d1e0e511
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_quad_control/VkPhysicalDeviceShaderQuadControlFeaturesKHR.cs
@@ -0,0 +1,52 @@
+#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;
+
+///
+/// VkPhysicalDeviceShaderQuadControlFeaturesKHR - Structure describing whether quad scopes are supported by the
+/// implementation -
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderQuadControlFeaturesKHR.html
+///
+///
+///
+///
+/// -
+/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo
+///
+///
+///
+[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
+[StructLayout(LayoutKind.Sequential)]
+public unsafe struct VkPhysicalDeviceShaderQuadControlFeaturesKHR
+{
+ /// The stype of this structure.
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR;
+
+ ///
+ /// sType
+ ///
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPhysicalDeviceShaderQuadControlFeaturesKHR
+ ///
+ ///
+ public VkStructureType sType;
+
+ /// pNext is NULL or a pointer to a structure extending this structure.
+ public void* pNext;
+
+ /// shaderQuadControl indicates whether the implementation supports shaders with the QuadControlKHRcapability.
+ public VkBool32 shaderQuadControl;
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_subgroup_rotate/VkKhrShaderSubgroupRotate.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_subgroup_rotate/VkKhrShaderSubgroupRotate.cs
new file mode 100644
index 00000000..740fa7dc
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_subgroup_rotate/VkKhrShaderSubgroupRotate.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.VkKhrShaderSubgroupRotate;
+
+#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_KHR_shader_subgroup_rotate - device extension (nr. 417) - author 'KHR' [platform '' | contact 'Kevin Petit
+/// @kpet']
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_subgroup_rotate.html
+///
+[VkDeviceExt]
+public static class VkKhrShaderSubgroupRotate
+{
+ /// The spec version.
+ public const uint VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION = 1;
+
+ /// The extension name.
+ public const string VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME = "VK_KHR_shader_subgroup_rotate";
+
+ ///
+ /// An UTF8 null terminated version of represented by
+ /// an UTF16 string.
+ ///
+ ///
+ /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_KHR_SHADER_SUBGROUP_ROTATE_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_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME_UTF8_NT =
+ "\u4b56\u4b5f\u5248\u535f\u4148\u4544\u5f52\u5553\u4742\u4f52\u5055\u525f\u544f\u5441\u5f45\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_subgroup_rotate/VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_subgroup_rotate/VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR.cs
new file mode 100644
index 00000000..7431e9bc
--- /dev/null
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_shader_subgroup_rotate/VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR.cs
@@ -0,0 +1,51 @@
+#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;
+
+///
+/// VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR - Structure describing whether subgroup rotation is enabled -
+///
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR.html
+///
+///
+///
+///
+/// -
+/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo
+///
+///
+///
+[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
+[StructLayout(LayoutKind.Sequential)]
+public unsafe struct VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR
+{
+ /// The stype of this structure.
+ public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR;
+
+ /// 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;
+
+ /// shaderSubgroupRotate specifies whether shader modules can declare the GroupNonUniformRotateKHRcapability.
+ public VkBool32 shaderSubgroupRotate;
+
+ ///
+ /// shaderSubgroupRotateClustered specifies whether shader modules can use the ClusterSize operand to
+ /// OpGroupNonUniformRotateKHR.
+ ///
+ public VkBool32 shaderSubgroupRotateClustered;
+}
\ No newline at end of file
diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_cooperative_matrix/VkCooperativeMatrixPropertiesNV.cs b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_cooperative_matrix/VkCooperativeMatrixPropertiesNV.cs
index 085e5913..3afa450e 100644
--- a/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_cooperative_matrix/VkCooperativeMatrixPropertiesNV.cs
+++ b/src/Exomia.Vulkan.Api.Core/Extensions/NV/VK_NV_cooperative_matrix/VkCooperativeMatrixPropertiesNV.cs
@@ -20,6 +20,13 @@ namespace Exomia.Vulkan.Api.Core;
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkCooperativeMatrixPropertiesNV.html
///
///
+///
+///
+/// -
+/// returnedonlytrue
+///
+///
+///
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkCooperativeMatrixPropertiesNV
{
diff --git a/src/Exomia.Vulkan.Api.Core/Structs/VkPhysicalDeviceLimits.cs b/src/Exomia.Vulkan.Api.Core/Structs/VkPhysicalDeviceLimits.cs
index ee897dc1..19d093aa 100644
--- a/src/Exomia.Vulkan.Api.Core/Structs/VkPhysicalDeviceLimits.cs
+++ b/src/Exomia.Vulkan.Api.Core/Structs/VkPhysicalDeviceLimits.cs
@@ -742,8 +742,8 @@ public struct VkPhysicalDeviceLimits
///
/// maxCombinedClipAndCullDistances is the maximum combined number of clip and cull distances that can be used in
- /// a single shader stage. The sum of the sizes of any pair of arrays declared with the ClipDistance and CullDistance
- /// built-in decoration used by a single shader stage in a shader module must be less than or equal to this limit.
+ /// a single shader stage. The sum of the sizes of all arrays declared with the ClipDistanceand CullDistance built-in
+ /// decoration used by a single shader stage in a shader module must be less than or equal to this limit.
///
public uint maxCombinedClipAndCullDistances;
diff --git a/src/Exomia.Vulkan.Api.Core/Structs/VkPipelineInputAssemblyStateCreateInfo.cs b/src/Exomia.Vulkan.Api.Core/Structs/VkPipelineInputAssemblyStateCreateInfo.cs
index 3c013b1b..ede4fb11 100644
--- a/src/Exomia.Vulkan.Api.Core/Structs/VkPipelineInputAssemblyStateCreateInfo.cs
+++ b/src/Exomia.Vulkan.Api.Core/Structs/VkPipelineInputAssemblyStateCreateInfo.cs
@@ -44,7 +44,7 @@ public unsafe struct VkPipelineInputAssemblyStateCreateInfo
/// of primitives. This enable only applies to indexed draws (vkCmdDrawIndexed, vkCmdDrawMultiIndexedEXT,
/// and vkCmdDrawIndexedIndirect), and the special index value is either 0xFFFFFFFF when the indexType parameter of
/// vkCmdBindIndexBuffer2KHR or vkCmdBindIndexBuffer is equal to VK_INDEX_TYPE_UINT32, 0xFF when indexType is
- /// equal to VK_INDEX_TYPE_UINT8_EXT, or 0xFFFF when indexType is equal to VK_INDEX_TYPE_UINT16. Primitive
+ /// equal to VK_INDEX_TYPE_UINT8_KHR, or 0xFFFF when indexType is equal to VK_INDEX_TYPE_UINT16. Primitive
/// restart is not allowed for “list” topologies, unless one of the features
/// primitiveTopologyPatchListRestart (for VK_PRIMITIVE_TOPOLOGY_PATCH_LIST) or primitiveTopologyListRestart
/// (for all other list topologies) is enabled.
diff --git a/src/Exomia.Vulkan.Api.Fuchsia/Extensions/FUCHSIA/VK_FUCHSIA_buffer_collection/VkBufferCollectionPropertiesFUCHSIA.cs b/src/Exomia.Vulkan.Api.Fuchsia/Extensions/FUCHSIA/VK_FUCHSIA_buffer_collection/VkBufferCollectionPropertiesFUCHSIA.cs
index f0a859a5..88c5eab7 100644
--- a/src/Exomia.Vulkan.Api.Fuchsia/Extensions/FUCHSIA/VK_FUCHSIA_buffer_collection/VkBufferCollectionPropertiesFUCHSIA.cs
+++ b/src/Exomia.Vulkan.Api.Fuchsia/Extensions/FUCHSIA/VK_FUCHSIA_buffer_collection/VkBufferCollectionPropertiesFUCHSIA.cs
@@ -20,6 +20,13 @@ namespace Exomia.Vulkan.Api.Fuchsia;
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkBufferCollectionPropertiesFUCHSIA.html
///
///
+///
+///
+/// -
+/// returnedonlytrue
+///
+///
+///
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkBufferCollectionPropertiesFUCHSIA
{