add GPUMemory::Flush functions.
This commit is contained in:
@@ -24,6 +24,19 @@ GPUMemory *GPUDevice::CreateMemory(const VkMemoryRequirements &req,uint32_t prop
|
||||
return(new GPUMemory(attr->device,memory,req,index,properties));
|
||||
}
|
||||
|
||||
GPUMemory::GPUMemory(VkDevice dev,VkDeviceMemory dm,const VkMemoryRequirements &mr,const uint32 i,const uint32_t p)
|
||||
{
|
||||
device=dev;
|
||||
memory=dm;
|
||||
req=mr;
|
||||
index=i;
|
||||
properties=p;
|
||||
|
||||
memory_range.sType =VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
|
||||
memory_range.pNext =nullptr;
|
||||
memory_range.memory =memory;
|
||||
}
|
||||
|
||||
GPUMemory::~GPUMemory()
|
||||
{
|
||||
vkFreeMemory(device,memory,nullptr);
|
||||
@@ -57,6 +70,14 @@ void GPUMemory::Unmap()
|
||||
vkUnmapMemory(device,memory);
|
||||
}
|
||||
|
||||
void GPUMemory::Flush(VkDeviceSize offset,VkDeviceSize size)
|
||||
{
|
||||
memory_range.offset =offset;
|
||||
memory_range.size =size;
|
||||
|
||||
vkFlushMappedMemoryRanges(device,1,&memory_range);
|
||||
}
|
||||
|
||||
bool GPUMemory::Write(const void *ptr,VkDeviceSize start,VkDeviceSize size)
|
||||
{
|
||||
if(!ptr)return(false);
|
||||
|
Reference in New Issue
Block a user