#include "include/core/SkTypes.h"
#include "include/gpu/GpuTypes.h"
#include "include/gpu/vk/VulkanMemoryAllocator.h"
#include "include/gpu/vk/VulkanTypes.h"
#include "src/gpu/vk/VulkanMemory.h"
#include <cstdint>
#include <cstring>
namespace skgpu {
BufferUsage;
bool VulkanMemory::AllocBufferMemory(VulkanMemoryAllocator* allocator,
VkBuffer buffer,
skgpu::Protected isProtected,
BufferUsage usage,
bool shouldPersistentlyMapCpuToGpu,
const std::function<CheckResult>& checkResult,
VulkanAlloc* alloc) { … }
void VulkanMemory::FreeBufferMemory(VulkanMemoryAllocator* allocator, const VulkanAlloc& alloc) { … }
bool VulkanMemory::AllocImageMemory(VulkanMemoryAllocator* allocator,
VkImage image,
Protected isProtected,
bool forceDedicatedMemory,
bool useLazyAllocation,
const std::function<CheckResult>& checkResult,
VulkanAlloc* alloc) { … }
void VulkanMemory::FreeImageMemory(VulkanMemoryAllocator* allocator,
const VulkanAlloc& alloc) { … }
void* VulkanMemory::MapAlloc(VulkanMemoryAllocator* allocator,
const VulkanAlloc& alloc,
const std::function<CheckResult>& checkResult) { … }
void VulkanMemory::UnmapAlloc(VulkanMemoryAllocator* allocator,
const VulkanAlloc& alloc) { … }
void VulkanMemory::GetNonCoherentMappedMemoryRange(const VulkanAlloc& alloc,
VkDeviceSize offset,
VkDeviceSize size,
VkDeviceSize alignment,
VkMappedMemoryRange* range) { … }
void VulkanMemory::FlushMappedAlloc(VulkanMemoryAllocator* allocator,
const VulkanAlloc& alloc,
VkDeviceSize offset,
VkDeviceSize size,
const std::function<CheckResult>& checkResult) { … }
void VulkanMemory::InvalidateMappedAlloc(VulkanMemoryAllocator* allocator,
const VulkanAlloc& alloc,
VkDeviceSize offset,
VkDeviceSize size,
const std::function<CheckResult>& checkResult) { … }
}