/* Please note that this file is generated by the VulkanSharp's generator. Do not edit directly.

   Licensed under the MIT license.

   Copyright 2016 Xamarin Inc

   This notice may not be removed from any source distribution.
   See LICENSE file for licensing details.
*/

using System;
using System.Runtime.InteropServices;
using Vulkan.Interop;

namespace Vulkan.Windows.Interop
{
	internal static class NativeMethods
	{
		const string VulkanLibrary = "vulkan-1";

		[DllImport (VulkanLibrary, CallingConvention = CallingConvention.Winapi)]
		internal static unsafe extern Result vkCreateWin32SurfaceKHR (IntPtr instance, Win32SurfaceCreateInfoKhr* pCreateInfo, Vulkan.Interop.AllocationCallbacks* pAllocator, UInt64* pSurface);

		[DllImport (VulkanLibrary, CallingConvention = CallingConvention.Winapi)]
		internal static unsafe extern Bool32 vkGetPhysicalDeviceWin32PresentationSupportKHR (IntPtr physicalDevice, UInt32 queueFamilyIndex);

		[DllImport (VulkanLibrary, CallingConvention = CallingConvention.Winapi)]
		internal static unsafe extern Result vkGetMemoryWin32HandleNV (IntPtr device, UInt64 memory, ExternalMemoryHandleTypeFlagsNv handleType, IntPtr* pHandle);

	}
}
