#include "src/gpu/ganesh/GrGpuResource.h"
#include "include/core/SkTraceMemoryDump.h"
#include "include/gpu/GpuTypes.h"
#include "include/gpu/ganesh/GrDirectContext.h"
#include "include/private/base/SkDebug.h"
#include "src/gpu/ganesh/GrDirectContextPriv.h"
#include "src/gpu/ganesh/GrGpu.h"
#include "src/gpu/ganesh/GrGpuResourcePriv.h"
#include "src/gpu/ganesh/GrResourceCache.h"
#include <atomic>
static inline GrResourceCache* get_resource_cache(GrGpu* gpu) { … }
GrGpuResource::GrGpuResource(GrGpu* gpu, std::string_view label)
: … { … }
void GrGpuResource::registerWithCache(skgpu::Budgeted budgeted) { … }
void GrGpuResource::registerWithCacheWrapped(GrWrapCacheable wrapType) { … }
GrGpuResource::~GrGpuResource() { … }
void GrGpuResource::release() { … }
void GrGpuResource::abandon() { … }
void GrGpuResource::dumpMemoryStatistics(SkTraceMemoryDump* traceMemoryDump) const { … }
void GrGpuResource::dumpMemoryStatisticsPriv(SkTraceMemoryDump* traceMemoryDump,
const SkString& resourceName,
const char* type, size_t size) const { … }
bool GrGpuResource::isPurgeable() const { … }
bool GrGpuResource::hasRef() const { … }
bool GrGpuResource::hasNoCommandBufferUsages() const { … }
SkString GrGpuResource::getResourceName() const { … }
const GrDirectContext* GrGpuResource::getContext() const { … }
GrDirectContext* GrGpuResource::getContext() { … }
void GrGpuResource::removeUniqueKey() { … }
void GrGpuResource::setUniqueKey(const skgpu::UniqueKey& key) { … }
void GrGpuResource::notifyARefCntIsZero(LastRemovedRef removedRef) const { … }
void GrGpuResource::removeScratchKey() { … }
void GrGpuResource::makeBudgeted() { … }
void GrGpuResource::makeUnbudgeted() { … }
uint32_t GrGpuResource::CreateUniqueID() { … }
void GrGpuResource::ProxyAccess::ref(GrResourceCache* cache) { … }