/// <summary> /// /// </summary> /// <param name="pointer"> /// </param> internal unsafe void MarshalTo(SharpVk.Interop.Khronos.DisplayPlaneInfo2 *pointer) { pointer->SType = StructureType.DisplayPlaneInfo2; pointer->Next = null; pointer->Mode = this.Mode?.handle ?? default(SharpVk.Interop.Khronos.DisplayMode); pointer->PlaneIndex = this.PlaneIndex; }
/// <summary> /// /// </summary> /// <param name="extendedHandle"> /// The PhysicalDevice handle to extend. /// </param> public static unsafe SharpVk.Khronos.DisplayPlaneCapabilities2 GetDisplayPlaneCapabilities2(this SharpVk.PhysicalDevice extendedHandle, SharpVk.Khronos.DisplayPlaneInfo2 displayPlaneInfo) { try { SharpVk.Khronos.DisplayPlaneCapabilities2 result = default(SharpVk.Khronos.DisplayPlaneCapabilities2); CommandCache commandCache = default(CommandCache); SharpVk.Interop.Khronos.DisplayPlaneInfo2 * marshalledDisplayPlaneInfo = default(SharpVk.Interop.Khronos.DisplayPlaneInfo2 *); SharpVk.Interop.Khronos.DisplayPlaneCapabilities2 marshalledCapabilities = default(SharpVk.Interop.Khronos.DisplayPlaneCapabilities2); commandCache = extendedHandle.commandCache; marshalledDisplayPlaneInfo = (SharpVk.Interop.Khronos.DisplayPlaneInfo2 *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Khronos.DisplayPlaneInfo2>()); displayPlaneInfo.MarshalTo(marshalledDisplayPlaneInfo); SharpVk.Interop.Khronos.VkPhysicalDeviceGetDisplayPlaneCapabilities2Delegate commandDelegate = commandCache.Cache.vkGetDisplayPlaneCapabilities2KHR; Result methodResult = commandDelegate(extendedHandle.handle, marshalledDisplayPlaneInfo, &marshalledCapabilities); if (SharpVkException.IsError(methodResult)) { throw SharpVkException.Create(methodResult); } result = SharpVk.Khronos.DisplayPlaneCapabilities2.MarshalFrom(&marshalledCapabilities); return(result); } finally { Interop.HeapUtil.FreeAll(); } }
/// <summary> /// /// </summary> /// <param name="pointer"> /// </param> internal static unsafe DisplayPlaneInfo2 MarshalFrom(SharpVk.Interop.Khronos.DisplayPlaneInfo2 *pointer) { DisplayPlaneInfo2 result = default(DisplayPlaneInfo2); result.Mode = new SharpVk.Khronos.DisplayMode(default(SharpVk.PhysicalDevice), pointer->Mode); result.PlaneIndex = pointer->PlaneIndex; return(result); }