Revert "Move more internal methods from GrContext to GrContextPriv"
This reverts commit f440cecbfdf1910104f36aedd0e963da2ae8b6a8.
Reason for revert: breaking android builds.
Original change's description:
> Move more internal methods from GrContext to GrContextPriv
>
> TBR=bsalomon@google.com
> Change-Id: Ia8cf0e0d30451c69bc7a08215aafa6abe6e0ddbe
> Reviewed-on: https://skia-review.googlesource.com/97080
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: If263f8161f0fbe3fc6ee8f34bb09e237705c3694
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/97200
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
diff --git a/src/atlastext/SkAtlasTextTarget.cpp b/src/atlastext/SkAtlasTextTarget.cpp
index d80c7a4..0a318e0 100644
--- a/src/atlastext/SkAtlasTextTarget.cpp
+++ b/src/atlastext/SkAtlasTextTarget.cpp
@@ -183,7 +183,7 @@
FlushInfo flushInfo;
SkAutoGlyphCache glyphCache;
auto& context = target->context()->internal();
- auto* atlasGlyphCache = context.grContext()->contextPriv().getAtlasGlyphCache();
+ auto* atlasGlyphCache = context.grContext()->getAtlasGlyphCache();
for (int i = 0; i < fGeoCount; ++i) {
GrAtlasTextBlob::VertexRegenerator regenerator(
fGeoData[i].fBlob, fGeoData[i].fRun, fGeoData[i].fSubRun, fGeoData[i].fViewMatrix,
diff --git a/src/atlastext/SkInternalAtlasTextContext.cpp b/src/atlastext/SkInternalAtlasTextContext.cpp
index 58b8788..fba0cbc 100644
--- a/src/atlastext/SkInternalAtlasTextContext.cpp
+++ b/src/atlastext/SkInternalAtlasTextContext.cpp
@@ -7,7 +7,6 @@
#include "SkInternalAtlasTextContext.h"
#include "GrContext.h"
-#include "GrContextPriv.h"
#include "SkAtlasTextContext.h"
#include "SkAtlasTextRenderer.h"
#include "text/GrAtlasGlyphCache.h"
@@ -37,20 +36,17 @@
SkInternalAtlasTextContext::~SkInternalAtlasTextContext() {
if (fDistanceFieldAtlas.fProxy) {
-#ifdef SK_DEBUG
- auto atlasGlyphCache = fGrContext->contextPriv().getAtlasGlyphCache();
- SkASSERT(1 == atlasGlyphCache->getAtlasPageCount(kA8_GrMaskFormat));
-#endif
+ SkASSERT(1 == fGrContext->getAtlasGlyphCache()->getAtlasPageCount(kA8_GrMaskFormat));
fRenderer->deleteTexture(fDistanceFieldAtlas.fTextureHandle);
}
}
GrAtlasGlyphCache* SkInternalAtlasTextContext::atlasGlyphCache() {
- return fGrContext->contextPriv().getAtlasGlyphCache();
+ return fGrContext->getAtlasGlyphCache();
}
GrTextBlobCache* SkInternalAtlasTextContext::textBlobCache() {
- return fGrContext->contextPriv().getTextBlobCache();
+ return fGrContext->getTextBlobCache();
}
GrDeferredUploadToken SkInternalAtlasTextContext::addInlineUpload(
@@ -84,7 +80,7 @@
}
void SkInternalAtlasTextContext::flush() {
- auto* atlasGlyphCache = fGrContext->contextPriv().getAtlasGlyphCache();
+ auto* atlasGlyphCache = fGrContext->getAtlasGlyphCache();
if (!fDistanceFieldAtlas.fProxy) {
SkASSERT(1 == atlasGlyphCache->getAtlasPageCount(kA8_GrMaskFormat));
fDistanceFieldAtlas.fProxy = atlasGlyphCache->getProxies(kA8_GrMaskFormat)->get();
diff --git a/src/gpu/GrContextPriv.h b/src/gpu/GrContextPriv.h
index 2ce3947..bbf67a5 100644
--- a/src/gpu/GrContextPriv.h
+++ b/src/gpu/GrContextPriv.h
@@ -175,12 +175,6 @@
GrResourceCache* getResourceCache() { return fContext->fResourceCache; }
- GrGpu* getGpu() { return fContext->fGpu.get(); }
- const GrGpu* getGpu() const { return fContext->fGpu.get(); }
-
- GrAtlasGlyphCache* getAtlasGlyphCache() { return fContext->fAtlasGlyphCache; }
- GrTextBlobCache* getTextBlobCache() { return fContext->fTextBlobCache.get(); }
-
private:
explicit GrContextPriv(GrContext* context) : fContext(context) {}
GrContextPriv(const GrContextPriv&); // unimpl
diff --git a/src/gpu/GrDrawingManager.cpp b/src/gpu/GrDrawingManager.cpp
index 302da06..3f6c773 100644
--- a/src/gpu/GrDrawingManager.cpp
+++ b/src/gpu/GrDrawingManager.cpp
@@ -121,9 +121,8 @@
SkASSERT(result);
#endif
- GrGpu* gpu = fContext->contextPriv().getGpu();
-
- GrOpFlushState flushState(gpu, fContext->contextPriv().resourceProvider(),
+ GrOpFlushState flushState(fContext->getGpu(),
+ fContext->contextPriv().resourceProvider(),
&fTokenTracker);
GrOnFlushResourceProvider onFlushProvider(this);
@@ -194,7 +193,8 @@
fOpLists.reset();
- GrSemaphoresSubmitted result = gpu->finishFlush(numSemaphores, backendSemaphores);
+ GrSemaphoresSubmitted result = fContext->getGpu()->finishFlush(numSemaphores,
+ backendSemaphores);
// We always have to notify the cache when it requested a flush so it can reset its state.
if (flushed || type == GrResourceCache::FlushType::kCacheRequested) {
@@ -299,11 +299,10 @@
return result;
}
- GrGpu* gpu = fContext->contextPriv().getGpu();
GrSurface* surface = proxy->priv().peekSurface();
- if (gpu && surface->asRenderTarget()) {
- gpu->resolveRenderTarget(surface->asRenderTarget(), proxy->origin());
+ if (fContext->getGpu() && surface->asRenderTarget()) {
+ fContext->getGpu()->resolveRenderTarget(surface->asRenderTarget(), proxy->origin());
}
return result;
}
@@ -323,10 +322,8 @@
fOpLists.back()->makeClosed(*fContext->caps());
}
- auto resourceProvider = fContext->contextPriv().resourceProvider();
-
sk_sp<GrRenderTargetOpList> opList(new GrRenderTargetOpList(rtp,
- resourceProvider,
+ fContext->getGpu(),
fContext->getAuditTrail()));
SkASSERT(rtp->getLastOpList() == opList.get());
diff --git a/src/gpu/GrRenderTargetOpList.cpp b/src/gpu/GrRenderTargetOpList.cpp
index 0c806bf..0f62bc6 100644
--- a/src/gpu/GrRenderTargetOpList.cpp
+++ b/src/gpu/GrRenderTargetOpList.cpp
@@ -24,10 +24,9 @@
static const int kMaxOpLookback = 10;
static const int kMaxOpLookahead = 10;
-GrRenderTargetOpList::GrRenderTargetOpList(GrRenderTargetProxy* proxy,
- GrResourceProvider* resourceProvider,
+GrRenderTargetOpList::GrRenderTargetOpList(GrRenderTargetProxy* proxy, GrGpu* gpu,
GrAuditTrail* auditTrail)
- : INHERITED(resourceProvider, proxy, auditTrail)
+ : INHERITED(gpu->getContext()->contextPriv().resourceProvider(), proxy, auditTrail)
, fLastClipStackGenID(SK_InvalidUniqueID)
SkDEBUGCODE(, fNumClips(0)) {
}
diff --git a/src/gpu/GrRenderTargetOpList.h b/src/gpu/GrRenderTargetOpList.h
index 6b73633..5803d38 100644
--- a/src/gpu/GrRenderTargetOpList.h
+++ b/src/gpu/GrRenderTargetOpList.h
@@ -32,7 +32,7 @@
using DstProxy = GrXferProcessor::DstProxy;
public:
- GrRenderTargetOpList(GrRenderTargetProxy*, GrResourceProvider*, GrAuditTrail*);
+ GrRenderTargetOpList(GrRenderTargetProxy*, GrGpu*, GrAuditTrail*);
~GrRenderTargetOpList() override;
diff --git a/src/gpu/GrTextureAdjuster.cpp b/src/gpu/GrTextureAdjuster.cpp
index fbfffb3..b307607 100644
--- a/src/gpu/GrTextureAdjuster.cpp
+++ b/src/gpu/GrTextureAdjuster.cpp
@@ -75,8 +75,8 @@
return nullptr;
}
- GrGpu* gpu = fContext->contextPriv().getGpu();
- if (!gpu->isACopyNeededForTextureParams(proxy.get(), params, ©Params, scaleAdjust)) {
+ if (!fContext->getGpu()->isACopyNeededForTextureParams(proxy.get(), params, ©Params,
+ scaleAdjust)) {
return proxy;
}
diff --git a/src/gpu/GrTextureMaker.cpp b/src/gpu/GrTextureMaker.cpp
index 5043675..1fc5f7a 100644
--- a/src/gpu/GrTextureMaker.cpp
+++ b/src/gpu/GrTextureMaker.cpp
@@ -28,16 +28,16 @@
*texColorSpace = this->getColorSpace(dstColorSpace);
}
- GrGpu* gpu = fContext->contextPriv().getGpu();
sk_sp<GrTextureProxy> original(this->refOriginalTextureProxy(willBeMipped, dstColorSpace,
AllowedTexGenType::kCheap));
if (original) {
- if (!gpu->isACopyNeededForTextureParams(original.get(), params, ©Params, scaleAdjust)) {
+ if (!fContext->getGpu()->isACopyNeededForTextureParams(original.get(), params, ©Params,
+ scaleAdjust)) {
return original;
}
} else {
- if (!gpu->isACopyNeededForTextureParams(this->width(), this->height(),
- params, ©Params, scaleAdjust)) {
+ if (!fContext->getGpu()->isACopyNeededForTextureParams(this->width(), this->height(),
+ params, ©Params, scaleAdjust)) {
return this->refOriginalTextureProxy(willBeMipped, dstColorSpace,
AllowedTexGenType::kAny);
}
diff --git a/src/gpu/text/GrAtlasTextBlob.cpp b/src/gpu/text/GrAtlasTextBlob.cpp
index 8c3cefe..df848db 100644
--- a/src/gpu/text/GrAtlasTextBlob.cpp
+++ b/src/gpu/text/GrAtlasTextBlob.cpp
@@ -348,7 +348,7 @@
}
}
-void GrAtlasTextBlob::flushBigGlyphs(GrTextUtils::Target* target,
+void GrAtlasTextBlob::flushBigGlyphs(GrContext* context, GrTextUtils::Target* target,
const GrClip& clip, const SkPaint& paint,
const SkMatrix& viewMatrix, SkScalar x, SkScalar y,
const SkIRect& clipBounds) {
@@ -367,11 +367,11 @@
}
}
-void GrAtlasTextBlob::flushBigRun(GrTextUtils::Target* target,
- const SkSurfaceProps& props, const SkTextBlobRunIterator& it,
- const GrClip& clip, const GrTextUtils::Paint& paint,
- SkDrawFilter* drawFilter, const SkMatrix& viewMatrix,
- const SkIRect& clipBounds, SkScalar x, SkScalar y) {
+void GrAtlasTextBlob::flushBigRun(GrContext* context, GrTextUtils::Target* target,
+ const SkSurfaceProps& props, const SkTextBlobRunIterator& it,
+ const GrClip& clip, const GrTextUtils::Paint& paint,
+ SkDrawFilter* drawFilter, const SkMatrix& viewMatrix,
+ const SkIRect& clipBounds, SkScalar x, SkScalar y) {
size_t textLen = it.glyphCount() * sizeof(uint16_t);
const SkPoint& offset = it.offset();
@@ -382,24 +382,24 @@
switch (it.positioning()) {
case SkTextBlob::kDefault_Positioning:
- GrTextUtils::DrawBigText(target, clip, runPaint, viewMatrix,
+ GrTextUtils::DrawBigText(context, target, clip, runPaint, viewMatrix,
(const char*)it.glyphs(), textLen, x + offset.x(),
y + offset.y(), clipBounds);
break;
case SkTextBlob::kHorizontal_Positioning:
- GrTextUtils::DrawBigPosText(target, props, clip, runPaint, viewMatrix,
+ GrTextUtils::DrawBigPosText(context, target, props, clip, runPaint, viewMatrix,
(const char*)it.glyphs(), textLen, it.pos(), 1,
SkPoint::Make(x, y + offset.y()), clipBounds);
break;
case SkTextBlob::kFull_Positioning:
- GrTextUtils::DrawBigPosText(target, props, clip, runPaint, viewMatrix,
+ GrTextUtils::DrawBigPosText(context, target, props, clip, runPaint, viewMatrix,
(const char*)it.glyphs(), textLen, it.pos(), 2,
SkPoint::Make(x, y), clipBounds);
break;
}
}
-void GrAtlasTextBlob::flushCached(GrAtlasGlyphCache* atlasGlyphCache, GrTextUtils::Target* target,
+void GrAtlasTextBlob::flushCached(GrContext* context, GrTextUtils::Target* target,
const SkTextBlob* blob, const SkSurfaceProps& props,
const GrDistanceFieldAdjustTable* distanceAdjustTable,
const GrTextUtils::Paint& paint, SkDrawFilter* drawFilter,
@@ -410,20 +410,19 @@
SkTextBlobRunIterator it(blob);
for (int run = 0; !it.done(); it.next(), run++) {
if (fRuns[run].fTooBigForAtlas) {
- this->flushBigRun(target, props, it, clip, paint, drawFilter, viewMatrix,
+ this->flushBigRun(context, target, props, it, clip, paint, drawFilter, viewMatrix,
clipBounds, x, y);
continue;
}
this->flushRun(target, clip, run, viewMatrix, x, y, paint, props, distanceAdjustTable,
- atlasGlyphCache);
+ context->getAtlasGlyphCache());
}
// Now flush big glyphs
- this->flushBigGlyphs(target, clip, paint, viewMatrix, x, y, clipBounds);
+ this->flushBigGlyphs(context, target, clip, paint, viewMatrix, x, y, clipBounds);
}
-void GrAtlasTextBlob::flushThrowaway(GrAtlasGlyphCache* atlasGlyphCache,
- GrTextUtils::Target* target,
+void GrAtlasTextBlob::flushThrowaway(GrContext* context, GrTextUtils::Target* target,
const SkSurfaceProps& props,
const GrDistanceFieldAdjustTable* distanceAdjustTable,
const GrTextUtils::Paint& paint, const GrClip& clip,
@@ -431,11 +430,11 @@
SkScalar x, SkScalar y) {
for (int run = 0; run < fRunCount; run++) {
this->flushRun(target, clip, run, viewMatrix, x, y, paint, props, distanceAdjustTable,
- atlasGlyphCache);
+ context->getAtlasGlyphCache());
}
// Now flush big glyphs
- this->flushBigGlyphs(target, clip, paint, viewMatrix, x, y, clipBounds);
+ this->flushBigGlyphs(context, target, clip, paint, viewMatrix, x, y, clipBounds);
}
std::unique_ptr<GrDrawOp> GrAtlasTextBlob::test_makeOp(
diff --git a/src/gpu/text/GrAtlasTextBlob.h b/src/gpu/text/GrAtlasTextBlob.h
index 2b4047b..b93632f 100644
--- a/src/gpu/text/GrAtlasTextBlob.h
+++ b/src/gpu/text/GrAtlasTextBlob.h
@@ -195,14 +195,14 @@
const SkMatrix& viewMatrix, SkScalar x, SkScalar y);
// flush a GrAtlasTextBlob associated with a SkTextBlob
- void flushCached(GrAtlasGlyphCache*, GrTextUtils::Target*, const SkTextBlob* blob,
+ void flushCached(GrContext* context, GrTextUtils::Target*, const SkTextBlob* blob,
const SkSurfaceProps& props,
const GrDistanceFieldAdjustTable* distanceAdjustTable,
const GrTextUtils::Paint&, SkDrawFilter* drawFilter, const GrClip& clip,
const SkMatrix& viewMatrix, const SkIRect& clipBounds, SkScalar x, SkScalar y);
// flush a throwaway GrAtlasTextBlob *not* associated with an SkTextBlob
- void flushThrowaway(GrAtlasGlyphCache*, GrTextUtils::Target*, const SkSurfaceProps& props,
+ void flushThrowaway(GrContext* context, GrTextUtils::Target*, const SkSurfaceProps& props,
const GrDistanceFieldAdjustTable* distanceAdjustTable,
const GrTextUtils::Paint& paint, const GrClip& clip,
const SkMatrix& viewMatrix, const SkIRect& clipBounds, SkScalar x,
@@ -295,11 +295,11 @@
const GrDistanceFieldAdjustTable* distanceAdjustTable,
GrAtlasGlyphCache* cache);
- void flushBigGlyphs(GrTextUtils::Target*, const GrClip& clip,
+ void flushBigGlyphs(GrContext* context, GrTextUtils::Target*, const GrClip& clip,
const SkPaint& paint, const SkMatrix& viewMatrix, SkScalar x, SkScalar y,
const SkIRect& clipBounds);
- void flushBigRun(GrTextUtils::Target*, const SkSurfaceProps& props,
+ void flushBigRun(GrContext* context, GrTextUtils::Target*, const SkSurfaceProps& props,
const SkTextBlobRunIterator& it, const GrClip& clip,
const GrTextUtils::Paint& paint, SkDrawFilter* drawFilter,
const SkMatrix& viewMatrix, const SkIRect& clipBounds, SkScalar x,
diff --git a/src/gpu/text/GrAtlasTextContext.cpp b/src/gpu/text/GrAtlasTextContext.cpp
index 9fef8e3..bdbc600 100644
--- a/src/gpu/text/GrAtlasTextContext.cpp
+++ b/src/gpu/text/GrAtlasTextContext.cpp
@@ -6,7 +6,6 @@
*/
#include "GrAtlasTextContext.h"
#include "GrContext.h"
-#include "GrContextPriv.h"
#include "GrTextBlobCache.h"
#include "SkDistanceFieldGen.h"
#include "SkDraw.h"
@@ -122,9 +121,7 @@
drawFilter);
uint32_t scalerContextFlags = ComputeScalerContextFlags(target->colorSpaceInfo());
- auto atlasGlyphCache = context->contextPriv().getAtlasGlyphCache();
- GrTextBlobCache* textBlobCache = context->contextPriv().getTextBlobCache();
-
+ GrTextBlobCache* cache = context->getTextBlobCache();
if (canCache) {
bool hasLCD = HasLCD(blob);
@@ -144,7 +141,7 @@
key.fHasBlur = SkToBool(mf);
key.fCanonicalColor = canonicalColor;
key.fScalerContextFlags = scalerContextFlags;
- cacheBlob = textBlobCache->find(key);
+ cacheBlob = cache->find(key);
}
GrTextUtils::Paint paint(&skPaint, &target->colorSpaceInfo());
@@ -153,21 +150,21 @@
// We have to remake the blob because changes may invalidate our masks.
// TODO we could probably get away reuse most of the time if the pointer is unique,
// but we'd have to clear the subrun information
- textBlobCache->remove(cacheBlob.get());
- cacheBlob = textBlobCache->makeCachedBlob(blob, key, blurRec, skPaint);
- this->regenerateTextBlob(cacheBlob.get(), atlasGlyphCache,
+ cache->remove(cacheBlob.get());
+ cacheBlob = cache->makeCachedBlob(blob, key, blurRec, skPaint);
+ this->regenerateTextBlob(cacheBlob.get(), context->getAtlasGlyphCache(),
*context->caps()->shaderCaps(), paint, scalerContextFlags,
viewMatrix, props, blob, x, y, drawFilter);
} else {
- textBlobCache->makeMRU(cacheBlob.get());
+ cache->makeMRU(cacheBlob.get());
if (CACHE_SANITY_CHECK) {
int glyphCount = 0;
int runCount = 0;
GrTextBlobCache::BlobGlyphCount(&glyphCount, &runCount, blob);
- sk_sp<GrAtlasTextBlob> sanityBlob(textBlobCache->makeBlob(glyphCount, runCount));
+ sk_sp<GrAtlasTextBlob> sanityBlob(cache->makeBlob(glyphCount, runCount));
sanityBlob->setupKey(key, blurRec, skPaint);
- this->regenerateTextBlob(sanityBlob.get(), atlasGlyphCache,
+ this->regenerateTextBlob(sanityBlob.get(), context->getAtlasGlyphCache(),
*context->caps()->shaderCaps(), paint, scalerContextFlags,
viewMatrix, props, blob, x, y, drawFilter);
GrAtlasTextBlob::AssertEqual(*sanityBlob, *cacheBlob);
@@ -175,16 +172,16 @@
}
} else {
if (canCache) {
- cacheBlob = textBlobCache->makeCachedBlob(blob, key, blurRec, skPaint);
+ cacheBlob = cache->makeCachedBlob(blob, key, blurRec, skPaint);
} else {
- cacheBlob = textBlobCache->makeBlob(blob);
+ cacheBlob = cache->makeBlob(blob);
}
- this->regenerateTextBlob(cacheBlob.get(), atlasGlyphCache,
+ this->regenerateTextBlob(cacheBlob.get(), context->getAtlasGlyphCache(),
*context->caps()->shaderCaps(), paint, scalerContextFlags,
viewMatrix, props, blob, x, y, drawFilter);
}
- cacheBlob->flushCached(atlasGlyphCache, target, blob, props, fDistanceAdjustTable.get(), paint,
+ cacheBlob->flushCached(context, target, blob, props, fDistanceAdjustTable.get(), paint,
drawFilter, clip, viewMatrix, clipBounds, x, y);
}
@@ -321,27 +318,23 @@
if (context->abandoned()) {
return;
}
-
- auto atlasGlyphCache = context->contextPriv().getAtlasGlyphCache();
- auto textBlobCache = context->contextPriv().getTextBlobCache();
-
GrTextUtils::Paint paint(&skPaint, &target->colorSpaceInfo());
- if (this->canDraw(atlasGlyphCache, skPaint, viewMatrix, props,
+ if (this->canDraw(context->getAtlasGlyphCache(), skPaint, viewMatrix, props,
*context->caps()->shaderCaps())) {
sk_sp<GrAtlasTextBlob> blob(
- this->makeDrawTextBlob(textBlobCache, atlasGlyphCache,
+ this->makeDrawTextBlob(context->getTextBlobCache(), context->getAtlasGlyphCache(),
*context->caps()->shaderCaps(), paint,
ComputeScalerContextFlags(target->colorSpaceInfo()),
viewMatrix, props, text, byteLength, x, y));
if (blob) {
- blob->flushThrowaway(atlasGlyphCache, target, props, fDistanceAdjustTable.get(), paint,
- clip, viewMatrix, regionClipBounds, x, y);
+ blob->flushThrowaway(context, target, props, fDistanceAdjustTable.get(), paint, clip,
+ viewMatrix, regionClipBounds, x, y);
}
return;
}
// fall back to drawing as a path or scaled glyph
- GrTextUtils::DrawBigText(target, clip, paint, viewMatrix, text, byteLength, x, y,
+ GrTextUtils::DrawBigText(context, target, clip, paint, viewMatrix, text, byteLength, x, y,
regionClipBounds);
}
@@ -354,27 +347,22 @@
GrTextUtils::Paint paint(&skPaint, &target->colorSpaceInfo());
if (context->abandoned()) {
return;
- }
-
- auto atlasGlyphCache = context->contextPriv().getAtlasGlyphCache();
- auto textBlobCache = context->contextPriv().getTextBlobCache();
-
- if (this->canDraw(atlasGlyphCache, skPaint, viewMatrix, props,
- *context->caps()->shaderCaps())) {
+ } else if (this->canDraw(context->getAtlasGlyphCache(), skPaint, viewMatrix, props,
+ *context->caps()->shaderCaps())) {
sk_sp<GrAtlasTextBlob> blob(this->makeDrawPosTextBlob(
- textBlobCache, atlasGlyphCache,
+ context->getTextBlobCache(), context->getAtlasGlyphCache(),
*context->caps()->shaderCaps(), paint,
ComputeScalerContextFlags(target->colorSpaceInfo()), viewMatrix, props, text,
byteLength, pos, scalarsPerPosition, offset));
if (blob) {
- blob->flushThrowaway(atlasGlyphCache, target, props, fDistanceAdjustTable.get(), paint,
- clip, viewMatrix, regionClipBounds, offset.fX, offset.fY);
+ blob->flushThrowaway(context, target, props, fDistanceAdjustTable.get(), paint, clip,
+ viewMatrix, regionClipBounds, offset.fX, offset.fY);
}
return;
}
// fall back to drawing as a path or scaled glyph
- GrTextUtils::DrawBigPosText(target, props, clip, paint, viewMatrix, text,
+ GrTextUtils::DrawBigPosText(context, target, props, clip, paint, viewMatrix, text,
byteLength, pos, scalarsPerPosition, offset, regionClipBounds);
}
@@ -848,18 +836,16 @@
SkScalar x = SkIntToScalar(xInt);
SkScalar y = SkIntToScalar(yInt);
- auto atlasGlyphCache = context->contextPriv().getAtlasGlyphCache();
-
// right now we don't handle textblobs, nor do we handle drawPosText. Since we only intend to
// test the text op with this unit test, that is okay.
sk_sp<GrAtlasTextBlob> blob(gTextContext->makeDrawTextBlob(
- context->contextPriv().getTextBlobCache(), atlasGlyphCache,
+ context->getTextBlobCache(), context->getAtlasGlyphCache(),
*context->caps()->shaderCaps(), utilsPaint,
GrAtlasTextContext::kTextBlobOpScalerContextFlags, viewMatrix, gSurfaceProps, text,
static_cast<size_t>(textLen), x, y));
return blob->test_makeOp(textLen, 0, 0, viewMatrix, x, y, utilsPaint, gSurfaceProps,
- gTextContext->dfAdjustTable(), atlasGlyphCache,
+ gTextContext->dfAdjustTable(), context->getAtlasGlyphCache(),
rtc->textTarget());
}
diff --git a/src/gpu/text/GrTextUtils.cpp b/src/gpu/text/GrTextUtils.cpp
index d4a80e0..20a3a5c 100644
--- a/src/gpu/text/GrTextUtils.cpp
+++ b/src/gpu/text/GrTextUtils.cpp
@@ -78,7 +78,7 @@
paint.isFakeBoldText() || paint.getStyle() != SkPaint::kFill_Style;
}
-void GrTextUtils::DrawBigText(GrTextUtils::Target* target,
+void GrTextUtils::DrawBigText(GrContext* context, GrTextUtils::Target* target,
const GrClip& clip, const SkPaint& paint,
const SkMatrix& viewMatrix, const char text[], size_t byteLength,
SkScalar x, SkScalar y, const SkIRect& clipBounds) {
@@ -104,7 +104,7 @@
}
}
-void GrTextUtils::DrawBigPosText(GrTextUtils::Target* target,
+void GrTextUtils::DrawBigPosText(GrContext* context, GrTextUtils::Target* target,
const SkSurfaceProps& props, const GrClip& clip,
const SkPaint& origPaint, const SkMatrix& viewMatrix,
const char text[], size_t byteLength, const SkScalar pos[],
diff --git a/src/gpu/text/GrTextUtils.h b/src/gpu/text/GrTextUtils.h
index 252cd7c..3b1968d 100644
--- a/src/gpu/text/GrTextUtils.h
+++ b/src/gpu/text/GrTextUtils.h
@@ -129,17 +129,17 @@
static bool ShouldDisableLCD(const SkPaint& paint);
// Functions for drawing large text either as paths or (for color emoji) as scaled glyphs
- static void DrawBigText(GrTextUtils::Target*, const GrClip& clip,
- const SkPaint& paint, const SkMatrix& viewMatrix, const char text[],
- size_t byteLength, SkScalar x, SkScalar y,
- const SkIRect& clipBounds);
-
- static void DrawBigPosText(GrTextUtils::Target*,
- const SkSurfaceProps& props, const GrClip& clip,
- const SkPaint& paint, const SkMatrix& viewMatrix,
- const char text[], size_t byteLength, const SkScalar pos[],
- int scalarsPerPosition, const SkPoint& offset,
+ static void DrawBigText(GrContext*, GrTextUtils::Target*, const GrClip& clip,
+ const SkPaint& paint, const SkMatrix& viewMatrix, const char text[],
+ size_t byteLength, SkScalar x, SkScalar y,
const SkIRect& clipBounds);
+
+ static void DrawBigPosText(GrContext* context, GrTextUtils::Target*,
+ const SkSurfaceProps& props, const GrClip& clip,
+ const SkPaint& paint, const SkMatrix& viewMatrix,
+ const char text[], size_t byteLength, const SkScalar pos[],
+ int scalarsPerPosition, const SkPoint& offset,
+ const SkIRect& clipBounds);
};
#endif
diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp
index 304a4cd..d078de1 100644
--- a/src/image/SkImage_Gpu.cpp
+++ b/src/image/SkImage_Gpu.cpp
@@ -590,8 +590,7 @@
// Flush any writes or uploads
context->contextPriv().prepareSurfaceForExternalIO(proxy.get());
- GrGpu* gpu = context->contextPriv().getGpu();
- sk_sp<GrSemaphore> sema = gpu->prepareTextureForCrossContextUsage(texture.get());
+ sk_sp<GrSemaphore> sema = context->getGpu()->prepareTextureForCrossContextUsage(texture.get());
auto gen = GrBackendTextureImageGenerator::Make(std::move(texture), proxy->origin(),
std::move(sema), codecImage->alphaType(),
@@ -626,9 +625,8 @@
// Flush any writes or uploads
context->contextPriv().prepareSurfaceForExternalIO(proxy.get());
- GrGpu* gpu = context->contextPriv().getGpu();
- sk_sp<GrSemaphore> sema = gpu->prepareTextureForCrossContextUsage(texture.get());
+ sk_sp<GrSemaphore> sema = context->getGpu()->prepareTextureForCrossContextUsage(texture.get());
auto gen = GrBackendTextureImageGenerator::Make(std::move(texture), proxy->origin(),
std::move(sema), pixmap.alphaType(),