/// <summary>
 /// Query physical device for presentation to Wayland.
 /// </summary>
 /// <param name="extendedHandle">
 /// The PhysicalDevice handle to extend.
 /// </param>
 public static unsafe void GetWaylandPresentationSupport(this SharpVk.PhysicalDevice extendedHandle, uint queueFamilyIndex, IntPtr display)
 {
     try
     {
         CommandCache commandCache      = default(CommandCache);
         IntPtr *     marshalledDisplay = default(IntPtr *);
         commandCache      = extendedHandle.commandCache;
         marshalledDisplay = (IntPtr *)(Interop.HeapUtil.Allocate <IntPtr>());
         *marshalledDisplay = display;
         SharpVk.Interop.Khronos.VkPhysicalDeviceGetWaylandPresentationSupportDelegate commandDelegate = commandCache.Cache.vkGetPhysicalDeviceWaylandPresentationSupportKHR;
         commandDelegate(extendedHandle.handle, queueFamilyIndex, marshalledDisplay);
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }
 /// <summary>
 ///
 /// </summary>
 public static unsafe void GetWaylandPresentationSupport(this SharpVk.PhysicalDevice extendedHandle, uint queueFamilyIndex, IntPtr display)
 {
     try
     {
         CommandCache commandCache = default(CommandCache);
         commandCache = extendedHandle.commandCache;
         SharpVk.Interop.Khronos.VkPhysicalDeviceGetWaylandPresentationSupportDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Khronos.VkPhysicalDeviceGetWaylandPresentationSupportDelegate>("vkGetPhysicalDeviceWaylandPresentationSupportKHR", "instance");
         commandDelegate(extendedHandle.handle, queueFamilyIndex, display);
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }