From e552c8e84bf2359c3b4b9cf75dadb80e80add614 Mon Sep 17 00:00:00 2001 From: exomia-bot Date: Thu, 26 Jan 2023 10:18:08 +0000 Subject: [PATCH] v1.3.240 --- .version | 2 +- .../Enums/VkStructureType.cs | 6 ++ .../VkExtPipelineLibraryGroupHandles.cs | 52 +++++++++++++++++ ...ePipelineLibraryGroupHandlesFeaturesEXT.cs | 56 +++++++++++++++++++ ...ysicalDevicePushDescriptorPropertiesKHR.cs | 4 +- 5 files changed, 117 insertions(+), 3 deletions(-) create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_library_group_handles/VkExtPipelineLibraryGroupHandles.cs create mode 100644 src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_library_group_handles/VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT.cs diff --git a/.version b/.version index cf7e233e..52399720 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -1.3.239 \ No newline at end of file +1.3.240 \ 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 06d53f90..d7784464 100644 --- a/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs +++ b/src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs @@ -4537,6 +4537,12 @@ public enum VkStructureType /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, + /// + /// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT
+ /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType + ///
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, + /// /// 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_pipeline_library_group_handles/VkExtPipelineLibraryGroupHandles.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_library_group_handles/VkExtPipelineLibraryGroupHandles.cs new file mode 100644 index 00000000..57d6ea8c --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_library_group_handles/VkExtPipelineLibraryGroupHandles.cs @@ -0,0 +1,52 @@ +#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.VkExtPipelineLibraryGroupHandles; + +#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_pipeline_library_group_handles - device extension (nr. 499) - author 'EXT' [platform '' | contact +/// 'Hans-Kristian Arntzen @HansKristian-Work']
+/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_pipeline_library_group_handles.html +/// +///
+[VkRequires("VK_KHR_ray_tracing_pipeline,VK_KHR_pipeline_library")] +public static class VkExtPipelineLibraryGroupHandles +{ + /// The spec version. + public const uint VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION = 1; + + /// The extension name. + public const string VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME = "VK_EXT_pipeline_library_group_handles"; + + /// + /// An UTF8 null terminated version of + /// represented by an UTF16 string. + /// + /// + /// Example usage:
+ ///
+ /// fixed(char* ptr = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_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_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME_UTF8_NT = + "\u4b56\u455f\u5458\u505f\u5049\u4c45\u4e49\u5f45\u494c\u5242\u5241\u5f59\u5247\u554f\u5f50\u4148\u444e\u454c\u5f53\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_pipeline_library_group_handles/VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT.cs b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_library_group_handles/VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT.cs new file mode 100644 index 00000000..fe6fe99a --- /dev/null +++ b/src/Exomia.Vulkan.Api.Core/Extensions/EXT/VK_EXT_pipeline_library_group_handles/VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT.cs @@ -0,0 +1,56 @@ +#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; + +/// +/// VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT - Structure describing whether querying shader group handles +/// from a pipeline library is supported by the implementation - +/// +/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT.html +/// +/// +/// +/// +/// +/// structextendsVkPhysicalDeviceFeatures2,VkDeviceCreateInfo +/// +/// +/// +[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")] +[StructLayout(LayoutKind.Sequential)] +public unsafe struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT +{ + /// The stype of this structure. + public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT; + + /// + /// sType
+ /// + /// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT + /// + ///
+ public VkStructureType sType; + + /// pNext is NULL or a pointer to a structure extending this structure. + public void* pNext; + + /// + /// pipelineLibraryGroupHandles indicates whether the implementation supports querying group handles directly from + /// a ray tracing pipeline library, and guarantees bitwise identical group handles for such libraries when linked into + /// other pipelines. + /// + public VkBool32 pipelineLibraryGroupHandles; +} \ No newline at end of file diff --git a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_push_descriptor/VkPhysicalDevicePushDescriptorPropertiesKHR.cs b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_push_descriptor/VkPhysicalDevicePushDescriptorPropertiesKHR.cs index 379d0d74..6161f236 100644 --- a/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_push_descriptor/VkPhysicalDevicePushDescriptorPropertiesKHR.cs +++ b/src/Exomia.Vulkan.Api.Core/Extensions/KHR/VK_KHR_push_descriptor/VkPhysicalDevicePushDescriptorPropertiesKHR.cs @@ -45,8 +45,8 @@ public unsafe struct VkPhysicalDevicePushDescriptorPropertiesKHR public void* pNext; /// - /// maxPushDescriptors is the maximum number of descriptors that can be used in a descriptor set created with - /// VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR set. + /// maxPushDescriptors is the maximum number of descriptors that can be used in a descriptor set layout created + /// with VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR set. /// public uint maxPushDescriptors; } \ No newline at end of file