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