-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
25a35d3
commit 207798e
Showing
11 changed files
with
300 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
1.3.290 | ||
1.3.291 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
76 changes: 76 additions & 0 deletions
76
src/Exomia.Vulkan.Api.Core/Extensions/AMD/VK_AMD_anti_lag/VkAmdAntiLag.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"); | ||
} | ||
} | ||
} |
47 changes: 47 additions & 0 deletions
47
src/Exomia.Vulkan.Api.Core/Extensions/AMD/VK_AMD_anti_lag/VkAntiLagDataAMD.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | ||
} |
33 changes: 33 additions & 0 deletions
33
src/Exomia.Vulkan.Api.Core/Extensions/AMD/VK_AMD_anti_lag/VkAntiLagModeAMD.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
} |
41 changes: 41 additions & 0 deletions
41
src/Exomia.Vulkan.Api.Core/Extensions/AMD/VK_AMD_anti_lag/VkAntiLagPresentationInfoAMD.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | ||
} |
31 changes: 31 additions & 0 deletions
31
src/Exomia.Vulkan.Api.Core/Extensions/AMD/VK_AMD_anti_lag/VkAntiLagStageAMD.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
} |
50 changes: 50 additions & 0 deletions
50
...omia.Vulkan.Api.Core/Extensions/AMD/VK_AMD_anti_lag/VkPhysicalDeviceAntiLagFeaturesAMD.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters