Skip to content

Commit

Permalink
Merge pull request #72 from exomia/release/v1.3.249
Browse files Browse the repository at this point in the history
Release/v1.3.249
  • Loading branch information
baetz-daniel authored Apr 28, 2023
2 parents f8a6813 + 80897a1 commit 05202bc
Show file tree
Hide file tree
Showing 10 changed files with 141 additions and 24 deletions.
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.248
1.3.249
8 changes: 6 additions & 2 deletions src/Exomia.Vulkan.Api.Core/Enums/VkFormatFeatureFlagBits.cs
Original file line number Diff line number Diff line change
Expand Up @@ -303,8 +303,12 @@ public enum VkFormatFeatureFlagBits
/// fragment
/// shading rate attachment
/// </a>
/// . An implementation must not set this feature for formats with numeric type other
/// than *UINT, or set it as a buffer feature.
/// . An implementation must not set this feature for formats with a
/// <a href="https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-numericformat">
/// numeric
/// format
/// </a>
/// other than UINT, or set it as a buffer feature.
/// </summary>
VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,

Expand Down
8 changes: 6 additions & 2 deletions src/Exomia.Vulkan.Api.Core/Enums/VkFormatFeatureFlagBits2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -346,8 +346,12 @@ public enum VkFormatFeatureFlagBits2 : ulong
/// fragment
/// shading rate attachment
/// </a>
/// . An implementation must not set this feature for formats with numeric type other
/// than *UINT, or set it as a buffer feature.
/// . An implementation must not set this feature for formats with a
/// <a href="https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-numericformat">
/// numeric
/// format
/// </a>
/// other than UINT, or set it as a buffer feature.
/// </summary>
VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,

Expand Down
6 changes: 6 additions & 0 deletions src/Exomia.Vulkan.Api.Core/Enums/VkStructureType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4495,6 +4495,12 @@ public enum VkStructureType
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,

/// <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>
/// </summary>
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000,

/// <summary>
/// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_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
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,12 @@ public enum VkBuildAccelerationStructureFlagBitsKHR
/// </summary>
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x200,

/// <summary>
/// VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR indicates that the specified acceleration structure can
/// be used when fetching the vertex positions of a hit triangle.
/// </summary>
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x800,

/// <summary>
/// VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR indicates that the specified acceleration structure can be
/// updated with a mode of VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR in
Expand Down
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

global using static Exomia.Vulkan.Api.Core.VkKhrRayTracingPositionFetch;

