#include "include/gpu/ganesh/GrContextThreadSafeProxy.h"
#include "include/core/SkImageInfo.h"
#include "include/gpu/ganesh/GrBackendSurface.h"
#include "include/private/chromium/GrSurfaceCharacterization.h"
#include "include/private/gpu/ganesh/GrTypesPriv.h"
#include "src/gpu/ganesh/GrCaps.h"
#include "src/gpu/ganesh/GrContextThreadSafeProxyPriv.h"
#include "src/gpu/ganesh/GrThreadSafeCache.h"
#include "src/gpu/ganesh/GrThreadSafePipelineBuilder.h"
#include "src/text/gpu/TextBlobRedrawCoordinator.h"
#include <memory>
#include <utility>
static uint32_t next_id() { … }
GrContextThreadSafeProxy::GrContextThreadSafeProxy(GrBackendApi backend,
const GrContextOptions& options)
: … { … }
GrContextThreadSafeProxy::~GrContextThreadSafeProxy() = default;
void GrContextThreadSafeProxy::init(sk_sp<const GrCaps> caps,
sk_sp<GrThreadSafePipelineBuilder> pipelineBuilder) { … }
GrSurfaceCharacterization GrContextThreadSafeProxy::createCharacterization(
size_t cacheMaxResourceBytes,
const SkImageInfo& ii,
const GrBackendFormat& backendFormat,
int sampleCnt,
GrSurfaceOrigin origin,
const SkSurfaceProps& surfaceProps,
skgpu::Mipmapped isMipmapped,
bool willUseGLFBO0,
bool isTextureable,
skgpu::Protected isProtected,
bool vkRTSupportsInputAttachment,
bool forVulkanSecondaryCommandBuffer) { … }
bool GrContextThreadSafeProxy::isValidCharacterizationForVulkan(
sk_sp<const GrCaps>,
bool isTextureable,
skgpu::Mipmapped isMipmapped,
skgpu::Protected isProtected,
bool vkRTSupportsInputAttachment,
bool forVulkanSecondaryCommandBuffer) { … }
GrBackendFormat GrContextThreadSafeProxy::defaultBackendFormat(SkColorType skColorType,
GrRenderable renderable) const { … }
GrBackendFormat GrContextThreadSafeProxy::compressedBackendFormat(SkTextureCompressionType c) const { … }
int GrContextThreadSafeProxy::maxSurfaceSampleCountForColorType(SkColorType colorType) const { … }
void GrContextThreadSafeProxy::abandonContext() { … }
bool GrContextThreadSafeProxy::abandoned() const { … }
sk_sp<GrContextThreadSafeProxy> GrContextThreadSafeProxyPriv::Make(
GrBackendApi backend,
const GrContextOptions& options) { … }
void GrContextThreadSafeProxyPriv::init(sk_sp<const GrCaps> caps,
sk_sp<GrThreadSafePipelineBuilder> builder) const { … }