Example #1
0
        private void CreateSurface()
        {
#if WIN
            var createInfo = new SharpVulkan.Win32SurfaceCreateInfo {
                StructureType  = SharpVulkan.StructureType.Win32SurfaceCreateInfo,
                InstanceHandle = Process.GetCurrentProcess().Handle,
                WindowHandle   = windowHandle
            };
            surface = context.Instance.CreateWin32Surface(createInfo);
#elif MAC
            var createInfo = new SharpVulkan.MacOSSurfaceCreateInfo {
                StructureType = SharpVulkan.StructureType.MacOSSurfaceCreateInfo,
                View          = windowHandle
            };
            surface = context.Instance.CreateMacOSSurface(ref createInfo);
#elif iOS
            var createInfo = new SharpVulkan.IOSSurfaceCreateInfo {
                StructureType = SharpVulkan.StructureType.IOSSurfaceCreateInfo,
                View          = windowHandle
            };
            surface = context.Instance.CreateIOSSurface(ref createInfo);
#endif
            if (!context.PhysicalDevice.GetSurfaceSupport(context.QueueFamilyIndex, surface))
            {
                throw new NotSupportedException();
            }
        }
Example #2
0
 private void DestroySurface()
 {
     if (surface != SharpVulkan.Surface.Null)
     {
         context.Finish();
         context.Instance.DestroySurface(surface);
         surface = SharpVulkan.Surface.Null;
     }
 }