Skip to content

Commit

Permalink
v1.3.277
Browse files Browse the repository at this point in the history
  • Loading branch information
exomia-bot committed Feb 1, 2024
1 parent 626dc0b commit ed72e01
Show file tree
Hide file tree
Showing 50 changed files with 2,094 additions and 5 deletions.
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.276
1.3.277
2 changes: 1 addition & 1 deletion src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />

<PropertyGroup>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
<Platforms>AnyCPU;x64</Platforms>
</PropertyGroup>

Expand Down
88 changes: 88 additions & 0 deletions src/Exomia.Vulkan.Api.Core/Custom/VkArray8.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#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 once CheckNamespace
namespace Exomia.Vulkan.Api.Core;

/// <summary>
/// Used instead of public fixed T[8].
/// </summary>
/// <typeparam name="T"> Generic type parameter. </typeparam>
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkArray8<T>
where T : unmanaged
{
/// <summary>
/// The length of <see cref="VkArray8{T}" />.
/// </summary>
public const uint LENGTH = 8;

/// <summary>
/// Indexer to get or set items within this collection using array index syntax.
/// </summary>
/// <param name="index"> Zero-based index of the entry to access. </param>
/// <returns>
/// The indexed item.
/// </returns>
public T this[uint index]
{
get
{
#if DEBUG
if (index >= LENGTH) { throw new ArgumentOutOfRangeException(nameof(index)); }
#endif
return *((T*)Unsafe.AsPointer(ref this) + index);
}
set
{
#if DEBUG
if (index >= LENGTH) { throw new ArgumentOutOfRangeException(nameof(index)); }
#endif
*((T*)Unsafe.AsPointer(ref this) + index) = value;
}
}

/// <summary>
/// Indexer to get or set items within this collection using array index syntax.
/// </summary>
/// <param name="index"> Zero-based index of the entry to access. </param>
/// <returns>
/// The indexed item.
/// </returns>
public T this[int index]
{
get
{
#if DEBUG
if (index >= LENGTH || index < 0) { throw new ArgumentOutOfRangeException(nameof(index)); }
#endif
return *((T*)Unsafe.AsPointer(ref this) + index);
}
set
{
#if DEBUG
if (index >= LENGTH || index < 0) { throw new ArgumentOutOfRangeException(nameof(index)); }
#endif
*((T*)Unsafe.AsPointer(ref this) + index) = value;
}
}

#pragma warning disable 1591 //Missing XML comment for publicly visible type or member
public T M01;
public T M02;
public T M03;
public T M04;
public T M05;
public T M06;
public T M07;
public T M08;
#pragma warning restore 1591 //Missing XML comment for publicly visible type or member
}
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 @@ -5083,6 +5083,36 @@ public enum VkStructureType
/// </summary>
VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001,

/// <summary>
/// VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_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_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000,

/// <summary>
/// VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_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_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001,

/// <summary>
/// VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_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_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003,

/// <summary>
/// VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_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_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004,

/// <summary>
/// VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_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_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_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>
Expand Down
14 changes: 13 additions & 1 deletion src/Exomia.Vulkan.Api.Core/Enums/VkSubgroupFeatureFlagBits.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,5 +72,17 @@ public enum VkSubgroupFeatureFlagBits
/// VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkSubgroupFeatureFlagBits">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkSubgroupFeatureFlagBits</a>
/// </summary>
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x100
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x100,

/// <summary>
/// VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkSubgroupFeatureFlagBits">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkSubgroupFeatureFlagBits</a>
/// </summary>
VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = 0x200,

/// <summary>
/// VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkSubgroupFeatureFlagBits">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VkSubgroupFeatureFlagBits</a>
/// </summary>
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = 0x400
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ namespace Exomia.Vulkan.Api.Core;
[VkDepends("VK_KHR_get_physical_device_properties2,VK_VERSION_1_1")]
[VkSpecialuse("cadsupport")]
[VkDeviceExt]
[Obsolete("promoted to VK_KHR_line_rasterization", false, UrlFormat = "https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_line_rasterization.html#_deprecation_state")]
public static unsafe class VkExtLineRasterization
{
/// <summary> The spec version. </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ namespace Exomia.Vulkan.Api.Core;
public static class VkKhrShaderSubgroupRotate
{
/// <summary> The spec version. </summary>
public const uint VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION = 1;
public const uint VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION = 2;

/// <summary> The extension name. </summary>
public const string VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME = "VK_KHR_shader_subgroup_rotate";
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#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.VkKhrVideoDecodeAv1;

#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_video_decode_av1 - device extension (nr. 513) - author 'KHR' [platform '' | contact 'Daniel Rakos @aqnuep']
/// <br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_video_decode_av1.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_video_decode_av1.html</a>
/// </summary>
[VkDepends("VK_KHR_video_decode_queue")]
[VkDeviceExt]
public static class VkKhrVideoDecodeAv1
{
/// <summary> The spec version. </summary>
public const uint VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION = 1;

/// <summary> The extension name. </summary>
public const string VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME = "VK_KHR_video_decode_av1";

/// <summary>
/// An UTF8 null terminated version of <see cref="VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME" /> represented by an
/// UTF16 string.
/// </summary>
/// <remarks>
/// Example usage:<br />
/// <br />
/// fixed(char* ptr = VK_KHR_VIDEO_DECODE_AV1_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_VIDEO_DECODE_AV1_EXTENSION_NAME_UTF8_NT = "\u4b56\u4b5f\u5248\u565f\u4449\u4f45\u445f\u4345\u444f\u5f45\u5641\u5f31\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";

public const uint VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR = 7;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#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>
/// VkVideoDecodeAV1CapabilitiesKHR - Structure describing AV1 decode capabilities -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkVideoDecodeAV1CapabilitiesKHR.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkVideoDecodeAV1CapabilitiesKHR.html
/// </a>
/// </summary>
/// <remarks>
/// <list type="table">
/// <item>
/// <term>structextends</term><description>VkVideoCapabilitiesKHR</description>
/// </item>
/// <item>
/// <term>returnedonly</term><description>true</description>
/// </item>
/// </list>
/// </remarks>
[VkStructExtends("VkVideoCapabilitiesKHR")]
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkVideoDecodeAV1CapabilitiesKHR
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_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>
/// maxLevel is a StdVideoAV1Level value specifying the maximum AV1 level supported by the profile, as defined in
/// section A.3 of the AV1 Specification.
/// </summary>
public StdVideoAV1Level maxLevel;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#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>
/// VkVideoDecodeAV1DpbSlotInfoKHR - Structure specifies AV1 DPB information when decoding a frame -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkVideoDecodeAV1DpbSlotInfoKHR.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkVideoDecodeAV1DpbSlotInfoKHR.html</a>
/// </summary>
/// <remarks>
/// <list type="table">
/// <item>
/// <term>structextends</term><description>VkVideoReferenceSlotInfoKHR</description>
/// </item>
/// </list>
/// </remarks>
[VkStructExtends("VkVideoReferenceSlotInfoKHR")]
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkVideoDecodeAV1DpbSlotInfoKHR
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_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>
/// pStdReferenceInfo is a pointer to a StdVideoDecodeAV1ReferenceInfo structure specifying AV1 reference
/// information.
/// </summary>
public StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo;
}
Loading

0 comments on commit ed72e01

Please sign in to comment.