public VkRenderContext(VkSurfaceSource surfaceInfo, int width, int height) { CreateInstance(); CreateSurface(surfaceInfo); CreatePhysicalDevice(); CreateLogicalDevice(); _memoryManager = new VkDeviceMemoryManager(_device, _physicalDevice); ResourceFactory = new VkResourceFactory(this); _scInfo = new VkSwapchainInfo(_device, _physicalDevice, (VkResourceFactory)ResourceFactory, _surface, _graphicsQueueIndex, _presentQueueIndex, width, height); SetFramebuffer(_scInfo); CreatePerFrameCommandPool(); CreatePerFrameDescriptorPool(); CreateGraphicsCommandPool(); CreateSemaphores(); _resourceCache = new VkResourceCache(_device, (VkSamplerState)PointSampler); PostContextCreated(); }
private void CreateSurface(VkSurfaceSource surfaceInfo) { _surface = surfaceInfo.CreateSurface(_instance); }