Skip to content

Commit

Permalink
Merge pull request #87 from exomia/release/v1.3.264
Browse files Browse the repository at this point in the history
Release/v1.3.264
  • Loading branch information
baetz-daniel authored Sep 8, 2023
2 parents 002a067 + 20e8fde commit a363e0f
Show file tree
Hide file tree
Showing 12 changed files with 361 additions and 7 deletions.
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

0 comments on commit a363e0f

Please sign in to comment.