use new AutoDeleteArray construct function.
This commit is contained in:
parent
113b6da33b
commit
d65cab330e
@ -73,7 +73,7 @@ bool Device::CreateSwapchainColorTexture()
|
|||||||
if(vkGetSwapchainImagesKHR(attr->device,swapchain->swap_chain,&(swapchain->swap_chain_count),nullptr)!=VK_SUCCESS)
|
if(vkGetSwapchainImagesKHR(attr->device,swapchain->swap_chain,&(swapchain->swap_chain_count),nullptr)!=VK_SUCCESS)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
AutoDeleteArray<VkImage> sc_images=new VkImage[swapchain->swap_chain_count];
|
AutoDeleteArray<VkImage> sc_images(swapchain->swap_chain_count);
|
||||||
|
|
||||||
if(vkGetSwapchainImagesKHR(attr->device,swapchain->swap_chain,&(swapchain->swap_chain_count),sc_images)!=VK_SUCCESS)
|
if(vkGetSwapchainImagesKHR(attr->device,swapchain->swap_chain,&(swapchain->swap_chain_count),sc_images)!=VK_SUCCESS)
|
||||||
return(false);
|
return(false);
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#include<hgl/graph/vulkan/VKBuffer.h>
|
#include<hgl/graph/vulkan/VKBuffer.h>
|
||||||
#include<hgl/graph/vulkan/VKCommandBuffer.h>
|
#include<hgl/graph/vulkan/VKCommandBuffer.h>
|
||||||
#include<hgl/graph/vulkan/VKMemory.h>
|
#include<hgl/graph/vulkan/VKMemory.h>
|
||||||
|
#include<hgl/graph/vulkan/VKImageCreateInfo.h>
|
||||||
VK_NAMESPACE_BEGIN
|
VK_NAMESPACE_BEGIN
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
@ -64,7 +65,8 @@ Texture2D *Device::CreateTexture2D(const VkFormat format,uint32_t width,uint32_t
|
|||||||
return(nullptr);
|
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);
|
if(!img)return(nullptr);
|
||||||
|
|
||||||
@ -121,9 +123,7 @@ bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,const VkBufferImageCopy
|
|||||||
subresourceRange.baseArrayLayer = 0;
|
subresourceRange.baseArrayLayer = 0;
|
||||||
subresourceRange.layerCount = 1;
|
subresourceRange.layerCount = 1;
|
||||||
|
|
||||||
VkImageMemoryBarrier imageMemoryBarrier;
|
ImageMemoryBarrier imageMemoryBarrier;
|
||||||
imageMemoryBarrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
|
|
||||||
imageMemoryBarrier.pNext = nullptr;
|
|
||||||
imageMemoryBarrier.srcAccessMask = 0;
|
imageMemoryBarrier.srcAccessMask = 0;
|
||||||
imageMemoryBarrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT;
|
imageMemoryBarrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT;
|
||||||
imageMemoryBarrier.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED;
|
imageMemoryBarrier.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED;
|
||||||
@ -176,7 +176,7 @@ bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,const List<ImageRegion>
|
|||||||
const int ir_count=ir_list.GetCount();
|
const int ir_count=ir_list.GetCount();
|
||||||
int count=0;
|
int count=0;
|
||||||
|
|
||||||
AutoDeleteArray<VkBufferImageCopy> buffer_image_copy=new VkBufferImageCopy[ir_count];
|
AutoDeleteArray<VkBufferImageCopy> buffer_image_copy(ir_count);
|
||||||
VkBufferImageCopy *tp=buffer_image_copy;
|
VkBufferImageCopy *tp=buffer_image_copy;
|
||||||
const ImageRegion *sp=ir_list.GetData();
|
const ImageRegion *sp=ir_list.GetData();
|
||||||
|
|
||||||
|
@ -37,8 +37,8 @@ RenderableInstance *CreateRenderableInstance(Renderable *r,MaterialInstance *mi,
|
|||||||
if(r->GetBufferCount()<input_count) //小于材质要求的数量?那自然是不行的
|
if(r->GetBufferCount()<input_count) //小于材质要求的数量?那自然是不行的
|
||||||
return(nullptr);
|
return(nullptr);
|
||||||
|
|
||||||
AutoDeleteArray<VkBuffer> buffer_list=new VkBuffer[input_count];
|
AutoDeleteArray<VkBuffer> buffer_list(input_count);
|
||||||
AutoDeleteArray<VkDeviceSize> buffer_size=new VkDeviceSize[input_count];
|
AutoDeleteArray<VkDeviceSize> buffer_size(input_count);
|
||||||
|
|
||||||
ShaderStage **ss=ssl.GetData();
|
ShaderStage **ss=ssl.GetData();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user