public void CmdClearColorImage(IVkImage image, VkImageLayout imageLayout, VkClearColorValue color, IReadOnlyList <VkImageSubresourceRange> ranges) { var unmanagedSize = ranges.SizeOfMarshalDirect(); var unmanagedArray = new byte[unmanagedSize]; fixed(byte *unmanagedStart = unmanagedArray) { var unmanaged = unmanagedStart; var _commandBuffer = Handle; var _image = image?.Handle ?? VkImage.HandleType.Null; var _imageLayout = imageLayout; var _pColor = &color; var _rangeCount = ranges?.Count ?? 0; var _pRanges = ranges.MarshalDirect(ref unmanaged); Direct.CmdClearColorImage(_commandBuffer, _image, _imageLayout, _pColor, _rangeCount, _pRanges); } }
public VkClearValue(VkClearColorValue color) { raw = default(VkBlob16); Color = color; }
public void CmdClearColorImage(IVkImage image, VkImageLayout imageLayout, VkClearColorValue color, IReadOnlyList<VkImageSubresourceRange> ranges) { var unmanagedSize = ranges.SizeOfMarshalDirect(); var unmanagedArray = new byte[unmanagedSize]; fixed (byte* unmanagedStart = unmanagedArray) { var unmanaged = unmanagedStart; var _commandBuffer = Handle; var _image = image?.Handle ?? VkImage.HandleType.Null; var _imageLayout = imageLayout; var _pColor = &color; var _rangeCount = ranges?.Count ?? 0; var _pRanges = ranges.MarshalDirect(ref unmanaged); Direct.CmdClearColorImage(_commandBuffer, _image, _imageLayout, _pColor, _rangeCount, _pRanges); } }