Buffer提供Write函数方便写入数据
This commit is contained in:
parent
df149ee988
commit
adf4897650
@ -27,4 +27,18 @@ void Buffer::Unmap()
|
|||||||
{
|
{
|
||||||
vkUnmapMemory(device,buf.memory);
|
vkUnmapMemory(device,buf.memory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Buffer::Write(const void *ptr,uint32_t start,uint32_t size)
|
||||||
|
{
|
||||||
|
if(!ptr)return(false);
|
||||||
|
|
||||||
|
void *dst;
|
||||||
|
|
||||||
|
if(vkMapMemory(device,buf.memory,start,size,0,&dst)!=VK_SUCCESS)
|
||||||
|
return(false);
|
||||||
|
|
||||||
|
memcpy(dst,ptr,size);
|
||||||
|
vkUnmapMemory(device,buf.memory);
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
VK_NAMESPACE_END
|
VK_NAMESPACE_END
|
||||||
|
@ -40,6 +40,9 @@ public:
|
|||||||
|
|
||||||
virtual uint8_t *Map(uint32_t start=0,uint32_t size=0);
|
virtual uint8_t *Map(uint32_t start=0,uint32_t size=0);
|
||||||
void Unmap();
|
void Unmap();
|
||||||
|
|
||||||
|
bool Write(const void *ptr,uint32_t start,uint32_t size);
|
||||||
|
bool Write(const void *ptr){return Write(ptr,0,buf.info.range);}
|
||||||
};//class Buffer
|
};//class Buffer
|
||||||
|
|
||||||
class VertexBuffer:public Buffer
|
class VertexBuffer:public Buffer
|
||||||
|
Loading…
x
Reference in New Issue
Block a user