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 {