From fe26db02350c7d1fd95f5182066f6fccd78a4723 Mon Sep 17 00:00:00 2001 From: exomia-bot Date: Thu, 4 Aug 2022 10:16:23 +0000 Subject: [PATCH] v1.3.224 --- .version | 2 +- .../Enums/VkDependencyFlagBits.cs | 6 +- .../Enums/VkImageLayout.cs | 10 +++ .../Enums/VkImageUsageFlagBits.cs | 8 ++- .../Enums/VkPipelineCreateFlagBits.cs | 24 +++++-- .../Enums/VkStructureType.cs | 18 +++++ .../VkExtAttachmentFeedbackLoopLayout.cs | 52 ++++++++++++++ ...AttachmentFeedbackLoopLayoutFeaturesEXT.cs | 56 +++++++++++++++ ...VkBuildAccelerationStructureFlagBitsKHR.cs | 18 +++++ .../VkAmigoProfilingSubmitInfoSEC.cs | 69 +++++++++++++++++++ ...PhysicalDeviceAmigoProfilingFeaturesSEC.cs | 63 +++++++++++++++++ .../VkSecAmigoProfiling.cs | 48 +++++++++++++ 12 files changed, 361 insertions(+), 13 deletions(-) create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_attachment_feedback_loop_layout/VkExtAttachmentFeedbackLoopLayout.cs create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_attachment_feedback_loop_layout/VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.cs create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkAmigoProfilingSubmitInfoSEC.cs create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkPhysicalDeviceAmigoProfilingFeaturesSEC.cs create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkSecAmigoProfiling.cs diff --git a/.version b/.version index c0cb6ccd..a549c2b0 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -1.3.223 \ No newline at end of file +1.3.224 \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkDependencyFlagBits.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkDependencyFlagBits.cs index 85604b69..79583e92 100644 --- a/src/Exomia.Vulkan.Api.Core/Enums/VkDependencyFlagBits.cs +++ b/src/Exomia.Vulkan.Api.Core/Enums/VkDependencyFlagBits.cs @@ -52,10 +52,10 @@ public enum VkDependencyFlagBits VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x2, /// - /// VK_DEPENDENCY_RESERVED_3_BIT_EXT
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkDependencyFlagBits + /// VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT specifies that the render pass will write to and read from the same image + /// using the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT layout. ///
- VK_DEPENDENCY_RESERVED_3_BIT_EXT = 0x8, + VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x8, /// /// VK_DEPENDENCY_VIEW_LOCAL_BIT specifies that a diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkImageLayout.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkImageLayout.cs index 852ef602..6bee2a6c 100644 --- a/src/Exomia.Vulkan.Api.Core/Enums/VkImageLayout.cs +++ b/src/Exomia.Vulkan.Api.Core/Enums/VkImageLayout.cs @@ -237,6 +237,16 @@ public enum VkImageLayout /// VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, + /// + /// VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT must only be used as either a color attachment or + /// depth/stencil attachment in a VkFramebuffer and/or read-only access in a shader as a sampled image, combined + /// image/sampler, or input attachment. This layout is valid only for image subresources of images created with the + /// VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT usage bit enabled and either the + /// VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT and either the + /// VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT or VK_IMAGE_USAGE_SAMPLED_BIT usage bits enabled. + /// + VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, + /// /// VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMALspecifies a layout for depth/stencil format images /// allowing read and write access to the stencil aspect as a stencil attachment, and read only access to the depth diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkImageUsageFlagBits.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkImageUsageFlagBits.cs index 3a64595b..ff54b2f3 100644 --- a/src/Exomia.Vulkan.Api.Core/Enums/VkImageUsageFlagBits.cs +++ b/src/Exomia.Vulkan.Api.Core/Enums/VkImageUsageFlagBits.cs @@ -204,10 +204,12 @@ public enum VkImageUsageFlagBits VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x8000, /// - /// VK_IMAGE_USAGE_RESERVED_19_BIT_EXT
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkImageUsageFlagBits + /// VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT specifies that the image can be transitioned to the + /// VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT layout to be used as a color or depth/stencil attachment in a + /// VkFramebufferand/or as a read-only input resource in a shader (sampled image, combined image sampler or input + /// attachment) in the same render pass. ///
- VK_IMAGE_USAGE_RESERVED_19_BIT_EXT = 0x80000, + VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x80000, /// /// VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI
diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkPipelineCreateFlagBits.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkPipelineCreateFlagBits.cs index b505cbef..c67024c1 100644 --- a/src/Exomia.Vulkan.Api.Core/Enums/VkPipelineCreateFlagBits.cs +++ b/src/Exomia.Vulkan.Api.Core/Enums/VkPipelineCreateFlagBits.cs @@ -179,6 +179,12 @@ public enum VkPipelineCreateFlagBits ///
VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x800, + /// + /// VK_PIPELINE_CREATE_RESERVED_29_AMD
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPipelineCreateFlagBits + ///
+ VK_PIPELINE_CREATE_RESERVED_29_AMD = 0x20000000, + /// /// VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXTspecifies that pipeline libraries should retain /// any information necessary to later perform an optimal link with VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT. @@ -199,16 +205,16 @@ public enum VkPipelineCreateFlagBits VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x100000, /// - /// VK_PIPELINE_CREATE_RESERVED_25_BIT_EXT
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPipelineCreateFlagBits + /// VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTspecifies that the pipeline may be used with an + /// attachment feedback loop including color attachments. ///
- VK_PIPELINE_CREATE_RESERVED_25_BIT_EXT = 0x2000000, + VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x2000000, /// - /// VK_PIPELINE_CREATE_RESERVED_26_BIT_EXT
- /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPipelineCreateFlagBits + /// VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTspecifies that the pipeline may be used with + /// an attachment feedback loop including depth-stencil attachments. ///
- VK_PIPELINE_CREATE_RESERVED_26_BIT_EXT = 0x4000000, + VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x4000000, /// /// VK_PIPELINE_CREATE_RESERVED_24_BIT_NV
@@ -216,6 +222,12 @@ public enum VkPipelineCreateFlagBits ///
VK_PIPELINE_CREATE_RESERVED_24_BIT_NV = 0x1000000, + /// + /// VK_PIPELINE_CREATE_RESERVED_BIT_28_NV
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPipelineCreateFlagBits + ///
+ VK_PIPELINE_CREATE_RESERVED_BIT_28_NV = 0x10000000, + /// /// VK_PIPELINE_CREATE_RESERVED_27_BIT_EXT
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPipelineCreateFlagBits diff --git a/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs b/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs index bb293306..32c5523d 100644 --- a/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs +++ b/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs @@ -3661,6 +3661,12 @@ public enum VkStructureType ///
VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, + /// + /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType + ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, + /// /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType @@ -4111,6 +4117,18 @@ public enum VkStructureType ///
VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001, + /// + /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType + ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, + + /// + /// VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType + ///
+ VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, + /// /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES
/// 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_attachment_feedback_loop_layout/VkExtAttachmentFeedbackLoopLayout.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_attachment_feedback_loop_layout/VkExtAttachmentFeedbackLoopLayout.cs new file mode 100644 index 00000000..ecf4f345 --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_attachment_feedback_loop_layout/VkExtAttachmentFeedbackLoopLayout.cs @@ -0,0 +1,52 @@ +#region License + +// Copyright (c) 2018-2022, 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.VkExtAttachmentFeedbackLoopLayout; + +#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_EXT_attachment_feedback_loop_layout - device extension (nr. 340) - author 'EXT' [platform '' | contact 'Joshua +/// Ashton @Joshua-Ashton']
+/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_attachment_feedback_loop_layout.html +/// +///
+[VkRequires("VK_KHR_get_physical_device_properties2")] +public static class VkExtAttachmentFeedbackLoopLayout +{ + /// The spec version. + public const uint VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION = 2; + + /// The extension name. + public const string VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME = "VK_EXT_attachment_feedback_loop_layout"; + + /// + /// An UTF8 null terminated version of + /// represented by an UTF16 string. + /// + /// + /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_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_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME_UTF8_NT = + "\u4b56\u455f\u5458\u415f\u5454\u4341\u4d48\u4e45\u5f54\u4546\u4445\u4142\u4b43\u4c5f\u4f4f\u5f50\u414c\u4f59\u5455\u455f\u5458\u4e45\u4953\u4e4f\u4e5f\u4d41\u0045"; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_attachment_feedback_loop_layout/VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_attachment_feedback_loop_layout/VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.cs new file mode 100644 index 00000000..d28ae7b3 --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_attachment_feedback_loop_layout/VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.cs @@ -0,0 +1,56 @@ +#region License + +// Copyright (c) 2018-2022, 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; + +/// +/// VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT - Structure indicating support for a render feedback loop +/// image layout - +/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.html +/// +/// +/// +/// +/// +/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo +/// +/// +/// +[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")] +[StructLayout(LayoutKind.Sequential)] +public unsafe struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT +{ + /// The stype of this structure. + public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT; + + /// + /// sType
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT + /// + ///
+ public VkStructureType sType; + + /// pNext is NULL or a pointer to a structure extending this structure. + public void* pNext; + + /// + /// attachmentFeedbackLoopLayout indicates whether the implementation supports using + /// VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout for images created with + /// VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT. + /// + public VkBool32 attachmentFeedbackLoopLayout; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkBuildAccelerationStructureFlagBitsKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkBuildAccelerationStructureFlagBitsKHR.cs index 84043deb..f714785d 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkBuildAccelerationStructureFlagBitsKHR.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_acceleration_structure/VkBuildAccelerationStructureFlagBitsKHR.cs @@ -93,6 +93,24 @@ public enum VkBuildAccelerationStructureFlagBitsKHR ///
VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_7_BIT_NV = 0x80, + /// + /// VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_9_NV
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkBuildAccelerationStructureFlagBitsKHR + /// + ///
+ VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_9_NV = 0x200, + + /// + /// VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_10_NV
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkBuildAccelerationStructureFlagBitsKHR + /// + ///
+ VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_10_NV = 0x400, + /// /// VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR indicates that the specified acceleration structure can be /// updated with a mode of VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR in diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkAmigoProfilingSubmitInfoSEC.cs b/src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkAmigoProfilingSubmitInfoSEC.cs new file mode 100644 index 00000000..07d2472b --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkAmigoProfilingSubmitInfoSEC.cs @@ -0,0 +1,69 @@ +#region License + +// Copyright (c) 2018-2022, 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; + +/// +/// VkAmigoProfilingSubmitInfoSEC - Stub description of VkAmigoProfilingSubmitInfoSEC - +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAmigoProfilingSubmitInfoSEC.html +/// +/// +/// +/// +/// structextendsVkSubmitInfo +/// +/// +/// +[VkStructExtends("VkSubmitInfo")] +[StructLayout(LayoutKind.Sequential)] +public unsafe struct VkAmigoProfilingSubmitInfoSEC +{ + /// The stype of this structure. + public const VkStructureType STYPE = VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC; + + /// + /// sType
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkAmigoProfilingSubmitInfoSEC + /// + ///
+ public VkStructureType sType; + + /// + /// pNext
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkAmigoProfilingSubmitInfoSEC + /// + ///
+ public void* pNext; + + /// + /// firstDrawTimestamp
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkAmigoProfilingSubmitInfoSEC + /// + ///
+ public ulong firstDrawTimestamp; + + /// + /// swapBufferTimestamp
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkAmigoProfilingSubmitInfoSEC + /// + ///
+ public ulong swapBufferTimestamp; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkPhysicalDeviceAmigoProfilingFeaturesSEC.cs b/src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkPhysicalDeviceAmigoProfilingFeaturesSEC.cs new file mode 100644 index 00000000..48a2ff07 --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkPhysicalDeviceAmigoProfilingFeaturesSEC.cs @@ -0,0 +1,63 @@ +#region License + +// Copyright (c) 2018-2022, 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; + +/// +/// VkPhysicalDeviceAmigoProfilingFeaturesSEC - Stub description of VkPhysicalDeviceAmigoProfilingFeaturesSEC - +/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceAmigoProfilingFeaturesSEC.html +/// +/// +/// +/// +/// +/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo +/// +/// +/// +[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")] +[StructLayout(LayoutKind.Sequential)] +public unsafe struct VkPhysicalDeviceAmigoProfilingFeaturesSEC +{ + /// The stype of this structure. + public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC; + + /// + /// sType
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPhysicalDeviceAmigoProfilingFeaturesSEC + /// + ///
+ public VkStructureType sType; + + /// + /// pNext
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPhysicalDeviceAmigoProfilingFeaturesSEC + /// + ///
+ public void* pNext; + + /// + /// amigoProfiling
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPhysicalDeviceAmigoProfilingFeaturesSEC + /// + ///
+ public VkBool32 amigoProfiling; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkSecAmigoProfiling.cs b/src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkSecAmigoProfiling.cs new file mode 100644 index 00000000..19f4b531 --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/SEC/VK_SEC_amigo_profiling/VkSecAmigoProfiling.cs @@ -0,0 +1,48 @@ +#region License + +// Copyright (c) 2018-2022, 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.VkSecAmigoProfiling; + +#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_SEC_amigo_profiling - device extension (nr. 486) - author 'SEC' [platform '' | contact 'Ralph Potter +/// gitlab:@r_potter']
+/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_SEC_amigo_profiling.html +///
+[VkRequires("VK_KHR_get_physical_device_properties2")] +public static class VkSecAmigoProfiling +{ + /// The spec version. + public const uint VK_SEC_AMIGO_PROFILING_SPEC_VERSION = 1; + + /// The extension name. + public const string VK_SEC_AMIGO_PROFILING_EXTENSION_NAME = "VK_SEC_amigo_profiling"; + + /// + /// An UTF8 null terminated version of represented by an + /// UTF16 string. + /// + /// + /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_SEC_AMIGO_PROFILING_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_SEC_AMIGO_PROFILING_EXTENSION_NAME_UTF8_NT = "\u4b56\u535f\u4345\u415f\u494d\u4f47\u505f\u4f52\u4946\u494c\u474e\u455f\u5458\u4e45\u4953\u4e4f\u4e5f\u4d41\u0045"; +} \ No newline at end of file