X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fvk.c;fp=src%2Fvk.c;h=f3cb5082d5560b4c1bac35b932062eecd779e0f9;hb=cdc640d99b613ef7f783badae5dd55ab402822d3;hp=cfe2668ab99e509b7378ad5f415a67e005fd7812;hpb=147c5d68777e7b72ca73c4c75890af95e2eb37d9;p=vkray diff --git a/src/vk.c b/src/vk.c index cfe2668..f3cb508 100644 --- a/src/vk.c +++ b/src/vk.c @@ -17,6 +17,8 @@ static int create_instance(void); static int create_surface(void); static int choose_phys_dev(void); static int create_device(void); +static int create_swapchain(void); + static int choose_pixfmt(void); static int eval_pdev_score(VkPhysicalDevice dev); static int have_inst_layer(const char *name); @@ -36,6 +38,9 @@ static int vksurf_numfmt, vksurf_selfmt; static VkSurfaceFormatKHR *vksurf_fmt; static VkSwapchainKHR vksc; static int vksc_numimg; +static VkImage *vksc_img; +static VkExtent2D vksc_extent; +static VkImageView *vksc_view; static VkLayerProperties *inst_layers; static VkExtensionProperties *inst_ext, *dev_ext; @@ -63,12 +68,64 @@ int vk_init(void) void vk_cleanup(void) { - vkDestroyInstance(vk, 0); + int i; + + free(vksc_img); + vksc_img = 0; + free(vksc_view); + vksc_view = 0; + if(vksc_view) { + for(i=0; i