Skip to content

Commit

Permalink
v1.3.255
Browse files Browse the repository at this point in the history
  • Loading branch information
exomia-bot committed Jun 23, 2023
1 parent 6747175 commit 2227ee0
Show file tree
Hide file tree
Showing 10 changed files with 429 additions and 52 deletions.
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.254
1.3.255
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 @@ -4711,6 +4711,24 @@ public enum VkStructureType
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_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>
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000,

/// <summary>
/// VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_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_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_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_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM<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,54 @@
#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>
/// VkComponentTypeKHR - Specify SPIR-V cooperative matrix component type -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkComponentTypeKHR.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkComponentTypeKHR.html</a>
/// </summary>
public enum VkComponentTypeKHR
{
/// <summary>VK_COMPONENT_TYPE_FLOAT16_KHR corresponds to SPIR-V OpTypeFloat 16.</summary>
VK_COMPONENT_TYPE_FLOAT16_KHR = 0,

/// <summary>VK_COMPONENT_TYPE_FLOAT32_KHR corresponds to SPIR-V OpTypeFloat 32.</summary>
VK_COMPONENT_TYPE_FLOAT32_KHR = 1,

/// <summary>VK_COMPONENT_TYPE_FLOAT64_KHR corresponds to SPIR-V OpTypeFloat 64.</summary>
VK_COMPONENT_TYPE_FLOAT64_KHR = 2,

/// <summary>VK_COMPONENT_TYPE_SINT8_KHR corresponds to SPIR-V OpTypeInt 8 1.</summary>
VK_COMPONENT_TYPE_SINT8_KHR = 3,

/// <summary>VK_COMPONENT_TYPE_SINT16_KHR corresponds to SPIR-V OpTypeInt16 1.</summary>
VK_COMPONENT_TYPE_SINT16_KHR = 4,

/// <summary>VK_COMPONENT_TYPE_SINT32_KHR corresponds to SPIR-V OpTypeInt32 1.</summary>
VK_COMPONENT_TYPE_SINT32_KHR = 5,

/// <summary>VK_COMPONENT_TYPE_SINT64_KHR corresponds to SPIR-V OpTypeInt64 1.</summary>
VK_COMPONENT_TYPE_SINT64_KHR = 6,

/// <summary>VK_COMPONENT_TYPE_UINT8_KHR corresponds to SPIR-V OpTypeInt 8 0.</summary>
VK_COMPONENT_TYPE_UINT8_KHR = 7,

/// <summary>VK_COMPONENT_TYPE_UINT16_KHR corresponds to SPIR-V OpTypeInt16 0.</summary>
VK_COMPONENT_TYPE_UINT16_KHR = 8,

/// <summary>VK_COMPONENT_TYPE_UINT32_KHR corresponds to SPIR-V OpTypeInt32 0.</summary>
VK_COMPONENT_TYPE_UINT32_KHR = 9,

/// <summary>VK_COMPONENT_TYPE_UINT64_KHR corresponds to SPIR-V OpTypeInt64 0.</summary>
VK_COMPONENT_TYPE_UINT64_KHR = 10
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#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>
/// VkCooperativeMatrixPropertiesKHR - Structure specifying cooperative matrix properties -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkCooperativeMatrixPropertiesKHR.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkCooperativeMatrixPropertiesKHR.html
/// </a>
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public unsafe struct VkCooperativeMatrixPropertiesKHR
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR;

/// <summary>sType is the type of this structure.</summary>
public VkStructureType sType;

/// <summary>pNext is NULL or a pointer to a structure extending this structure.</summary>
public void* pNext;

/// <summary>MSize is the number of rows in matrices A, C, and Result.</summary>
public uint MSize;

/// <summary>NSize is the number of columns in matrices B, C, Result.</summary>
public uint NSize;

/// <summary>KSize is the number of columns in matrix A and rows in matrix B.</summary>
public uint KSize;

/// <summary>AType is the component type of matrix A, of type VkComponentTypeKHR.</summary>
public VkComponentTypeKHR AType;

/// <summary>BType is the component type of matrix B, of type VkComponentTypeKHR.</summary>
public VkComponentTypeKHR BType;

/// <summary>CType is the component type of matrix C, of type VkComponentTypeKHR.</summary>
public VkComponentTypeKHR CType;

/// <summary>ResultType is the component type of matrix Result, of type VkComponentTypeKHR.</summary>
public VkComponentTypeKHR ResultType;

/// <summary>
/// saturatingAccumulation indicates whether the SaturatingAccumulation operand to
/// OpCooperativeMatrixMulAddKHRmust be present.
/// </summary>
public VkBool32 saturatingAccumulation;

/// <summary>scope is the scope of all the matrix types, of type VkScopeKHR.</summary>
public VkScopeKHR scope;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
#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.VkKhrCooperativeMatrix;

#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_cooperative_matrix - device extension (nr. 507) - author 'KHR' [platform '' | contact 'Kevin Petit
/// @kevinpetit']<br />
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_cooperative_matrix.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_cooperative_matrix.html</a>
/// </summary>
[VkDepends("VK_KHR_get_physical_device_properties2")]
public static unsafe class VkKhrCooperativeMatrix
{
/// <summary> The spec version. </summary>
public const uint VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION = 2;

/// <summary> The extension name. </summary>
public const string VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME = "VK_KHR_cooperative_matrix";

/// <summary>
/// An UTF8 null terminated version of <see cref="VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME" /> represented by an
/// UTF16 string.
/// </summary>
/// <remarks>
/// Example usage:<br />
/// <br />
/// fixed(char* ptr = VK_KHR_COOPERATIVE_MATRIX_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_COOPERATIVE_MATRIX_EXTENSION_NAME_UTF8_NT =
"\u4b56\u4b5f\u5248\u435f\u4f4f\u4550\u4152\u4954\u4556\u4d5f\u5441\u4952\u5f58\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";

/// <summary>
/// vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR - Returns properties describing what cooperative matrix types are
/// supported -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html
/// </a>
/// </summary>
/// <param name="physicalDevice">physicalDevice is the physical device.</param>
/// <param name="pPropertyCount">
/// pPropertyCount is a pointer to an integer related to the number of cooperative matrix
/// properties available or queried.
/// </param>
/// <param name="pProperties">
/// pProperties is either NULL or a pointer to an array of VkCooperativeMatrixPropertiesKHR
/// structures.
/// </param>
/// <remarks>
/// <list type="table">
/// <item>
/// <term>successcodes</term><description>VK_SUCCESS,VK_INCOMPLETE</description>
/// </item>
/// <item>
/// <term>errorcodes</term><description>VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY</description>
/// </item>
/// </list>
/// </remarks>
public static readonly delegate*<
VkPhysicalDevice /*physicalDevice*/,
uint* /*pPropertyCount*/,
VkCooperativeMatrixPropertiesKHR* /*pProperties*/,
VkResult> vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = null;

/// <summary> Loads all function pointer based on the instance for this extension. (see remarks!) </summary>
/// <param name="instance"> The instance 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>vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR</description>
/// </item>
/// </list>
/// </remarks>
public static void Load(VkInstance instance)
{
fixed (delegate*<VkPhysicalDevice, uint*, VkCooperativeMatrixPropertiesKHR*, VkResult>* pvkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = &vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)
{
*pvkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = (delegate*<VkPhysicalDevice, uint*, VkCooperativeMatrixPropertiesKHR*, VkResult>)GetVkFunction(
instance, "\u6b76\u6547\u5074\u7968\u6973\u6163\u446c\u7665\u6369\u4365\u6f6f\u6570\u6172\u6974\u6576\u614d\u7274\u7869\u7250\u706f\u7265\u6974\u7365\u484b\u0052");
}
}
}
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>
/// VkPhysicalDeviceCooperativeMatrixFeaturesKHR - Structure describing cooperative matrix features that can be
/// supported by an implementation -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceCooperativeMatrixFeaturesKHR.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceCooperativeMatrixFeaturesKHR.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 VkPhysicalDeviceCooperativeMatrixFeaturesKHR
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR;

/// <summary>sType is the type of this structure.</summary>
public VkStructureType sType;

/// <summary>pNext is NULL or a pointer to a structure extending this structure.</summary>
public void* pNext;

/// <summary> cooperativeMatrix indicates that the implementation supports the CooperativeMatrixKHR SPIR-V capability.</summary>
public VkBool32 cooperativeMatrix;

/// <summary>
/// cooperativeMatrixRobustBufferAccess indicates that the implementation supports robust buffer access for SPIR-V
/// OpCooperativeMatrixLoadKHR and OpCooperativeMatrixStoreKHRinstructions.
/// </summary>
public VkBool32 cooperativeMatrixRobustBufferAccess;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#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>
/// VkPhysicalDeviceCooperativeMatrixPropertiesKHR - Structure describing cooperative matrix properties supported by an
/// implementation -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceCooperativeMatrixPropertiesKHR.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceCooperativeMatrixPropertiesKHR.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 VkPhysicalDeviceCooperativeMatrixPropertiesKHR
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR;

/// <summary>sType is the type of this structure.</summary>
public VkStructureType sType;

/// <summary>pNext is NULL or a pointer to a structure extending this structure.</summary>
public void* pNext;

/// <summary>
/// cooperativeMatrixSupportedStages is a bitfield of VkShaderStageFlagBits describing the shader stages that
/// cooperative matrix instructions are supported in. cooperativeMatrixSupportedStages will have the
/// VK_SHADER_STAGE_COMPUTE_BIT bit set if any of the physical device&#8217;s queues support VK_QUEUE_COMPUTE_BIT.
/// </summary>
public VkShaderStageFlags cooperativeMatrixSupportedStages;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#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>
/// VkScopeKHR - Specify SPIR-V scope -
/// <a href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkScopeKHR.html">https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkScopeKHR.html</a>
/// </summary>
public enum VkScopeKHR
{
/// <summary>VK_SCOPE_DEVICE_KHR corresponds to SPIR-V Device scope.</summary>
VK_SCOPE_DEVICE_KHR = 1,

/// <summary>VK_SCOPE_WORKGROUP_KHR corresponds to SPIR-V Workgroup scope.</summary>
VK_SCOPE_WORKGROUP_KHR = 2,

/// <summary>VK_SCOPE_SUBGROUP_KHR corresponds to SPIR-V Subgroup scope.</summary>
VK_SCOPE_SUBGROUP_KHR = 3,

/// <summary>VK_SCOPE_QUEUE_FAMILY_KHR corresponds to SPIR-V QueueFamilyscope.</summary>
VK_SCOPE_QUEUE_FAMILY_KHR = 5
}
Loading

0 comments on commit 2227ee0

Please sign in to comment.