Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified build/cache/cl.json.gz
Binary file not shown.
Binary file modified build/cache/gl.json.gz
Binary file not shown.
Binary file modified build/cache/glcore.json.gz
Binary file not shown.
Binary file modified build/cache/gles2.json.gz
Binary file not shown.
Binary file modified build/cache/openxr.json.gz
Binary file not shown.
Binary file modified build/cache/vulkan.json.gz
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,19 @@ public unsafe partial class KhrFragmentShadingRate : NativeExtension<Vk>
public const string ExtensionName = "VK_KHR_fragment_shading_rate";
/// <summary>To be documented.</summary>
[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);

/// <summary>To be documented.</summary>
[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);

/// <summary>To be documented.</summary>
[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);

/// <summary>To be documented.</summary>
[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);

/// <summary>To be documented.</summary>
[NativeApi(EntryPoint = "vkGetPhysicalDeviceFragmentShadingRatesKHR")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,26 @@ namespace Silk.NET.Vulkan.Extensions.KHR
public static class KhrFragmentShadingRateOverloads
{
/// <summary>To be documented.</summary>
public static unsafe void CmdSetFragmentShadingRate(this KhrFragmentShadingRate thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] ReadOnlySpan<Extent2D> 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<FragmentShadingRateCombinerOpKHR> combinerOps)
{
// SpanOverloader
thisApi.CmdSetFragmentShadingRate(commandBuffer, pFragmentSize, in combinerOps.GetPinnableReference());
}

/// <summary>To be documented.</summary>
public static unsafe void CmdSetFragmentShadingRate(this KhrFragmentShadingRate thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] ReadOnlySpan<Extent2D> pFragmentSize, [Count(Count = 2), Flow(FlowDirection.In)] FragmentShadingRateCombinerOpKHR* combinerOps)
{
// SpanOverloader
thisApi.CmdSetFragmentShadingRate(commandBuffer, in pFragmentSize.GetPinnableReference(), combinerOps);
}

/// <summary>To be documented.</summary>
public static unsafe void CmdSetFragmentShadingRate(this KhrFragmentShadingRate thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 0), Flow(FlowDirection.In)] ReadOnlySpan<Extent2D> pFragmentSize, [Count(Count = 2), Flow(FlowDirection.In)] ReadOnlySpan<FragmentShadingRateCombinerOpKHR> combinerOps)
{
// SpanOverloader
thisApi.CmdSetFragmentShadingRate(commandBuffer, in pFragmentSize.GetPinnableReference(), in combinerOps.GetPinnableReference());
}

/// <summary>To be documented.</summary>
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<PhysicalDeviceFragmentShadingRateKHR> pFragmentShadingRates)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@ public unsafe partial class NVFragmentShadingRateEnums : NativeExtension<Vk>
public const string ExtensionName = "VK_NV_fragment_shading_rate_enums";
/// <summary>To be documented.</summary>
[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);

/// <summary>To be documented.</summary>
[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)
Expand Down
Original file line number Diff line number Diff line change
@@ -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
{
/// <summary>To be documented.</summary>
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<FragmentShadingRateCombinerOpKHR> combinerOps)
{
// SpanOverloader
thisApi.CmdSetFragmentShadingRateEnum(commandBuffer, shadingRate, in combinerOps.GetPinnableReference());
}

}
}

6 changes: 5 additions & 1 deletion src/Vulkan/Silk.NET.Vulkan/Vk.gen.cs
Original file line number Diff line number Diff line change
Expand Up @@ -951,7 +951,11 @@ public unsafe partial class Vk : NativeAPI

/// <summary>To be documented.</summary>
[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);

/// <summary>To be documented.</summary>
[NativeApi(EntryPoint = "vkCmdSetBlendConstants")]
public partial void CmdSetBlendConstants([Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 4), Flow(FlowDirection.In)] in float blendConstants);

/// <summary>To be documented.</summary>
[NativeApi(EntryPoint = "vkCmdSetDepthBias")]
Expand Down
7 changes: 7 additions & 0 deletions src/Vulkan/Silk.NET.Vulkan/VkOverloads.gen.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}

/// <summary>To be documented.</summary>
public static unsafe void CmdSetBlendConstants(this Vk thisApi, [Count(Count = 0)] CommandBuffer commandBuffer, [Count(Count = 4), Flow(FlowDirection.In)] ReadOnlySpan<float> blendConstants)
{
// SpanOverloader
thisApi.CmdSetBlendConstants(commandBuffer, in blendConstants.GetPinnableReference());
}

/// <summary>To be documented.</summary>
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<Rect2D> pScissors)
{
Expand Down