X-Git-Url: https://eleni.mutantstargoat.com/git/?p=demo;a=blobdiff_plain;f=src%2Fvulkan%2Frenderer-vk.cc;fp=src%2Fvulkan%2Frenderer-vk.cc;h=0f4074ec57934ae260f8b71b959b7b36c41fe684;hp=bb52e94e3a79541d90fb408257f2acdebcfb3b96;hb=52e22c0e7bde79402d63c7e0453fb4ec6efc66cf;hpb=9922a7c30b64d74b424cb5783b08497396d2365c diff --git a/src/vulkan/renderer-vk.cc b/src/vulkan/renderer-vk.cc index bb52e94..0f4074e 100644 --- a/src/vulkan/renderer-vk.cc +++ b/src/vulkan/renderer-vk.cc @@ -37,7 +37,8 @@ bool RendererVK::create_resources() /* default pipeline resources */ default_vs_ub = gfx_create_uniform_buffer(); - if(!default_vs_ub->create(sizeof default_vs_uniforms)) { + int data_size = sizeof default_vs_uniforms; + if(!default_vs_ub->create(data_size)) { fprintf(stderr, "Failed to create the default VS uniform buffer.\n"); return false; } @@ -48,6 +49,7 @@ bool RendererVK::create_resources() fprintf(stderr, "Failed to create the ds layout for the default vs uniform buffer.\n"); return false; } + default_vs_res.size = data_size; default_resources.push_back(default_vs_res); default_fs_ub = gfx_create_uniform_buffer(); @@ -100,6 +102,21 @@ bool RendererVK::create_default_pipeline() return true; } +bool RendererVK::create_desc_pool() +{ + int num_desc = default_resources.size() + sky_resources.size(); + VkDescriptorPoolCreateInfo dpinf; + memset(&dpinf, 0, sizeof dpinf); + + dpinf.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + dpinf.maxSets = num_desc + 1; + dpinf.poolSizeCount = num_desc; + + for(size_t i=0; i *res) { for(size_t i=0; isize(); i++) {