chromium/third_party/skia/src/gpu/ganesh/GrResourceProvider.h

/*
 * Copyright 2015 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#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;
}

/**
 * A factory for arbitrary resource types.
 */
class GrResourceProvider {};

#endif