Beispiel #1
0
        public Result CreateDisplayPlaneSurfaceKHR(MgDisplaySurfaceCreateInfoKHR createInfo, IMgAllocationCallbacks allocator, out IMgSurfaceKHR pSurface)
        {
            if (createInfo == null)
            {
                throw new ArgumentNullException(nameof(createInfo));
            }

            Debug.Assert(!mIsDisposed);

            var bDisplayMode = (VkDisplayModeKHR)createInfo.DisplayMode;

            Debug.Assert(bDisplayMode != null);

            var pCreateInfo = new VkDisplaySurfaceCreateInfoKHR
            {
                sType           = VkStructureType.StructureTypeDisplaySurfaceCreateInfoKhr,
                pNext           = IntPtr.Zero,
                flags           = createInfo.Flags,
                displayMode     = bDisplayMode.Handle,
                planeIndex      = createInfo.PlaneIndex,
                planeStackIndex = createInfo.PlaneStackIndex,
                transform       = (VkSurfaceTransformFlagsKhr)createInfo.Transform,
                globalAlpha     = createInfo.GlobalAlpha,
                alphaMode       = (VkDisplayPlaneAlphaFlagsKhr)createInfo.AlphaMode,
                imageExtent     = createInfo.ImageExtent,
            };

            // MIGHT NEED GetInstanceProcAddr INSTEAD

            var allocatorHandle = GetAllocatorHandle(allocator);

            UInt64 handle = 0UL;
            var    result = Interops.vkCreateDisplayPlaneSurfaceKHR(Handle, ref pCreateInfo, allocatorHandle, ref handle);

            pSurface = new VkSurfaceKHR(handle);

            return(result);
        }
Beispiel #2
0
 public Result CreateDisplayPlaneSurfaceKHR(MgDisplaySurfaceCreateInfoKHR createInfo, IMgAllocationCallbacks allocator, out IMgSurfaceKHR pSurface)
 {
     throw new NotImplementedException();
 }