/// <summary> /// /// </summary> public unsafe void ClearDepthStencilImage(SharpVk.Image image, SharpVk.ImageLayout imageLayout, SharpVk.ClearDepthStencilValue depthStencil, SharpVk.ImageSubresourceRange[] ranges) { try { SharpVk.ClearDepthStencilValue *marshalledDepthStencil = default(SharpVk.ClearDepthStencilValue *); SharpVk.ImageSubresourceRange * marshalledRanges = default(SharpVk.ImageSubresourceRange *); marshalledDepthStencil = (SharpVk.ClearDepthStencilValue *)(Interop.HeapUtil.Allocate <SharpVk.ClearDepthStencilValue>()); *marshalledDepthStencil = depthStencil; if (ranges != null) { var fieldPointer = (SharpVk.ImageSubresourceRange *)(Interop.HeapUtil.AllocateAndClear <SharpVk.ImageSubresourceRange>(ranges.Length).ToPointer()); for (int index = 0; index < (uint)(ranges.Length); index++) { fieldPointer[index] = ranges[index]; } marshalledRanges = fieldPointer; } else { marshalledRanges = null; } Interop.Commands.vkCmdClearDepthStencilImage(this.handle, image?.handle ?? default(SharpVk.Interop.Image), imageLayout, marshalledDepthStencil, (uint)(ranges?.Length ?? 0), marshalledRanges); } finally { Interop.HeapUtil.FreeAll(); } }
public static extern void vkCmdClearDepthStencilImage(SharpVk.Interop.CommandBuffer commandBuffer, SharpVk.Interop.Image image, SharpVk.ImageLayout imageLayout, SharpVk.ClearDepthStencilValue *depthStencil, uint rangeCount, SharpVk.ImageSubresourceRange *ranges);