ULRE/src/SceneGraph/Vulkan/VKDeviceImage.cpp

26 lines
635 B
C++
Raw Normal View History

#include<hgl/graph/VKDevice.h>
#include<hgl/graph/VKImageCreateInfo.h>
2019-11-25 22:05:05 +08:00
VK_NAMESPACE_BEGIN
2020-10-21 12:39:22 +08:00
VkImage GPUDevice::CreateImage(VkImageCreateInfo *ici)
2020-06-24 19:13:29 +08:00
{
if(!ici)return(VK_NULL_HANDLE);
if(!CheckVulkanFormat(ici->format))return(VK_NULL_HANDLE);
if(ici->extent.width*ici->extent.height*ici->extent.depth*ici->arrayLayers<=0)return(VK_NULL_HANDLE);
2020-06-24 19:13:29 +08:00
VkImage image;
if(vkCreateImage(attr->device,ici, nullptr, &image)!=VK_SUCCESS)
2020-06-24 19:13:29 +08:00
return(nullptr);
return image;
}
2021-09-14 20:31:15 +08:00
void GPUDevice::DestroyImage(VkImage img)
2019-11-25 22:05:05 +08:00
{
if(img==VK_NULL_HANDLE)return;
vkDestroyImage(attr->device,img,nullptr);
}
VK_NAMESPACE_END