diff --git a/src/RenderDevice/Vulkan/VKDeviceSwapchain.cpp b/src/RenderDevice/Vulkan/VKDeviceSwapchain.cpp index f088d0e6..53b21675 100644 --- a/src/RenderDevice/Vulkan/VKDeviceSwapchain.cpp +++ b/src/RenderDevice/Vulkan/VKDeviceSwapchain.cpp @@ -73,7 +73,7 @@ bool Device::CreateSwapchainColorTexture() if(vkGetSwapchainImagesKHR(attr->device,swapchain->swap_chain,&(swapchain->swap_chain_count),nullptr)!=VK_SUCCESS) return(false); - AutoDeleteArray sc_images=new VkImage[swapchain->swap_chain_count]; + AutoDeleteArray sc_images(swapchain->swap_chain_count); if(vkGetSwapchainImagesKHR(attr->device,swapchain->swap_chain,&(swapchain->swap_chain_count),sc_images)!=VK_SUCCESS) return(false); diff --git a/src/RenderDevice/Vulkan/VKDeviceTexture.cpp b/src/RenderDevice/Vulkan/VKDeviceTexture.cpp index dc877127..37fac10c 100644 --- a/src/RenderDevice/Vulkan/VKDeviceTexture.cpp +++ b/src/RenderDevice/Vulkan/VKDeviceTexture.cpp @@ -6,6 +6,7 @@ #include #include #include +#include VK_NAMESPACE_BEGIN namespace { @@ -64,7 +65,8 @@ Texture2D *Device::CreateTexture2D(const VkFormat format,uint32_t width,uint32_t return(nullptr); } - VkImage img=CreateImage2D(format,width,height,usage,tiling); + Image2DCreateInfo ici(usage,tiling,format,width,height); + VkImage img=CreateImage(&ici); if(!img)return(nullptr); @@ -121,9 +123,7 @@ bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,const VkBufferImageCopy subresourceRange.baseArrayLayer = 0; subresourceRange.layerCount = 1; - VkImageMemoryBarrier imageMemoryBarrier; - imageMemoryBarrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; - imageMemoryBarrier.pNext = nullptr; + ImageMemoryBarrier imageMemoryBarrier; imageMemoryBarrier.srcAccessMask = 0; imageMemoryBarrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; imageMemoryBarrier.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED; @@ -176,7 +176,7 @@ bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,const List const int ir_count=ir_list.GetCount(); int count=0; - AutoDeleteArray buffer_image_copy=new VkBufferImageCopy[ir_count]; + AutoDeleteArray buffer_image_copy(ir_count); VkBufferImageCopy *tp=buffer_image_copy; const ImageRegion *sp=ir_list.GetData(); diff --git a/src/RenderDevice/Vulkan/VKRenderableInstance.cpp b/src/RenderDevice/Vulkan/VKRenderableInstance.cpp index fc525881..20fc1070 100644 --- a/src/RenderDevice/Vulkan/VKRenderableInstance.cpp +++ b/src/RenderDevice/Vulkan/VKRenderableInstance.cpp @@ -37,8 +37,8 @@ RenderableInstance *CreateRenderableInstance(Renderable *r,MaterialInstance *mi, if(r->GetBufferCount() buffer_list=new VkBuffer[input_count]; - AutoDeleteArray buffer_size=new VkDeviceSize[input_count]; + AutoDeleteArray buffer_list(input_count); + AutoDeleteArray buffer_size(input_count); ShaderStage **ss=ssl.GetData();