#ifndef LIBANGLE_RENDERER_VULKAN_MEMORYTRACKING_H_
#define LIBANGLE_RENDERER_VULKAN_MEMORYTRACKING_H_
#include <array>
#include <atomic>
#include "common/SimpleMutex.h"
#include "common/angleutils.h"
#include "common/backtrace_utils.h"
#include "common/hash_containers.h"
#include "common/vulkan/vk_headers.h"
namespace rx
{
namespace vk
{
class Renderer;
enum class MemoryAllocationType
{ … };
constexpr const char *kMemoryAllocationTypeMessage[] = …;
constexpr const uint32_t kMemoryAllocationTypeCount = …;
enum class MemoryLogSeverity
{ … };
struct MemoryAllocationInfo
{ … };
class MemoryAllocInfoMapKey
{ … };
class MemoryReport final : angle::NonCopyable
{ … };
}
}
namespace std
{
template <>
struct hash<rx::vk::MemoryAllocInfoMapKey>
{ … };
}
namespace rx
{
class MemoryAllocationTracker : angle::NonCopyable
{ … };
}
#endif