@@ -87,6 +87,15 @@ void DynamicRenderingCore()
8787 // VkCommandBuffer commandBuffer,
8888 // const VkRenderingInfo* pRenderingInfo);
8989
90+ // Vulkan 1.3
91+ // void vkCmdEndRendering(
92+ // VkCommandBuffer commandBuffer);
93+
94+ // Provided by VK_KHR_dynamic_rendering
95+ // Equivalent to vkCmdEndRendering
96+ // void vkCmdEndRenderingKHR(
97+ // VkCommandBuffer commandBuffer);
98+
9099 // Vulkan 1.3
91100 // typedef struct VkRenderingInfo
92101
@@ -883,9 +892,17 @@ VulkanTriangle::VulkanTriangle()
883892
884893 if (this ->driver .isDynamicRenderingUseExtension )
885894 {
895+ driver.vkCmdBeginRenderingKHR = (PFN_vkCmdBeginRenderingKHR)driver.vkGetDeviceProcAddr (this ->device , " vkCmdBeginRenderingKHR" );
896+ assert (driver.vkCmdBeginRenderingKHR && " vkCmdBeginRenderingKHR" );
897+ driver.vkCmdEndRenderingKHR = (PFN_vkCmdEndRenderingKHR)driver.vkGetDeviceProcAddr (this ->device , " vkCmdEndRenderingKHR" );
898+ assert (driver.vkCmdEndRenderingKHR && " vkCmdEndRenderingKHR" );
886899 }
887900 else
888901 {
902+ driver.vkCmdBeginRendering = (PFN_vkCmdBeginRendering)driver.vkGetDeviceProcAddr (this ->device , " vkCmdBeginRendering" );
903+ assert (driver.vkCmdBeginRendering && " vkCmdBeginRendering" );
904+ driver.vkCmdEndRendering = (PFN_vkCmdEndRendering)driver.vkGetDeviceProcAddr (this ->device , " vkCmdEndRendering" );
905+ assert (driver.vkCmdEndRendering && " vkCmdEndRendering" );
889906 }
890907 }
891908
@@ -954,52 +971,6 @@ VulkanTriangle::VulkanTriangle()
954971 vk_command_pool_create_info.flags = 0 ;
955972 vk_command_pool_create_info.queueFamilyIndex = queue_family_index;
956973 driver.vkCreateCommandPool (this ->device , &vk_command_pool_create_info, nullptr , &this ->commandPool );
957-
958- // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
959- {
960- // std::vector<VkDescriptorPoolSize> vk_descriptor_pool_sizes = {};
961- // {
962- // VkDescriptorPoolSize vk_descriptor_pool_size;
963- // vk_descriptor_pool_size.descriptorCount = 1000;
964- //
965- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
966- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
967- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
968- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
969- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_SAMPLER;
970- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
971- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
972- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
973- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_STORAGE_IMAGE;
974- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
975- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
976- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
977- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
978- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
979- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
980- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
981- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
982- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
983- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
984- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
985- // vk_descriptor_pool_size.type = VkDescriptorType::VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
986- // vk_descriptor_pool_sizes.push_back(vk_descriptor_pool_size);
987- // }
988- //
989- // VkDescriptorPoolCreateInfo vk_descriptor_pool_create_info = {};
990- // vk_descriptor_pool_create_info.sType = VkStructureType::VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
991- // vk_descriptor_pool_create_info.pNext = nullptr;
992- // vk_descriptor_pool_create_info.flags = VkDescriptorPoolCreateFlagBits::VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT;
993- // vk_descriptor_pool_create_info.maxSets = vk_descriptor_pool_sizes.size() * 1000;
994- // vk_descriptor_pool_create_info.poolSizeCount = vk_descriptor_pool_sizes.size();
995- // vk_descriptor_pool_create_info.pPoolSizes = vk_descriptor_pool_sizes.data();
996- //
997- // VkResult result = driver.vkCreateDescriptorPool(this->device, &vk_descriptor_pool_create_info, nullptr, &this->descriptorPool);
998- // if (result != VkResult::VK_SUCCESS)
999- // {
1000- // throw std::runtime_error("Can not create VkDescriptorPool!");
1001- // }
1002- }
1003974}
1004975
1005976VulkanTriangle::~VulkanTriangle ()
0 commit comments