/* * Copyright 2011 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef GrAttachment_DEFINED #define GrAttachment_DEFINED #include "include/core/SkSize.h" #include "include/gpu/ganesh/GrBackendSurface.h" #include "include/gpu/ganesh/GrTypes.h" #include "include/private/base/SkMacros.h" #include "include/private/gpu/ganesh/GrTypesPriv.h" #include "src/gpu/ganesh/GrSurface.h" #include <cstddef> #include <cstdint> #include <string_view> class GrCaps; class GrGpu; namespace skgpu { class ScratchKey; class UniqueKey; enum class Mipmapped : bool; } // namespace skgpu /** * This is a generic attachment class for out GrSurfaces. It always represents a single gpu * allocation. It contains usage flags so that we know what the attachment can be used for. * * TODO: Once we can pull out GrRenderTarget to be more of a framebuffer and break apart our * texture render target diamond, we will merge this class with GrSurface. Until then this will * act as the staging class for the new surface and framebuffer world. */ class GrAttachment : public GrSurface { … }; SK_MAKE_BITFIELD_CLASS_OPS(GrAttachment::UsageFlags) #endif