diff options
author | 2017-04-05 12:18:58 -0400 | |
---|---|---|
committer | 2017-04-05 17:00:10 +0000 | |
commit | aaee31f18c0845417103d84285e365575def3c40 (patch) | |
tree | 9d0cea264cacdf51f64919ffc8f2b2d5dc83e961 /tests/GLProgramsTest.cpp | |
parent | babb101291784b844a99b20b5164b271758f6d33 (diff) |
Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 2)
This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling.
This is a reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv)
Change-Id: Icd0a90d2beb483dc24ed87c3bace9c817019e148
Reviewed-on: https://skia-review.googlesource.com/11326
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'tests/GLProgramsTest.cpp')
-rw-r--r-- | tests/GLProgramsTest.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp index 489aec1391..5400d92bc6 100644 --- a/tests/GLProgramsTest.cpp +++ b/tests/GLProgramsTest.cpp @@ -285,28 +285,30 @@ bool GrDrawingManager::ProgramUnitTest(GrContext*, int) { return true; } bool GrDrawingManager::ProgramUnitTest(GrContext* context, int maxStages) { GrDrawingManager* drawingManager = context->contextPriv().drawingManager(); + sk_sp<GrTextureProxy> proxies[2]; + // setup dummy textures GrSurfaceDesc dummyDesc; dummyDesc.fFlags = kRenderTarget_GrSurfaceFlag; + dummyDesc.fOrigin = kBottomLeft_GrSurfaceOrigin; dummyDesc.fConfig = kRGBA_8888_GrPixelConfig; dummyDesc.fWidth = 34; dummyDesc.fHeight = 18; - sk_sp<GrTexture> dummyTexture1( - context->resourceProvider()->createTexture(dummyDesc, SkBudgeted::kNo, nullptr, 0)); + proxies[0] = GrSurfaceProxy::MakeDeferred(context->resourceProvider(), + dummyDesc, SkBudgeted::kNo, nullptr, 0); dummyDesc.fFlags = kNone_GrSurfaceFlags; + dummyDesc.fOrigin = kTopLeft_GrSurfaceOrigin; dummyDesc.fConfig = kAlpha_8_GrPixelConfig; dummyDesc.fWidth = 16; dummyDesc.fHeight = 22; - sk_sp<GrTexture> dummyTexture2( - context->resourceProvider()->createTexture(dummyDesc, SkBudgeted::kNo, nullptr, 0)); + proxies[1] = GrSurfaceProxy::MakeDeferred(context->resourceProvider(), + dummyDesc, SkBudgeted::kNo, nullptr, 0); - if (!dummyTexture1 || ! dummyTexture2) { + if (!proxies[0] || !proxies[1]) { SkDebugf("Could not allocate dummy textures"); return false; } - GrTexture* dummyTextures[] = {dummyTexture1.get(), dummyTexture2.get()}; - // dummy scissor state GrScissorState scissor; @@ -326,7 +328,7 @@ bool GrDrawingManager::ProgramUnitTest(GrContext* context, int maxStages) { std::unique_ptr<GrLegacyMeshDrawOp> op(GrRandomDrawOp(&random, context)); SkASSERT(op); - GrProcessorTestData ptd(&random, context, renderTargetContext.get(), dummyTextures); + GrProcessorTestData ptd(&random, context, renderTargetContext.get(), proxies); set_random_color_coverage_stages(&grPaint, &ptd, maxStages); set_random_xpf(&grPaint, &ptd); bool snapToCenters = set_random_state(&grPaint, &random); @@ -360,7 +362,7 @@ bool GrDrawingManager::ProgramUnitTest(GrContext* context, int maxStages) { for (int j = 0; j < 10; ++j) { std::unique_ptr<GrLegacyMeshDrawOp> op(GrRandomDrawOp(&random, context)); SkASSERT(op); - GrProcessorTestData ptd(&random, context, renderTargetContext.get(), dummyTextures); + GrProcessorTestData ptd(&random, context, renderTargetContext.get(), proxies); GrPaint grPaint; grPaint.setXPFactory(GrPorterDuffXPFactory::Get(SkBlendMode::kSrc)); |