X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fvulkan%2Fvk.cc;h=8ddea099f798d508de95fdd547121770493c2584;hb=86c912d603be75ac8b2fdb2229f1696e9c0c01d9;hp=ce55be2417b33ee4138901d34247c06d8f679170;hpb=ecb47604bb2b8ab3ac5a133e78ef6cb19a20d9cc;p=demo diff --git a/src/vulkan/vk.cc b/src/vulkan/vk.cc index ce55be2..8ddea09 100644 --- a/src/vulkan/vk.cc +++ b/src/vulkan/vk.cc @@ -39,9 +39,7 @@ static VkFramebuffer fbs[2]; static uint32_t curr_img; // current sc image static VkSemaphore psema; - /* static variables */ -static VkDeviceMemory gpu_mem; // to be replaced when I fix the allocator static Vec4 clear_color(1, 0.1, 0.1, 1.0); /* static functions */ @@ -86,7 +84,7 @@ bool init_vulkan() return false; } - if(!glfwGetPhysicalDevicePresentationSupport(vkinst, vk_physical, vkqfamily)) { + if(!glfwGetPhysicalDevicePresentationSupport(vk_instance, vk_physical, vk_qfamily)) { fprintf(stderr, "Presentation support not found.\n"); return false; } @@ -97,7 +95,7 @@ bool init_vulkan() return false; } - VkResult res = glfwCreateWindowSurface(vkinst, win, 0, &vk_surface); + VkResult res = glfwCreateWindowSurface(vk_instance, win, 0, &vk_surface); if(res != VK_SUCCESS) { fprintf(stderr, "Failed to create KHR surface: %s\n", vku_get_vulkan_error_str(res)); return false; @@ -348,12 +346,13 @@ static bool create_zbuffer() VkMemoryRequirements dmem_reqs; vkGetImageMemoryRequirements(vk_device, dimg, &dmem_reqs); - gpu_mem = vk_allocate(dmem_reqs.size); - - if(!gpu_mem) + DevMemBlock block; + if(!vku_allocate(dmem_reqs.size, &block)) { + fprintf(stderr, "Failed to allocate zbuffer image.\n"); return false; + } - vkBindImageMemory(vk_device, dimg, gpu_mem, 0); + vkBindImageMemory(vk_device, dimg, block.dev_mem, 0); if(!vk_image_set_layout(init_buf, dimg, VK_IMAGE_ASPECT_DEPTH_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, @@ -599,7 +598,6 @@ static bool begin_rendering_command_buffers(VkCommandBuffer *bufs, int count) void cleanup_vulkan() { - //TODO!!! free_rendering_command_buffers(rbufs, 2); if(win) { glfwDestroyWindow(win); @@ -618,17 +616,6 @@ static void error_callback(int error, const char *description) static void reshape(int width, int height) { -// VkSwapchainKHR sc; -// if(!(sc = vku_create_swapchain(vk_surface, width, height, 2, VK_PRESENT_MODE_FIFO_KHR, -// vk_swapchain))) { -// fprintf(stderr, "Failed to create %dx%d double-buffered swapchain\n", width, height); -// return; -// } -// vk_swapchain = sc; -// -// delete [] vkswapchain_images; -// vkswapchain_images = vku_get_swapchain_images(sc, 0); -// vk_curr_swapchain_image = vku_get_next_image(vk_swapchain); } static void clear(float r, float g, float b)