Remove GrSurface-based surfaceContext factories from GrContextPriv
This relies on both: https://skia-review.googlesource.com/c/13001/ (Rm makeRenderTargetContext in favor of deferred version) https://skia-review.googlesource.com/c/11125/ (Remove discard from GrRenderTarget & force it to always go through a RenderTargetContext) Change-Id: Ia06469a6fa0048e162fb769ed4a11e4773cfacca Reviewed-on: https://skia-review.googlesource.com/13130 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
This commit is contained in:
parent
eb0e60f1ec
commit
fe50d9696a
@ -10,7 +10,6 @@
|
||||
|
||||
#include "GrCaps.h"
|
||||
#include "GrColor.h"
|
||||
#include "GrRenderTarget.h"
|
||||
#include "SkMatrix.h"
|
||||
#include "SkPathEffect.h"
|
||||
#include "SkTypes.h"
|
||||
|
@ -613,22 +613,6 @@ int GrContext::getRecommendedSampleCount(GrPixelConfig config,
|
||||
return chosenSampleCount <= fGpu->caps()->maxSampleCount() ? chosenSampleCount : 0;
|
||||
}
|
||||
|
||||
sk_sp<GrRenderTargetContext> GrContextPriv::makeWrappedRenderTargetContext(
|
||||
sk_sp<GrRenderTarget> rt,
|
||||
sk_sp<SkColorSpace> colorSpace,
|
||||
const SkSurfaceProps* surfaceProps) {
|
||||
ASSERT_SINGLE_OWNER_PRIV
|
||||
|
||||
sk_sp<GrSurfaceProxy> proxy(GrSurfaceProxy::MakeWrapped(std::move(rt)));
|
||||
if (!proxy) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return this->drawingManager()->makeRenderTargetContext(std::move(proxy),
|
||||
std::move(colorSpace),
|
||||
surfaceProps);
|
||||
}
|
||||
|
||||
sk_sp<GrSurfaceContext> GrContextPriv::makeWrappedSurfaceContext(sk_sp<GrSurfaceProxy> proxy,
|
||||
sk_sp<SkColorSpace> colorSpace) {
|
||||
ASSERT_SINGLE_OWNER_PRIV
|
||||
@ -642,17 +626,6 @@ sk_sp<GrSurfaceContext> GrContextPriv::makeWrappedSurfaceContext(sk_sp<GrSurface
|
||||
}
|
||||
}
|
||||
|
||||
sk_sp<GrSurfaceContext> GrContextPriv::makeWrappedSurfaceContext(sk_sp<GrSurface> surface) {
|
||||
ASSERT_SINGLE_OWNER_PRIV
|
||||
|
||||
sk_sp<GrSurfaceProxy> proxy(GrSurfaceProxy::MakeWrapped(std::move(surface)));
|
||||
if (!proxy) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return this->makeWrappedSurfaceContext(std::move(proxy), nullptr);
|
||||
}
|
||||
|
||||
sk_sp<GrSurfaceContext> GrContextPriv::makeDeferredSurfaceContext(const GrSurfaceDesc& dstDesc,
|
||||
SkBackingFit fit,
|
||||
SkBudgeted isDstBudgeted) {
|
||||
@ -827,7 +800,6 @@ sk_sp<GrRenderTargetContext> GrContext::makeDeferredRenderTargetContext(
|
||||
fDrawingManager->makeRenderTargetContext(std::move(rtp),
|
||||
std::move(colorSpace),
|
||||
surfaceProps));
|
||||
|
||||
if (!renderTargetContext) {
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -23,14 +23,6 @@ class GrContextPriv {
|
||||
public:
|
||||
GrDrawingManager* drawingManager() { return fContext->fDrawingManager.get(); }
|
||||
|
||||
// Create a renderTargetContext that wraps an existing renderTarget
|
||||
sk_sp<GrRenderTargetContext> makeWrappedRenderTargetContext(sk_sp<GrRenderTarget>,
|
||||
sk_sp<SkColorSpace>,
|
||||
const SkSurfaceProps* = nullptr);
|
||||
|
||||
// Create a surfaceContext that wraps an existing texture or renderTarget
|
||||
sk_sp<GrSurfaceContext> makeWrappedSurfaceContext(sk_sp<GrSurface>);
|
||||
|
||||
sk_sp<GrSurfaceContext> makeWrappedSurfaceContext(sk_sp<GrSurfaceProxy>, sk_sp<SkColorSpace>);
|
||||
|
||||
sk_sp<GrSurfaceContext> makeDeferredSurfaceContext(const GrSurfaceDesc&,
|
||||
|
@ -161,11 +161,14 @@ sk_sp<GrTextureProxy> GrResourceProvider::createTextureProxy(const GrSurfaceDesc
|
||||
|
||||
if (make_info(desc.fWidth, desc.fHeight, desc.fConfig, &srcInfo)) {
|
||||
sk_sp<GrTexture> tex = this->getExactScratch(desc, budgeted, 0);
|
||||
sk_sp<GrSurfaceContext> sContext =
|
||||
context->contextPriv().makeWrappedSurfaceContext(std::move(tex));
|
||||
if (sContext) {
|
||||
if (sContext->writePixels(srcInfo, mipLevel.fPixels, mipLevel.fRowBytes, 0, 0)) {
|
||||
return sContext->asTextureProxyRef();
|
||||
sk_sp<GrTextureProxy> proxy = GrSurfaceProxy::MakeWrapped(std::move(tex));
|
||||
if (proxy) {
|
||||
sk_sp<GrSurfaceContext> sContext =
|
||||
context->contextPriv().makeWrappedSurfaceContext(std::move(proxy), nullptr);
|
||||
if (sContext) {
|
||||
if (sContext->writePixels(srcInfo, mipLevel.fPixels, mipLevel.fRowBytes, 0, 0)) {
|
||||
return sContext->asTextureProxyRef();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user