#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_ray_tracing_position_fetch - device extension (nr. 482) - author 'KHR' [platform '' | contact 'Eric
/// Werness']<br />
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_ray_tracing_position_fetch.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_ray_tracing_position_fetch.html
/// </a>
/// </summary>
[VkDepends("VK_KHR_acceleration_structure")]
public static class VkKhrRayTracingPositionFetch
{
/// <summary> The spec version. </summary>
public const uint VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION = 1;

/// <summary> The extension name. </summary>
public const string VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME = "VK_KHR_ray_tracing_position_fetch";

/// <summary>
/// An UTF8 null terminated version of <see cref="VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME" />
/// represented by an UTF16 string.
/// </summary>
/// <remarks>
/// Example usage:<br />
/// <br />
/// fixed(char* ptr = VK_KHR_RAY_TRACING_POSITION_FETCH_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_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME_UTF8_NT =
"\u4b56\u4b5f\u5248\u525f\u5941\u545f\u4152\u4943\u474e\u505f\u534f\u5449\u4f49\u5f4e\u4546\u4354\u5f48\u5845\u4554\u534e\u4f49\u5f4e\u414e\u454d\u0000";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#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>
/// VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR - Structure describing support for fetching vertex positions of
/// hit triangles -
/// <a
/// href="https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR.html">
/// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR.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 VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR
{
/// <summary> The stype of this structure. </summary>
public const VkStructureType STYPE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_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>
/// rayTracingPositionFetchindicates that the implementation supports fetching the object space vertex positions
/// of a hit triangle.
/// </summary>
public VkBool32 rayTracingPositionFetch;
}
5 changes: 4 additions & 1 deletion src/Exomia.Vulkan.Api.Core/Structs/VkDescriptorBufferInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@ public struct VkDescriptorBufferInfo

/// <summary>
/// range is the size in bytes that is used for this descriptor update, or VK_WHOLE_SIZE to use the range from
/// offset to the end of the buffer.
/// offset to the end of the buffer.NoteWhen setting range to VK_WHOLE_SIZE, the effective range must not be larger
/// than the maximum range for the descriptor type (maxUniformBufferRange or maxStorageBufferRange). This means that
/// VK_WHOLE_SIZE is not typically useful in the common case where uniform buffer descriptors are suballocated from a
/// buffer that is much larger than maxUniformBufferRange.
/// </summary>
public VkDeviceSize range;
}
9 changes: 1 addition & 8 deletions src/Exomia.Vulkan.Api.Core/Structs/VkPhysicalDeviceLimits.cs
Original file line number Diff line number Diff line change
Expand Up @@ -432,14 +432,7 @@ public struct VkPhysicalDeviceLimits
/// <summary>
/// maxComputeSharedMemorySizeis the maximum total storage size, in bytes, available for variables declared with
/// the Workgroup storage class in shader modules (or with the shared storage qualifier in GLSL) in the compute shader
/// stage. When variables declared with the Workgroup storage class are explicitly laid out (hence they are also
/// decorated with Block), the amount of storage consumed is the size of the largest Block variable, not counting any
/// padding at the end. The amount of storage consumed by the non-Block variables declared with the Workgroup storage
/// class is implementation-dependent. However, the amount of storage consumed may not exceed the largest block size
/// that would be obtained if all active non-Block variables declared with Workgroup storage class were assigned
/// offsets in an arbitrary order by successively taking the smallest valid offset according to the Standard Storage
/// Buffer Layout rules, and with Boolean values considered as 32-bit integer values for the purpose of this
/// calculation. (This is equivalent to using the GLSL std430 layout rules.)
/// stage.
/// </summary>
public uint maxComputeSharedMemorySize;

Expand Down
20 changes: 10 additions & 10 deletions src/Exomia.Vulkan.Api.Core/Unions/VkClearColorValue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,26 +21,26 @@ namespace Exomia.Vulkan.Api.Core;
public unsafe struct VkClearColorValue
{
/// <summary>
/// float32 are the color clear values when the format of the image or attachment is one of the formats in the
/// https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-numericformat table other than
/// signed integer (SINT) or unsigned integer (UINT). Floating point values are automatically converted to the format
/// of the image, with the clear value being treated as linear if the image is sRGB.
/// float32 are the color clear values when the format of the image or attachment is one of the numeric formats
/// with a numeric type that is floating-point. Floating point values are automatically converted to the format of the
/// image, with the clear value being treated as linear if the image is sRGB.
/// </summary>
[FieldOffset(0)]
public fixed float float32[4];

/// <summary>
/// int32 are the color clear values when the format of the image or attachment is signed integer (SINT). Signed
/// integer values are converted to the format of the image by casting to the smaller type (with negative 32-bit values
/// mapping to negative values in the smaller type). If the integer clear value is not representable in the target type
/// (e.g. would overflow in conversion to that type), the clear value is undefined.
/// int32 are the color clear values when the format of the image or attachment has a numeric type that is signed
/// integer (SINT). Signed integer values are converted to the format of the image by casting to the smaller type (with
/// negative 32-bit values mapping to negative values in the smaller type). If the integer clear value is not
/// representable in the target type (e.g. would overflow in conversion to that type), the clear value is undefined.
/// </summary>
[FieldOffset(0)]
public fixed int int32[4];

/// <summary>
/// uint32 are the color clear values when the format of the image or attachment is unsigned integer (UINT).
/// Unsigned integer values are converted to the format of the image by casting to the integer type with fewer bits.
/// uint32 are the color clear values when the format of the image or attachment has a numeric type that is
/// unsigned integer (UINT). Unsigned integer values are converted to the format of the image by casting to the integer
/// type with fewer bits.
/// </summary>
[FieldOffset(0)]
public fixed uint uint32[4];
Expand Down

0 comments on commit 05202bc

Please sign in to comment.