/// <summary> /// Lists physical device's image format capabilities. /// </summary> public unsafe SharpVk.ImageFormatProperties GetImageFormatProperties(SharpVk.Format format, SharpVk.ImageType type, SharpVk.ImageTiling tiling, SharpVk.ImageUsageFlags usage, SharpVk.ImageCreateFlags?flags = default(SharpVk.ImageCreateFlags?)) { try { SharpVk.ImageFormatProperties result = default(SharpVk.ImageFormatProperties); SharpVk.ImageCreateFlags marshalledFlags = default(SharpVk.ImageCreateFlags); SharpVk.ImageFormatProperties marshalledImageFormatProperties = default(SharpVk.ImageFormatProperties); if (flags != null) { marshalledFlags = flags.Value; } else { marshalledFlags = default(SharpVk.ImageCreateFlags); } SharpVk.Interop.VkPhysicalDeviceGetImageFormatPropertiesDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.VkPhysicalDeviceGetImageFormatPropertiesDelegate>("vkGetPhysicalDeviceImageFormatProperties", ""); Result methodResult = commandDelegate(this.handle, format, type, tiling, usage, marshalledFlags, &marshalledImageFormatProperties); if (SharpVkException.IsError(methodResult)) { throw SharpVkException.Create(methodResult); } result = marshalledImageFormatProperties; return(result); } finally { Interop.HeapUtil.FreeAll(); } }
/// <summary> /// /// </summary> public ExternalImageFormatProperties(SharpVk.ImageFormatProperties imageFormatProperties, SharpVk.NVidia.ExternalMemoryFeatureFlags externalMemoryFeatures, SharpVk.NVidia.ExternalMemoryHandleTypeFlags exportFromImportedHandleTypes, SharpVk.NVidia.ExternalMemoryHandleTypeFlags compatibleHandleTypes) { this.ImageFormatProperties = imageFormatProperties; this.ExternalMemoryFeatures = externalMemoryFeatures; this.ExportFromImportedHandleTypes = exportFromImportedHandleTypes; this.CompatibleHandleTypes = compatibleHandleTypes; }