Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v1.3.264 #87

Merged
merged 1 commit into from
Sep 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.263
1.3.264
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
global using VkFrameBoundaryFlagsEXT = Exomia.Vulkan.Api.Core.VkFrameBoundaryFlagBitsEXT;
18 changes: 18 additions & 0 deletions src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4225,6 +4225,18 @@ public enum VkStructureType
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT<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_FRAME_BOUNDARY_FEATURES_EXT = 1000375000,

/// <summary>
/// VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT<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_FRAME_BOUNDARY_EXT = 1000375001,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT<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 Expand Up @@ -4975,6 +4987,12 @@ public enum VkStructureType
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT<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_DRIVER_PROPERTIES_MSFT = 1000530000,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_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
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#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.VkExtFrameBoundary;

#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_EXT_frame_boundary - device extension (nr. 376) - author 'EXT' [platform '' | contact 'James Fitzpatrick
/// @jamesfitzpatrick']<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_frame_boundary.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_frame_boundary.html</a>
/// </summary>
public static class VkExtFrameBoundary
{
/// <summary> The spec version. </summary>
public const uint VK_EXT_FRAME_BOUNDARY_SPEC_VERSION = 1;

/// <summary> The extension name. </summary>
public const string VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME = "VK_EXT_frame_boundary";

/// <summary>
/// An UTF8 null terminated version of <see cref="VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME" /> represented by an
/// UTF16 string.
/// </summary>
/// <remarks>
/// Example usage:<br />
/// <br />
/// fixed(char* ptr = VK_EXT_FRAME_BOUNDARY_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_EXT_FRAME_BOUNDARY_EXTENSION_NAME_UTF8_NT = "\u4b56\u455f\u5458\u465f\u4152\u454d\u425f\u554f\u444e\u5241\u5f59\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#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;

/// <summary>
/// VkFrameBoundaryEXT - Add frame boundary information to queue submissions -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkFrameBoundaryEXT.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkFrameBoundaryEXT.html</a>
/// </summary>
/// <remarks>
/// <list type="table">
/// <item>
/// <term>structextends</term>
/// <description>VkSubmitInfo,VkSubmitInfo2,VkPresentInfoKHR,VkBindSparseInfo</description>
/// </item>
/// </list>
/// </remarks>
[VkStructExtends("VkSubmitInfo,VkSubmitInfo2,VkPresentInfoKHR,VkBindSparseInfo")]
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkFrameBoundaryEXT
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT;

/// <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>flags is a bitmask of VkFrameBoundaryFlagBitsEXT that can flag the last submission of a frame identifier.</summary>
public VkFrameBoundaryFlagsEXT flags;

/// <summary>frameID is the frame identifier.</summary>
public ulong frameID;

/// <summary>imageCount is the number of images that store frame results.</summary>
public uint imageCount;

/// <summary>pImages is a pointer to an array of VkImage objects with imageCount entries.</summary>
public VkImage* pImages;

/// <summary>bufferCount is the number of buffers the store the frame results.</summary>
public uint bufferCount;

/// <summary>pBuffers is a pointer to an array of VkBuffer objects with bufferCount entries.</summary>
public VkBuffer* pBuffers;

/// <summary>tagName is a numerical identifier for tag data.</summary>
public ulong tagName;

/// <summary>tagSize is the number of bytes of tag data.</summary>
public nuint tagSize;

/// <summary>pTag is a pointer to an array of tagSize bytes containing tag data.</summary>
public void* pTag;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#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;

/// <summary>
/// VkFrameBoundaryFlagBitsEXT - Bitmask specifying whether a queue submission is the last one for a given frame
/// -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkFrameBoundaryFlagBitsEXT.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkFrameBoundaryFlagBitsEXT.html</a>
/// </summary>
[Flags]
public enum VkFrameBoundaryFlagBitsEXT
{
/// <summary>
/// VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT specifies that this queue submission is the last one for this frame, i.e.
/// once this queue submission has terminated, then the work for this frame is completed.
/// </summary>
VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x1
}
Original file line number Diff line number Diff line change
@@ -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;

/// <summary>
/// VkPhysicalDeviceFrameBoundaryFeaturesEXT - Structure describing the frame boundary features that can be supported
/// by an implementation -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceFrameBoundaryFeaturesEXT.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceFrameBoundaryFeaturesEXT.html
/// </a>
/// </summary>
/// <remarks>
/// <list type="table">
/// <item>
/// <term>structextends</term><description>VkPhysicalDeviceFeatures2,VkDeviceCreateInfo</description>
/// </item>
/// </list>
/// </remarks>
[VkStructExtends("VkPhysicalDeviceFeatures2,VkDeviceCreateInfo")]
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkPhysicalDeviceFrameBoundaryFeaturesEXT
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT;

/// <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> frameBoundary indicates whether the implementation supports frame boundary information.</summary>
public VkBool32 frameBoundary;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#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;

/// <summary>
/// VkLayeredDriverUnderlyingApiMSFT - Layered driver underlying APIs -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkLayeredDriverUnderlyingApiMSFT.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkLayeredDriverUnderlyingApiMSFT.html
/// </a>
/// </summary>
public enum VkLayeredDriverUnderlyingApiMSFT
{
/// <summary>
/// VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT<br />
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkLayeredDriverUnderlyingApiMSFT">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkLayeredDriverUnderlyingApiMSFT
/// </a>
/// </summary>
VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0,

/// <summary>
/// VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT<br />
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkLayeredDriverUnderlyingApiMSFT">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkLayeredDriverUnderlyingApiMSFT
/// </a>
/// </summary>
VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#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.VkMsftLayeredDriver;

#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_MSFT_layered_driver - device extension (nr. 531) - author 'MSFT' [platform '' | contact 'Jesse Natalie
/// @jenatali']<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_MSFT_layered_driver.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_MSFT_layered_driver.html</a>
/// </summary>
[VkDepends("VK_KHR_get_physical_device_properties2")]
public static class VkMsftLayeredDriver
{
/// <summary> The spec version. </summary>
public const uint VK_MSFT_LAYERED_DRIVER_SPEC_VERSION = 1;

/// <summary> The extension name. </summary>
public const string VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME = "VK_MSFT_layered_driver";

/// <summary>
/// An UTF8 null terminated version of <see cref="VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME" /> represented by an
/// UTF16 string.
/// </summary>
/// <remarks>
/// Example usage:<br />
/// <br />
/// fixed(char* ptr = VK_MSFT_LAYERED_DRIVER_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_MSFT_LAYERED_DRIVER_EXTENSION_NAME_UTF8_NT = "\u4b56\u4d5f\u4653\u5f54\u414c\u4559\u4552\u5f44\u5244\u5649\u5245\u455f\u5458\u4e45\u4953\u4e4f\u4e5f\u4d41\u0045";
}
Original file line number Diff line number Diff line change
@@ -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

// ReSharper disable UnusedMember.Global
// ReSharper disable InconsistentNaming
// ReSharper disable once CheckNamespace
namespace Exomia.Vulkan.Api.Core;

/// <summary>
/// VkPhysicalDeviceLayeredDriverPropertiesMSFT - Structure containing information about driver layering for a physical
/// device -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredDriverPropertiesMSFT.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLayeredDriverPropertiesMSFT.html
/// </a>
/// </summary>
/// <remarks>
/// <list type="table">
/// <item>
/// <term>structextends</term><description>VkPhysicalDeviceProperties2</description>
/// </item>
/// <item>
/// <term>returnedonly</term><description>true</description>
/// </item>
/// </list>
/// </remarks>
[VkStructExtends("VkPhysicalDeviceProperties2")]
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkPhysicalDeviceLayeredDriverPropertiesMSFT
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT;

/// <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>
/// underlyingAPI is a VkLayeredDriverUnderlyingApiMSFT value indicating which underlying API is used to implement
/// the layered driver, or VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT if the driver is not layered.
/// </summary>
public VkLayeredDriverUnderlyingApiMSFT underlyingAPI;
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,11 @@ public unsafe struct VkPhysicalDeviceInlineUniformBlockProperties
public uint maxInlineUniformBlockSize;

/// <summary>
/// maxPerStageDescriptorUpdateAfterBindInlineUniformBlocksis similar to maxPerStageDescriptorInlineUniformBlocks
/// but counts descriptor bindings from descriptor sets created with or without the
/// VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set.
/// maxPerStageDescriptorInlineUniformBlocks is the maximum number of inline uniform block bindings that can be
/// accessible to a single shader stage in a pipeline layout. Descriptor bindings with a descriptor type of
/// VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK count against this limit. Only descriptor bindings in descriptor set
/// layouts created without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set count against this
/// limit.
/// </summary>
public uint maxPerStageDescriptorInlineUniformBlocks;

Expand Down
Loading