Skip to content

Commit

Permalink
v1.3.291
Browse files Browse the repository at this point in the history
  • Loading branch information
exomia-bot committed Jul 19, 2024
1 parent 25a35d3 commit 207798e
Show file tree
Hide file tree
Showing 11 changed files with 300 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.290
1.3.291
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 @@ -4897,6 +4897,24 @@ public enum VkStructureType
/// </summary>
VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = 1000470006,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD<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_ANTI_LAG_FEATURES_AMD = 1000476000,

/// <summary>
/// VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD<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_ANTI_LAG_DATA_AMD = 1000476001,

/// <summary>
/// VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD<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_ANTI_LAG_PRESENTATION_INFO_AMD = 1000476002,

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

#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_AMD_anti_lag - device extension (nr. 477) - author 'AMD' [platform '' | contact 'Stu Smith']<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_AMD_anti_lag.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_AMD_anti_lag.html</a>
/// </summary>
[VkDeviceExt]
public static unsafe class VkAmdAntiLag
{
/// <summary> The spec version. </summary>
public const uint VK_AMD_ANTI_LAG_SPEC_VERSION = 1;

/// <summary> The extension name. </summary>
public const string VK_AMD_ANTI_LAG_EXTENSION_NAME = "VK_AMD_anti_lag";

/// <summary>
/// An UTF8 null terminated version of <see cref="VK_AMD_ANTI_LAG_EXTENSION_NAME" /> represented by an UTF16
/// string.
/// </summary>
/// <remarks>
/// Example usage:<br />
/// <br />
/// fixed(char* ptr = VK_AMD_ANTI_LAG_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_AMD_ANTI_LAG_EXTENSION_NAME_UTF8_NT = "\u4b56\u415f\u444d\u415f\u544e\u5f49\u414c\u5f47\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";

/// <summary>
/// vkAntiLagUpdateAMD - Provide information to reduce latency -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkAntiLagUpdateAMD.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkAntiLagUpdateAMD.html</a>
/// </summary>
/// <param name="device">device is the logical device</param>
/// <param name="pData">pData is a pointer to a VkAntiLagDataAMD structure containing latency reduction parameters.</param>
public static readonly delegate*<
VkDevice /*device*/,
VkAntiLagDataAMD* /*pData*/,
void> vkAntiLagUpdateAMD = null;

/// <summary> Loads all function pointer based on the device for this extension. (see remarks!) </summary>
/// <param name="device"> The device that the function pointers will be compatible with. </param>
/// <remarks>
/// This load method makes the following function pointers available:<br />
/// <list type="bullet">
/// <item>
/// <description>vkAntiLagUpdateAMD</description>
/// </item>
/// </list>
/// </remarks>
public static void Load(VkDevice device)
{
fixed (delegate*<VkDevice, VkAntiLagDataAMD*, void>* pvkAntiLagUpdateAMD = &vkAntiLagUpdateAMD)
{
*pvkAntiLagUpdateAMD = (delegate*<VkDevice, VkAntiLagDataAMD*, void>)GetVkFunction(device, "\u6b76\u6e41\u6974\u614c\u5567\u6470\u7461\u4165\u444d\u0000");
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#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>
/// VkAntiLagDataAMD - Structure specifying the parameters for vkAntiLagUpdateAMD -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAntiLagDataAMD.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAntiLagDataAMD.html</a>
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkAntiLagDataAMD
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD;

/// <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>mode is a VkAntiLagModeAMD value specifying the anti-lag status.</summary>
public VkAntiLagModeAMD mode;

/// <summary>
/// maxFPS is the framerate limit, in frames per second, used by the application. This limit will be imposed if
/// anti-lag is enabled. If the application tries to render faster, the framerate will be reduced to match this limit.
/// A value of 0 will disable the limit.
/// </summary>
public uint maxFPS;

/// <summary>
/// pPresentationInfo is a pointer to a VkAntiLagPresentationInfoAMD structure containing information about the
/// application stage.
/// </summary>
public VkAntiLagPresentationInfoAMD* pPresentationInfo;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#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>
/// VkAntiLagModeAMD - Set the status of the anti-lag feature -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAntiLagModeAMD.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAntiLagModeAMD.html</a>
/// </summary>
public enum VkAntiLagModeAMD
{
/// <summary>
/// VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD specifies that anti-lag will be enabled or disabled depending on driver
/// settings.
/// </summary>
VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD = 0,

/// <summary>VK_ANTI_LAG_MODE_ON_AMD specifies that anti-lag will be enabled.</summary>
VK_ANTI_LAG_MODE_ON_AMD = 1,

/// <summary>VK_ANTI_LAG_MODE_OFF_AMD specifies that anti-lag will be disabled.</summary>
VK_ANTI_LAG_MODE_OFF_AMD = 2
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#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>
/// VkAntiLagPresentationInfoAMD - Structure specifying information about stage -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAntiLagPresentationInfoAMD.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAntiLagPresentationInfoAMD.html</a>
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkAntiLagPresentationInfoAMD
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD;

/// <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>stage is a VkAntiLagStageAMD value specifying the current application stage.</summary>
public VkAntiLagStageAMD stage;

/// <summary>
/// frameIndex is set just before the application processes input data (VK_ANTI_LAG_STAGE_INPUT_AMD). The same
/// frameIndex value should be set before the frame with current input data will be presented by
/// vkQueuePresentKHR(VK_ANTI_LAG_STAGE_PRESENT_AMD). This should be done for each frame.
/// </summary>
public ulong frameIndex;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#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>
/// VkAntiLagStageAMD - Report the application stage -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAntiLagStageAMD.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAntiLagStageAMD.html</a>
/// </summary>
public enum VkAntiLagStageAMD
{
/// <summary>VK_ANTI_LAG_STAGE_INPUT_AMD specifies the stage before processing input.</summary>
VK_ANTI_LAG_STAGE_INPUT_AMD = 0,

/// <summary>
/// VK_ANTI_LAG_STAGE_PRESENT_AMD specifies the stage before
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkQueuePresentKHR.html">vkQueuePresentKHR</a>
/// .
/// </summary>
VK_ANTI_LAG_STAGE_PRESENT_AMD = 1
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#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>
/// VkPhysicalDeviceAntiLagFeaturesAMD - Structure describing whether VK_AMD_anti_lag can be supported by an
/// implementation. -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceAntiLagFeaturesAMD.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceAntiLagFeaturesAMD.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 VkPhysicalDeviceAntiLagFeaturesAMD
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD;

/// <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>
/// antiLag indicates whether the implementation supports AMD Radeon™ Anti-Lag functionality. The antiLag feature
/// only supports a single GPU and must not be enabled if VkDeviceGroupDeviceCreateInfo::physicalDeviceCount is greater
/// than 1.
/// </summary>
public VkBool32 antiLag;
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public struct VkColorBlendAdvancedEXT
public VkBlendOverlapEXT blendOverlap;

/// <summary>
/// clampResults specifies the results must be clamped to the [0,1] range before writing to the attachment, which
/// clampResults specifies that results must be clamped to the [0,1] range before writing to the attachment, which
/// is useful when the attachment format is not normalized fixed-point.
/// </summary>
public VkBool32 clampResults;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
namespace Exomia.Vulkan.Api.Core;

/// <summary>
/// VK_KHR_copy_commands2 - device extension (nr. 338) - author 'KHR' [platform '' | contact 'Jeff Leger @jackohound']
/// VK_KHR_copy_commands2 - device extension (nr. 338) - author 'KHR' [platform '' | contact 'Matthew Netsch @mnetsch']
/// <br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_copy_commands2.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_copy_commands2.html</a>
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ namespace Exomia.Vulkan.Api.Core;
/// </summary>
[VkDepends("(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1")]
[VkDeviceExt]
[Obsolete("deprecated by VK_KHR_ray_tracing_pipeline", false, UrlFormat = "https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_ray_tracing.html#_deprecation_state")]
public static unsafe class VkNvRayTracing
{
/// <summary> The spec version. </summary>
Expand Down

0 comments on commit 207798e

Please sign in to comment.