VKBuffer增强Map函数

This commit is contained in:
HuYingzhuo 2019-04-11 23:02:02 +08:00
parent 30edac78bd
commit 919d2cb14e
2 changed files with 10 additions and 3 deletions

View File

@ -7,11 +7,18 @@ Buffer::~Buffer()
vkFreeMemory(device,mem,nullptr);
}
uint8_t *Buffer::Map()
uint8_t *Buffer::Map(uint32_t start,uint32_t size)
{
uint8_t *p;
if(vkMapMemory(device,mem,0,buffer_info.range,0,(void **)&p)==VK_SUCCESS)
if(start>buffer_info.range
||start+size>buffer_info.range)
return(nullptr);
if(start==0&&size==0)
size=buffer_info.range;
if(vkMapMemory(device,mem,start,size,0,(void **)&p)==VK_SUCCESS)
return p;
return nullptr;

View File

@ -26,7 +26,7 @@ public:
virtual ~Buffer();
uint8_t *Map();
uint8_t *Map(uint32_t start=0,uint32_t size=0);
void Unmap();
};//class Buffer
VK_NAMESPACE_END