Skip to content

Commit

Permalink
v1.3.289
Browse files Browse the repository at this point in the history
  • Loading branch information
exomia-bot committed Jun 28, 2024
1 parent e10bdb0 commit b40caef
Show file tree
Hide file tree
Showing 15 changed files with 484 additions and 31 deletions.
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.288
1.3.289
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ It is meant to be as close as possible to the original Vulkan API written in C.
![](https://img.shields.io/github/languages/top/exomia/vulkan-api.svg)
![](https://img.shields.io/github/languages/count/exomia/vulkan-api.svg)
![](https://img.shields.io/github/license/exomia/vulkan-api.svg)
[![](https://img.shields.io/nuget/v/Exomia.Vulkan.Api.Core?logo=nuget)](https://www.nuget.org/packages/Exomia.Vulkan.Api.Core)

## Features

- Vulkan 1.0, 1.1, 1.2, 1.3, 0.0
Expand Down
29 changes: 17 additions & 12 deletions src/Exomia.Vulkan.Api.Core/Enums/VkRenderingFlagBits.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,6 @@ public enum VkRenderingFlagBits
/// </summary>
VK_RENDERING_RESUMING_BIT = 0x4,

/// <summary>
/// VK_RENDERING_CONTENTS_INLINE_BIT_EXT specifies that draw calls for the render pass instance can be recorded inline
/// within the current command buffer. When the
/// <a href="https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nestedCommandBuffer">
/// <code>nestedCommandBuffer</code>
/// </a>
/// feature is enabled this can be combined with the VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT bit to allow
/// draw calls to be recorded both inline and in secondary command buffers.
/// </summary>
VK_RENDERING_CONTENTS_INLINE_BIT_EXT = 0x10,

/// <summary>
/// VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT specifies that
/// <a href="https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-legacy-dithering">
Expand All @@ -62,6 +51,14 @@ public enum VkRenderingFlagBits
/// </summary>
VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x8,

/// <summary>
/// VK_RENDERING_CONTENTS_INLINE_BIT_KHR specifies that draw calls for the render pass instance can be recorded
/// inline within the current command buffer. This can be combined with the
/// VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT bit to allow draw calls to be recorded both inline and in
/// secondary command buffers.
/// </summary>
VK_RENDERING_CONTENTS_INLINE_BIT_KHR = 0x10,

/// <summary>
/// VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT specifies that draw calls for the render pass instance will be
/// recorded in secondary command buffers. If the
Expand All @@ -81,5 +78,13 @@ public enum VkRenderingFlagBits
/// VK_RENDERING_RESUMING_BIT specifies that the render pass instance is resuming an earlier suspended render pass
/// instance.
/// </summary>
VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT
VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,

/// <summary>
/// VK_RENDERING_CONTENTS_INLINE_BIT_KHR specifies that draw calls for the render pass instance can be recorded
/// inline within the current command buffer. This can be combined with the
/// VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT bit to allow draw calls to be recorded both inline and in
/// secondary command buffers.
/// </summary>
VK_RENDERING_CONTENTS_INLINE_BIT_EXT = VK_RENDERING_CONTENTS_INLINE_BIT_KHR
}
30 changes: 30 additions & 0 deletions src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5389,6 +5389,36 @@ public enum VkStructureType
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR = 1000558000,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType</a>
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR = 1000562000,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType</a>
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR = 1000562001,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType</a>
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR = 1000562002,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType</a>
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR = 1000562003,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType</a>
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR = 1000562004,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkStructureType</a>
Expand Down
12 changes: 10 additions & 2 deletions src/Exomia.Vulkan.Api.Core/Enums/VkSubpassContents.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,18 @@ public enum VkSubpassContents
VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,

/// <summary>
/// VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXTspecifies that the contents of the subpass can be
/// VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHRspecifies that the contents of the subpass can be
/// recorded both inline and in secondary command buffers executed from this command buffer with
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdExecuteCommands.html">vkCmdExecuteCommands</a>
/// .
/// </summary>
VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = 1000451000
VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR = 1000451000,

/// <summary>
/// VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHRspecifies that the contents of the subpass can be
/// recorded both inline and in secondary command buffers executed from this command buffer with
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdExecuteCommands.html">vkCmdExecuteCommands</a>
/// .
/// </summary>
VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR
}
Original file line number Diff line number Diff line change
@@ -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.VkKhrMaintenance7;

#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;

/// <summary>
/// VK_KHR_maintenance7 - device extension (nr. 563) - author 'KHR' [platform '' | contact 'Mike Blumenkrantz @zmike']
/// <br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_maintenance7.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_maintenance7.html</a>
/// </summary>
[VkDepends("VK_VERSION_1_1")]
[VkDeviceExt]
public static class VkKhrMaintenance7
{
/// <summary> The spec version. </summary>
public const uint VK_KHR_MAINTENANCE_7_SPEC_VERSION = 1;

/// <summary> The extension name. </summary>
public const string VK_KHR_MAINTENANCE_7_EXTENSION_NAME = "VK_KHR_maintenance7";

/// <summary>
/// An UTF8 null terminated version of <see cref="VK_KHR_MAINTENANCE_7_EXTENSION_NAME" /> represented by an UTF16
/// string.
/// </summary>
/// <remarks>
/// Example usage:<br />
/// <br />
/// fixed(char* ptr = VK_KHR_MAINTENANCE_7_EXTENSION_NAME_UTF8_NT) {<br />
/// sbyte* utf8NtPtr = (sbyte*)ptr; // utf8NtPtr - can now be passed and used directly as a utf8_nt string for
/// unmanaged code.<br />
/// }
/// </remarks>
public const string VK_KHR_MAINTENANCE_7_EXTENSION_NAME_UTF8_NT = "\u4b56\u4b5f\u5248\u4d5f\u4941\u544e\u4e45\u4e41\u4543\u375f\u455f\u5458\u4e45\u4953\u4e4f\u4e5f\u4d41\u0045";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#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;

/// <summary>
/// VkPhysicalDeviceLayeredApiKHR - API implemented by the layered implementation -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredApiKHR.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredApiKHR.html</a>
/// </summary>
public enum VkPhysicalDeviceLayeredApiKHR
{
/// <summary>VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR - the device implements the Vulkan API.</summary>
VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR = 0,

/// <summary>VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR - the device implements the D3D12 API.</summary>
VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR = 1,

/// <summary>VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR - the device implements the Metal API.</summary>
VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR = 2,

/// <summary>VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR - the device implements the OpenGL API.</summary>
VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR = 3,

/// <summary>VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR - the device implements the OpenGL ES API.</summary>
VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR = 4
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#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;

/// <summary>
/// VkPhysicalDeviceLayeredApiPropertiesKHR - Structure describing a single layered implementation underneath the
/// Vulkan physical device -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredApiPropertiesKHR.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredApiPropertiesKHR.html
/// </a>
/// </summary>
/// <remarks>
/// <list type="table">
/// <item>
/// <term>returnedonly</term><description>true</description>
/// </item>
/// </list>
/// </remarks>
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkPhysicalDeviceLayeredApiPropertiesKHR
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR;

/// <summary>sType is a VkStructureType value identifying this structure.</summary>
public VkStructureType sType;

/// <summary>pNext is NULL or a pointer to a structure extending this structure.</summary>
public void* pNext;

/// <summary>vendorID is a unique identifier for the vendor of the layered implementation.</summary>
public uint vendorID;

/// <summary>deviceID is a unique identifier for the layered implementation among devices available from the vendor.</summary>
public uint deviceID;

/// <summary>layeredAPI is a VkPhysicalDeviceLayeredApiKHR specifying the API implemented by the layered implementation.</summary>
public VkPhysicalDeviceLayeredApiKHR layeredAPI;

/// <summary>
/// deviceName is an array of VK_MAX_PHYSICAL_DEVICE_NAME_SIZEchar containing a null-terminated UTF-8 string which
/// is the name of the device.
/// </summary>
public fixed byte deviceName[(int)VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#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;

/// <summary>
/// VkPhysicalDeviceLayeredApiPropertiesListKHR - Structure describing layered implementations underneath the Vulkan
/// physical device -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredApiPropertiesListKHR.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredApiPropertiesListKHR.html
/// </a>
/// </summary>
/// <remarks>
/// <list type="table">
/// <item>
/// <term>structextends</term><description>VkPhysicalDeviceProperties2</description>
/// </item>
/// </list>
/// </remarks>
[VkStructExtends("VkPhysicalDeviceProperties2")]
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkPhysicalDeviceLayeredApiPropertiesListKHR
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR;

/// <summary>sType is a VkStructureType value identifying this structure.</summary>
public VkStructureType sType;

/// <summary>pNext is NULL or a pointer to a structure extending this structure.</summary>
public void* pNext;

/// <summary>
/// layeredApiCount is an integer related to the number of layered implementations underneath the Vulkan physical
/// device, as described below.
/// </summary>
public uint layeredApiCount;

/// <summary>
/// pLayeredApis is a pointer to an array of VkPhysicalDeviceLayeredApiPropertiesKHR in which information
/// regarding the layered implementations underneath the Vulkan physical device are returned.
/// </summary>
public VkPhysicalDeviceLayeredApiPropertiesKHR* pLayeredApis;
}
Original file line number Diff line number Diff line change
@@ -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;

/// <summary>
/// VkPhysicalDeviceLayeredApiVulkanPropertiesKHR - Structure describing physical device properties of a layered Vulkan
/// implementation underneath the Vulkan physical device -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredApiVulkanPropertiesKHR.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredApiVulkanPropertiesKHR.html
/// </a>
/// </summary>
/// <remarks>
/// <list type="table">
/// <item>
/// <term>structextends</term><description>VkPhysicalDeviceLayeredApiPropertiesKHR</description>
/// </item>
/// <item>
/// <term>returnedonly</term><description>true</description>
/// </item>
/// </list>
/// </remarks>
[VkStructExtends("VkPhysicalDeviceLayeredApiPropertiesKHR")]
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkPhysicalDeviceLayeredApiVulkanPropertiesKHR
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR;

/// <summary>sType is a VkStructureType value identifying this structure.</summary>
public VkStructureType sType;

/// <summary>pNext is NULL or a pointer to a structure extending this structure.</summary>
public void* pNext;

/// <summary>
/// properties is a VkPhysicalDeviceProperties2 in which properties of the underlying layered Vulkan
/// implementation are returned.
/// </summary>
public VkPhysicalDeviceProperties2 properties;
}
Loading

0 comments on commit b40caef

Please sign in to comment.