diff --git a/build/cache/cl.json.gz b/build/cache/cl.json.gz index 51267ba197..4a6129a3f7 100644 Binary files a/build/cache/cl.json.gz and b/build/cache/cl.json.gz differ diff --git a/build/cache/gl.json.gz b/build/cache/gl.json.gz index f55097264b..cc41f4b16f 100644 Binary files a/build/cache/gl.json.gz and b/build/cache/gl.json.gz differ diff --git a/build/cache/glcore.json.gz b/build/cache/glcore.json.gz index 6716b35ce9..a26cb7f519 100644 Binary files a/build/cache/glcore.json.gz and b/build/cache/glcore.json.gz differ diff --git a/build/cache/gles2.json.gz b/build/cache/gles2.json.gz index deca91060c..d14fedd4b6 100644 Binary files a/build/cache/gles2.json.gz and b/build/cache/gles2.json.gz differ diff --git a/build/cache/openxr.json.gz b/build/cache/openxr.json.gz index 2be471a698..16a1fa97c2 100644 Binary files a/build/cache/openxr.json.gz and b/build/cache/openxr.json.gz differ diff --git a/build/cache/vulkan.json.gz b/build/cache/vulkan.json.gz index 7a3b9781ee..25d475e070 100644 Binary files a/build/cache/vulkan.json.gz and b/build/cache/vulkan.json.gz differ diff --git a/src/Core/Silk.NET.BuildTools/Converters/Khronos/ParameterDefinition.cs b/src/Core/Silk.NET.BuildTools/Converters/Khronos/ParameterDefinition.cs index fc1eaacebf..3f4d048c26 100644 --- a/src/Core/Silk.NET.BuildTools/Converters/Khronos/ParameterDefinition.cs +++ b/src/Core/Silk.NET.BuildTools/Converters/Khronos/ParameterDefinition.cs @@ -102,6 +102,17 @@ public static ParameterDefinition CreateFromXml(XElement xe) } } + if (count == 0 && xe.Value.EndsWith(']')) + { + var val = xe.Value; + var idx = val.LastIndexOf('[') + 1; + if (idx != -1 && int.TryParse(val.Substring(idx, val.Length - idx - 1), out count)) + { + // array parameters are pointers in disguise + pointerLevel++; + } + } + var type = new TypeSpec(typeName, pointerLevel); return new ParameterDefinition diff --git a/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.KHR/KhrFragmentShadingRate.gen.cs b/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.KHR/KhrFragmentShadingRate.gen.cs index 4cf100abce..391d1af952 100644 --- a/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.KHR/KhrFragmentShadingRate.gen.cs +++ b/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.KHR/KhrFragmentShadingRate.gen.cs @@ -22,11 +22,19 @@ public unsafe partial class KhrFragmentShadingRate : NativeExtension public const string ExtensionName = "VK_KHR_fragment_shading_rate"; /// To be documented. [NativeApi(EntryPoint = "vkCmdSetFragmentShadingRateKHR")] - public unsafe partial void CmdSetFragmentShadingRate([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] Extent2D* pFragmentSize, [Count(Count = 0)] FragmentShadingRateCombinerOpKHR combinerOps); + public unsafe partial void CmdSetFragmentShadingRate([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] Extent2D* pFragmentSize, [Count(Count = 2), Flow(FlowDirection.In)] FragmentShadingRateCombinerOpKHR* combinerOps); /// To be documented. [NativeApi(EntryPoint = "vkCmdSetFragmentShadingRateKHR")] - public partial void CmdSetFragmentShadingRate([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] in Extent2D pFragmentSize, [Count(Count = 0)] FragmentShadingRateCombinerOpKHR combinerOps); + public unsafe partial void CmdSetFragmentShadingRate([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] Extent2D* pFragmentSize, [Count(Count = 2), Flow(FlowDirection.In)] in FragmentShadingRateCombinerOpKHR combinerOps); + + /// To be documented. + [NativeApi(EntryPoint = "vkCmdSetFragmentShadingRateKHR")] + public unsafe partial void CmdSetFragmentShadingRate([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] in Extent2D pFragmentSize, [Count(Count = 2), Flow(FlowDirection.In)] FragmentShadingRateCombinerOpKHR* combinerOps); + + /// To be documented. + [NativeApi(EntryPoint = "vkCmdSetFragmentShadingRateKHR")] + public partial void CmdSetFragmentShadingRate([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] in Extent2D pFragmentSize, [Count(Count = 2), Flow(FlowDirection.In)] in FragmentShadingRateCombinerOpKHR combinerOps); /// To be documented. [NativeApi(EntryPoint = "vkGetPhysicalDeviceFragmentShadingRatesKHR")] diff --git a/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.KHR/KhrFragmentShadingRateOverloads.gen.cs b/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.KHR/KhrFragmentShadingRateOverloads.gen.cs index 89ddb1b7ae..042e63aa39 100644 --- a/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.KHR/KhrFragmentShadingRateOverloads.gen.cs +++ b/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.KHR/KhrFragmentShadingRateOverloads.gen.cs @@ -17,12 +17,26 @@ namespace Silk.NET.Vulkan.Extensions.KHR public static class KhrFragmentShadingRateOverloads { /// To be documented. - public static unsafe void CmdSetFragmentShadingRate(this KhrFragmentShadingRate thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] ReadOnlySpan pFragmentSize, [Count(Count = 0)] FragmentShadingRateCombinerOpKHR combinerOps) + public static unsafe void CmdSetFragmentShadingRate(this KhrFragmentShadingRate thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] Extent2D* pFragmentSize, [Count(Count = 2), Flow(FlowDirection.In)] ReadOnlySpan combinerOps) + { + // SpanOverloader + thisApi.CmdSetFragmentShadingRate(commandBuffer, pFragmentSize, in combinerOps.GetPinnableReference()); + } + + /// To be documented. + public static unsafe void CmdSetFragmentShadingRate(this KhrFragmentShadingRate thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] ReadOnlySpan pFragmentSize, [Count(Count = 2), Flow(FlowDirection.In)] FragmentShadingRateCombinerOpKHR* combinerOps) { // SpanOverloader thisApi.CmdSetFragmentShadingRate(commandBuffer, in pFragmentSize.GetPinnableReference(), combinerOps); } + /// To be documented. + public static unsafe void CmdSetFragmentShadingRate(this KhrFragmentShadingRate thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] ReadOnlySpan pFragmentSize, [Count(Count = 2), Flow(FlowDirection.In)] ReadOnlySpan combinerOps) + { + // SpanOverloader + thisApi.CmdSetFragmentShadingRate(commandBuffer, in pFragmentSize.GetPinnableReference(), in combinerOps.GetPinnableReference()); + } + /// To be documented. public static unsafe Result GetPhysicalDeviceFragmentShadingRates(this KhrFragmentShadingRate thisApi, [Count(Count = 0)] PhysicalDevice physicalDevice, [Count(Count = 0)] uint* pFragmentShadingRateCount, [Count(Computed = "pFragmentShadingRateCount"), Flow(FlowDirection.Out)] Span pFragmentShadingRates) { diff --git a/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.NV/NVFragmentShadingRateEnums.gen.cs b/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.NV/NVFragmentShadingRateEnums.gen.cs index 39512d396c..ad51111eb0 100644 --- a/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.NV/NVFragmentShadingRateEnums.gen.cs +++ b/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.NV/NVFragmentShadingRateEnums.gen.cs @@ -22,7 +22,11 @@ public unsafe partial class NVFragmentShadingRateEnums : NativeExtension public const string ExtensionName = "VK_NV_fragment_shading_rate_enums"; /// To be documented. [NativeApi(EntryPoint = "vkCmdSetFragmentShadingRateEnumNV")] - public partial void CmdSetFragmentShadingRateEnum([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0)] FragmentShadingRateNV shadingRate, [Count(Count = 0)] FragmentShadingRateCombinerOpKHR combinerOps); + public unsafe partial void CmdSetFragmentShadingRateEnum([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0)] FragmentShadingRateNV shadingRate, [Count(Count = 2), Flow(FlowDirection.In)] FragmentShadingRateCombinerOpKHR* combinerOps); + + /// To be documented. + [NativeApi(EntryPoint = "vkCmdSetFragmentShadingRateEnumNV")] + public partial void CmdSetFragmentShadingRateEnum([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0)] FragmentShadingRateNV shadingRate, [Count(Count = 2), Flow(FlowDirection.In)] in FragmentShadingRateCombinerOpKHR combinerOps); public NVFragmentShadingRateEnums(INativeContext ctx) : base(ctx) diff --git a/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.NV/NVFragmentShadingRateEnumsOverloads.gen.cs b/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.NV/NVFragmentShadingRateEnumsOverloads.gen.cs new file mode 100644 index 0000000000..e8c489bcbd --- /dev/null +++ b/src/Vulkan/Extensions/Silk.NET.Vulkan.Extensions.NV/NVFragmentShadingRateEnumsOverloads.gen.cs @@ -0,0 +1,28 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +using System; +using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; + +#pragma warning disable 1591 + +namespace Silk.NET.Vulkan.Extensions.NV +{ + public static class NVFragmentShadingRateEnumsOverloads + { + /// To be documented. + public static unsafe void CmdSetFragmentShadingRateEnum(this NVFragmentShadingRateEnums thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0)] FragmentShadingRateNV shadingRate, [Count(Count = 2), Flow(FlowDirection.In)] ReadOnlySpan combinerOps) + { + // SpanOverloader + thisApi.CmdSetFragmentShadingRateEnum(commandBuffer, shadingRate, in combinerOps.GetPinnableReference()); + } + + } +} + diff --git a/src/Vulkan/Silk.NET.Vulkan/Vk.gen.cs b/src/Vulkan/Silk.NET.Vulkan/Vk.gen.cs index 1512166141..e70c5bb433 100644 --- a/src/Vulkan/Silk.NET.Vulkan/Vk.gen.cs +++ b/src/Vulkan/Silk.NET.Vulkan/Vk.gen.cs @@ -951,7 +951,11 @@ public unsafe partial class Vk : NativeAPI /// To be documented. [NativeApi(EntryPoint = "vkCmdSetBlendConstants")] - public partial void CmdSetBlendConstants([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0)] float blendConstants); + public unsafe partial void CmdSetBlendConstants([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 4), Flow(FlowDirection.In)] float* blendConstants); + + /// To be documented. + [NativeApi(EntryPoint = "vkCmdSetBlendConstants")] + public partial void CmdSetBlendConstants([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 4), Flow(FlowDirection.In)] in float blendConstants); /// To be documented. [NativeApi(EntryPoint = "vkCmdSetDepthBias")] diff --git a/src/Vulkan/Silk.NET.Vulkan/VkOverloads.gen.cs b/src/Vulkan/Silk.NET.Vulkan/VkOverloads.gen.cs index 96755376fd..8b2537079f 100644 --- a/src/Vulkan/Silk.NET.Vulkan/VkOverloads.gen.cs +++ b/src/Vulkan/Silk.NET.Vulkan/VkOverloads.gen.cs @@ -954,6 +954,13 @@ public static unsafe void CmdResolveImage(this Vk thisApi, [Count(Count = 0)] Co thisApi.CmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, in pRegions.GetPinnableReference()); } + /// To be documented. + public static unsafe void CmdSetBlendConstants(this Vk thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 4), Flow(FlowDirection.In)] ReadOnlySpan blendConstants) + { + // SpanOverloader + thisApi.CmdSetBlendConstants(commandBuffer, in blendConstants.GetPinnableReference()); + } + /// To be documented. public static unsafe void CmdSetScissor(this Vk thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0)] uint firstScissor, [Count(Count = 0)] uint scissorCount, [Count(Computed = "scissorCount"), Flow(FlowDirection.In)] ReadOnlySpan pScissors) {