/// <summary> /// Lists physical device's image format capabilities. /// </summary> public ImageFormatProperties2 GetImageFormatProperties2(PhysicalDeviceImageFormatInfo2 imageFormatInfo) { unsafe { try { var commandDelegate = this.commandCache.GetCommandDelegate <Interop.vkGetPhysicalDeviceImageFormatProperties2KHR>("vkGetPhysicalDeviceImageFormatProperties2KHR", "instance"); ImageFormatProperties2 result = default(ImageFormatProperties2); Result commandResult; Interop.PhysicalDeviceImageFormatInfo2 marshalledImageFormatInfo; imageFormatInfo.MarshalTo(&marshalledImageFormatInfo); Interop.ImageFormatProperties2 marshalledImageFormatProperties; commandResult = commandDelegate(this.handle, &marshalledImageFormatInfo, &marshalledImageFormatProperties); if (SharpVkException.IsError(commandResult)) { throw SharpVkException.Create(commandResult); } result = ImageFormatProperties2.MarshalFrom(&marshalledImageFormatProperties); return(result); } finally { Interop.HeapUtil.FreeLog(); } } }
/// <summary> /// /// </summary> internal static unsafe PhysicalDeviceImageFormatInfo2 MarshalFrom(SharpVk.Interop.PhysicalDeviceImageFormatInfo2 *pointer) { PhysicalDeviceImageFormatInfo2 result = default(PhysicalDeviceImageFormatInfo2); result.Format = pointer->Format; result.Type = pointer->Type; result.Tiling = pointer->Tiling; result.Usage = pointer->Usage; result.Flags = pointer->Flags; return(result); }