delete CreateImage serial functions for VKDevice class

This commit is contained in:
hyzboy 2020-09-27 21:18:46 +08:00
parent cc7f462f85
commit 113b6da33b
4 changed files with 8 additions and 91 deletions

2
CMCore

@ -1 +1 @@
Subproject commit 2ec8168b16c709342320b4f7db0782ca2288edb0
Subproject commit 91301417d5ffcadeece7150ce42ae0a4fa9054c7

@ -1 +1 @@
Subproject commit ef941fde85bc16964cbbcd7c4505189986834e0a
Subproject commit d32c4ebff959a593ce7938a0d1697987c670c837

View File

@ -117,14 +117,7 @@ public: //Buffer相关
public: //Image
VkImage CreateImage1D (const VkFormat format,const uint32_t width, const uint usage,const ImageTiling tiling);
VkImage CreateImage1DArray (const VkFormat format,const uint32_t width,const uint32_t layer, const uint usage,const ImageTiling tiling);
VkImage CreateImage2D (const VkFormat format,const uint32_t width,const uint32_t height, const uint usage,const ImageTiling tiling);
VkImage CreateImage2DArray (const VkFormat format,const uint32_t width,const uint32_t height,const uint32_t layer, const uint usage,const ImageTiling tiling);
VkImage CreateImage3D (const VkFormat format,const VkExtent3D &extent, const uint usage,const ImageTiling tiling);
VkImage CreateCubemap (const VkFormat format,const uint32_t width,const uint32_t height, const uint usage,const ImageTiling tiling);
// VkImage CreateCubemapArray (const VkFormat format,const uint32_t width,const uint32_t height,const uint32_t layer, const uint usage,const ImageTiling tiling);
VkImage CreateImage (VkImageCreateInfo *);
void DestoryImage (VkImage);
public: //Texture

View File

@ -2,91 +2,15 @@
#include<hgl/graph/vulkan/VKImageCreateInfo.h>
VK_NAMESPACE_BEGIN
VkImage Device::CreateImage1D(const VkFormat format,const uint32_t length,const uint usage,const ImageTiling tiling)
VkImage Device::CreateImage(VkImageCreateInfo *ici)
{
if(!CheckVulkanFormat(format))return(nullptr);
if(length<1)return(nullptr);
Image1DCreateInfo imageCreateInfo(usage,tiling,format,length);
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);
VkImage image;
if(vkCreateImage(attr->device,&imageCreateInfo, nullptr, &image)!=VK_SUCCESS)
return(nullptr);
return image;
}
VkImage Device::CreateImage1DArray(const VkFormat format,const uint32_t length,const uint32_t layer,const uint usage,const ImageTiling tiling)
{
if(!CheckVulkanFormat(format))return(nullptr);
if(length<1||layer<1)return(nullptr);
Image1DArrayCreateInfo imageCreateInfo(usage,tiling,format,length,layer);
VkImage image;
if(vkCreateImage(attr->device,&imageCreateInfo, nullptr, &image)!=VK_SUCCESS)
return(nullptr);
return image;
}
VkImage Device::CreateImage2D(const VkFormat format,const uint32_t width,const uint32_t height,const uint usage,const ImageTiling tiling)
{
if(!CheckVulkanFormat(format))return(nullptr);
if(width<1||height<1)return(nullptr);
Image2DCreateInfo imageCreateInfo(usage,tiling,format,width,height);
VkImage image;
if(vkCreateImage(attr->device,&imageCreateInfo, nullptr, &image)!=VK_SUCCESS)
return(nullptr);
return image;
}
VkImage Device::CreateImage2DArray(const VkFormat format,const uint32_t width,const uint32_t height,const uint32_t layer,const uint usage,const ImageTiling tiling)
{
if(!CheckVulkanFormat(format))return(nullptr);
if(width<1||height<1)return(nullptr);
Image2DArrayCreateInfo imageCreateInfo(usage,tiling,format,width,height,layer);
VkImage image;
if(vkCreateImage(attr->device,&imageCreateInfo, nullptr, &image)!=VK_SUCCESS)
return(nullptr);
return image;
}
VkImage Device::CreateImage3D(const VkFormat format,const VkExtent3D &extent,const uint usage,const ImageTiling tiling)
{
if(!CheckVulkanFormat(format))return(nullptr);
if(extent.width<1||extent.height<1||extent.depth<1)return(nullptr);
Image3DCreateInfo imageCreateInfo(usage,tiling,format,extent);
VkImage image;
if(vkCreateImage(attr->device,&imageCreateInfo, nullptr, &image)!=VK_SUCCESS)
return(nullptr);
return image;
}
VkImage Device::CreateCubemap(const VkFormat format,const uint32_t width,const uint32_t height,const uint usage,const ImageTiling tiling)
{
if(!CheckVulkanFormat(format))return(nullptr);
if(width<1||height<1)return(nullptr);
ImageCubemapCreateInfo imageCreateInfo(usage,tiling,format,width,height);
VkImage image;
if(vkCreateImage(attr->device,&imageCreateInfo, nullptr, &image)!=VK_SUCCESS)
if(vkCreateImage(attr->device,ici, nullptr, &image)!=VK_SUCCESS)
return(nullptr);
return image;