optimized params of GPUDevice::CommitTexture2DMipmaps
This commit is contained in:
parent
b064a4de5f
commit
3bd165fbe5
@ -157,7 +157,7 @@ public: //Image
|
|||||||
private: //texture
|
private: //texture
|
||||||
|
|
||||||
bool CommitTexture2D (Texture2D *,GPUBuffer *buf,VkPipelineStageFlags stage);
|
bool CommitTexture2D (Texture2D *,GPUBuffer *buf,VkPipelineStageFlags stage);
|
||||||
bool CommitTexture2DMipmaps (Texture2D *,GPUBuffer *buf,uint32_t width,uint32_t height,uint32_t);
|
bool CommitTexture2DMipmaps (Texture2D *,GPUBuffer *buf,const VkExtent3D &,uint32_t);
|
||||||
bool CommitTexture2D (Texture2D *,GPUBuffer *buf,const VkBufferImageCopy *,const int count,VkPipelineStageFlags=VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT);
|
bool CommitTexture2D (Texture2D *,GPUBuffer *buf,const VkBufferImageCopy *,const int count,VkPipelineStageFlags=VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT);
|
||||||
|
|
||||||
bool SubmitTexture (const VkCommandBuffer *cmd_bufs,const uint32_t count=1); ///<提交纹理处理到队列
|
bool SubmitTexture (const VkCommandBuffer *cmd_bufs,const uint32_t count=1); ///<提交纹理处理到队列
|
||||||
|
@ -67,7 +67,7 @@ Texture2D *GPUDevice::CreateTexture2D(TextureCreateInfo *tci)
|
|||||||
}
|
}
|
||||||
else //本身有mipmaps数据
|
else //本身有mipmaps数据
|
||||||
{
|
{
|
||||||
CommitTexture2DMipmaps(tex,tci->buffer,tci->extent.width,tci->extent.height,tci->mipmap_zero_total_bytes);
|
CommitTexture2DMipmaps(tex,tci->buffer,tci->extent,tci->mipmap_zero_total_bytes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -145,10 +145,10 @@ bool GPUDevice::CommitTexture2D(Texture2D *tex,GPUBuffer *buf,VkPipelineStageFla
|
|||||||
return CommitTexture2D(tex,buf,&buffer_image_copy,1,destinationStage);
|
return CommitTexture2D(tex,buf,&buffer_image_copy,1,destinationStage);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GPUDevice::CommitTexture2DMipmaps(Texture2D *tex,GPUBuffer *buf,uint32_t width,uint32_t height,uint32_t total_bytes)
|
bool GPUDevice::CommitTexture2DMipmaps(Texture2D *tex,GPUBuffer *buf,const VkExtent3D &extent,uint32_t total_bytes)
|
||||||
{
|
{
|
||||||
if(!tex||!buf
|
if(!tex||!buf
|
||||||
||width<=0||height<=0)
|
||extent.width*extent.height<=0)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
const uint32_t miplevel=tex->GetMipLevel();
|
const uint32_t miplevel=tex->GetMipLevel();
|
||||||
@ -158,6 +158,9 @@ bool GPUDevice::CommitTexture2DMipmaps(Texture2D *tex,GPUBuffer *buf,uint32_t wi
|
|||||||
VkDeviceSize offset=0;
|
VkDeviceSize offset=0;
|
||||||
uint32_t level=0;
|
uint32_t level=0;
|
||||||
|
|
||||||
|
uint32_t width=extent.width;
|
||||||
|
uint32_t height=extent.height;
|
||||||
|
|
||||||
buffer_image_copy.zero();
|
buffer_image_copy.zero();
|
||||||
|
|
||||||
for(VkBufferImageCopy &bic:buffer_image_copy)
|
for(VkBufferImageCopy &bic:buffer_image_copy)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user