#ifndef GrResourceProvider_DEFINED
#define GrResourceProvider_DEFINED
#include "include/core/SkRefCnt.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkDebug.h"
#include "include/private/base/SkTemplates.h"
#include "include/private/base/SkTo.h"
#include "include/private/gpu/ganesh/GrTypesPriv.h"
#include "src/gpu/BufferWriter.h"
#include "src/gpu/ganesh/GrCaps.h"
#include "src/gpu/ganesh/GrGpuBuffer.h"
#include "src/gpu/ganesh/GrGpuResource.h"
#include "src/gpu/ganesh/GrResourceCache.h"
#include <cstddef>
#include <cstdint>
#include <memory>
#include <string_view>
#include <type_traits>
class GrAttachment;
class GrBackendFormat;
class GrBackendRenderTarget;
class GrBackendSemaphore;
class GrBackendTexture;
class GrGpu;
class GrRenderTarget;
class GrResourceProviderPriv;
class GrSemaphore;
class GrTexture;
class SkData;
enum class SkBackingFit;
struct GrVkDrawableInfo;
struct SkImageInfo;
struct SkISize;
namespace skgpu {
class ScratchKey;
class SingleOwner;
class UniqueKey;
enum class Budgeted : bool;
enum class Mipmapped : bool;
enum class Protected : bool;
enum class Renderable : bool;
}
class GrResourceProvider { … };
#endif