Destroy shaders

Fixes validation
This commit is contained in:
Sascha Willems 2023-08-04 19:27:49 +02:00
parent 19d5f83d0b
commit cc89bdb4a5

View file

@ -34,6 +34,7 @@ public:
VkPhysicalDeviceDynamicRenderingFeaturesKHR enabledDynamicRenderingFeaturesKHR{}; VkPhysicalDeviceDynamicRenderingFeaturesKHR enabledDynamicRenderingFeaturesKHR{};
PFN_vkCreateShadersEXT vkCreateShadersEXT; PFN_vkCreateShadersEXT vkCreateShadersEXT;
PFN_vkDestroyShaderEXT vkDestroyShaderEXT;
PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT; PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT;
PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT; PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT;
@ -93,8 +94,9 @@ public:
{ {
vkDestroyPipelineLayout(device, pipelineLayout, nullptr); vkDestroyPipelineLayout(device, pipelineLayout, nullptr);
vkDestroyDescriptorSetLayout(device, descriptorSetLayout, nullptr); vkDestroyDescriptorSetLayout(device, descriptorSetLayout, nullptr);
// @todo: destroy shaders
uniformBuffer.destroy(); uniformBuffer.destroy();
vkDestroyShaderEXT(device, shaders[0], nullptr);
vkDestroyShaderEXT(device, shaders[1], nullptr);
} }
void loadAssets() void loadAssets()
@ -399,6 +401,7 @@ public:
VulkanExampleBase::prepare(); VulkanExampleBase::prepare();
vkCreateShadersEXT = reinterpret_cast<PFN_vkCreateShadersEXT>(vkGetDeviceProcAddr(device, "vkCreateShadersEXT")); vkCreateShadersEXT = reinterpret_cast<PFN_vkCreateShadersEXT>(vkGetDeviceProcAddr(device, "vkCreateShadersEXT"));
vkDestroyShaderEXT = reinterpret_cast<PFN_vkDestroyShaderEXT>(vkGetDeviceProcAddr(device, "vkDestroyShaderEXT"));
vkCmdBindShadersEXT = reinterpret_cast<PFN_vkCmdBindShadersEXT>(vkGetDeviceProcAddr(device, "vkCmdBindShadersEXT")); vkCmdBindShadersEXT = reinterpret_cast<PFN_vkCmdBindShadersEXT>(vkGetDeviceProcAddr(device, "vkCmdBindShadersEXT"));
vkGetShaderBinaryDataEXT = reinterpret_cast<PFN_vkGetShaderBinaryDataEXT>(vkGetDeviceProcAddr(device, "vkGetShaderBinaryDataEXT")); vkGetShaderBinaryDataEXT = reinterpret_cast<PFN_vkGetShaderBinaryDataEXT>(vkGetDeviceProcAddr(device, "vkGetShaderBinaryDataEXT"));