Commit cb6508af authored by Michael Spang's avatar Michael Spang Committed by Commit Bot

gpu: vulkan: Add vkDestroy{Image,Memory} to bindings

Add some missing destruction functions to gpu::VulkanFunctionPointers so
that we can cleanup imported images.

Bug: 851997
Test: compile
Change-Id: Ia93aada5909950f37af63d47eeff4b47af190f70
Reviewed-on: https://chromium-review.googlesource.com/1115568Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570576}
parent 5c1cf0ab
...@@ -30,6 +30,7 @@ VULKAN_DEVICE_FUNCTIONS = [ ...@@ -30,6 +30,7 @@ VULKAN_DEVICE_FUNCTIONS = [
{ 'name': 'vkDestroyDevice' }, { 'name': 'vkDestroyDevice' },
{ 'name': 'vkDestroyFramebuffer' }, { 'name': 'vkDestroyFramebuffer' },
{ 'name': 'vkDestroyFence' }, { 'name': 'vkDestroyFence' },
{ 'name': 'vkDestroyImage' },
{ 'name': 'vkDestroyImageView' }, { 'name': 'vkDestroyImageView' },
{ 'name': 'vkDestroyRenderPass' }, { 'name': 'vkDestroyRenderPass' },
{ 'name': 'vkDestroySampler' }, { 'name': 'vkDestroySampler' },
...@@ -37,6 +38,7 @@ VULKAN_DEVICE_FUNCTIONS = [ ...@@ -37,6 +38,7 @@ VULKAN_DEVICE_FUNCTIONS = [
{ 'name': 'vkDestroyShaderModule' }, { 'name': 'vkDestroyShaderModule' },
{ 'name': 'vkFreeCommandBuffers' }, { 'name': 'vkFreeCommandBuffers' },
{ 'name': 'vkFreeDescriptorSets' }, { 'name': 'vkFreeDescriptorSets' },
{ 'name': 'vkFreeMemory' },
{ 'name': 'vkGetDeviceQueue' }, { 'name': 'vkGetDeviceQueue' },
{ 'name': 'vkGetFenceStatus' }, { 'name': 'vkGetFenceStatus' },
{ 'name': 'vkResetFences' }, { 'name': 'vkResetFences' },
......
...@@ -116,6 +116,11 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointers(VkDevice vk_device) { ...@@ -116,6 +116,11 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointers(VkDevice vk_device) {
if (!vkDestroyFence) if (!vkDestroyFence)
return false; return false;
vkDestroyImage = reinterpret_cast<PFN_vkDestroyImage>(
vkGetDeviceProcAddr(vk_device, "vkDestroyImage"));
if (!vkDestroyImage)
return false;
vkDestroyImageView = reinterpret_cast<PFN_vkDestroyImageView>( vkDestroyImageView = reinterpret_cast<PFN_vkDestroyImageView>(
vkGetDeviceProcAddr(vk_device, "vkDestroyImageView")); vkGetDeviceProcAddr(vk_device, "vkDestroyImageView"));
if (!vkDestroyImageView) if (!vkDestroyImageView)
...@@ -151,6 +156,11 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointers(VkDevice vk_device) { ...@@ -151,6 +156,11 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointers(VkDevice vk_device) {
if (!vkFreeDescriptorSets) if (!vkFreeDescriptorSets)
return false; return false;
vkFreeMemory = reinterpret_cast<PFN_vkFreeMemory>(
vkGetDeviceProcAddr(vk_device, "vkFreeMemory"));
if (!vkFreeMemory)
return false;
vkGetDeviceQueue = reinterpret_cast<PFN_vkGetDeviceQueue>( vkGetDeviceQueue = reinterpret_cast<PFN_vkGetDeviceQueue>(
vkGetDeviceProcAddr(vk_device, "vkGetDeviceQueue")); vkGetDeviceProcAddr(vk_device, "vkGetDeviceQueue"));
if (!vkGetDeviceQueue) if (!vkGetDeviceQueue)
......
...@@ -78,6 +78,7 @@ struct VulkanFunctionPointers { ...@@ -78,6 +78,7 @@ struct VulkanFunctionPointers {
PFN_vkDestroyDevice vkDestroyDevice = nullptr; PFN_vkDestroyDevice vkDestroyDevice = nullptr;
PFN_vkDestroyFramebuffer vkDestroyFramebuffer = nullptr; PFN_vkDestroyFramebuffer vkDestroyFramebuffer = nullptr;
PFN_vkDestroyFence vkDestroyFence = nullptr; PFN_vkDestroyFence vkDestroyFence = nullptr;
PFN_vkDestroyImage vkDestroyImage = nullptr;
PFN_vkDestroyImageView vkDestroyImageView = nullptr; PFN_vkDestroyImageView vkDestroyImageView = nullptr;
PFN_vkDestroyRenderPass vkDestroyRenderPass = nullptr; PFN_vkDestroyRenderPass vkDestroyRenderPass = nullptr;
PFN_vkDestroySampler vkDestroySampler = nullptr; PFN_vkDestroySampler vkDestroySampler = nullptr;
...@@ -85,6 +86,7 @@ struct VulkanFunctionPointers { ...@@ -85,6 +86,7 @@ struct VulkanFunctionPointers {
PFN_vkDestroyShaderModule vkDestroyShaderModule = nullptr; PFN_vkDestroyShaderModule vkDestroyShaderModule = nullptr;
PFN_vkFreeCommandBuffers vkFreeCommandBuffers = nullptr; PFN_vkFreeCommandBuffers vkFreeCommandBuffers = nullptr;
PFN_vkFreeDescriptorSets vkFreeDescriptorSets = nullptr; PFN_vkFreeDescriptorSets vkFreeDescriptorSets = nullptr;
PFN_vkFreeMemory vkFreeMemory = nullptr;
PFN_vkGetDeviceQueue vkGetDeviceQueue = nullptr; PFN_vkGetDeviceQueue vkGetDeviceQueue = nullptr;
PFN_vkGetFenceStatus vkGetFenceStatus = nullptr; PFN_vkGetFenceStatus vkGetFenceStatus = nullptr;
PFN_vkResetFences vkResetFences = nullptr; PFN_vkResetFences vkResetFences = nullptr;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment