/// <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(); } }