diff options
author | Robert Phillips <robertphillips@google.com> | 2017-05-12 14:49:16 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-05-12 19:20:22 +0000 |
commit | 8a02f65c5cc16d010f188c34861b03d96cb8ec10 (patch) | |
tree | e90adb6d5167987d1b93fb3c0ba2511ff435bdc0 /tests | |
parent | 177266339c3aa6dda4fa2912af9eaa8e8206f78f (diff) |
Switch ImageStorageAccess over to GrTextureProxies
Split out of: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler))
Change-Id: I341de6ae121620d30e50bff21450878a18bdf4f2
Reviewed-on: https://skia-review.googlesource.com/16714
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ImageStorageTest.cpp | 16 | ||||
-rw-r--r-- | tests/ProcessorTest.cpp | 45 |
2 files changed, 30 insertions, 31 deletions
diff --git a/tests/ImageStorageTest.cpp b/tests/ImageStorageTest.cpp index dc4d21294d..aa81118b69 100644 --- a/tests/ImageStorageTest.cpp +++ b/tests/ImageStorageTest.cpp @@ -24,23 +24,19 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ImageStorageLoad, reporter, ctxInfo) { sk_sp<GrTextureProxy> proxy, GrSLMemoryModel mm, GrSLRestrict restrict) { - // MDB TODO: remove this once ImageStorageAccess is converted to GrTextureProxy - sk_sp<GrTexture> tex(sk_ref_sp(proxy->instantiate(resourceProvider))); - if (!tex) { - return nullptr; - } - - return sk_sp<GrFragmentProcessor>(new TestFP(std::move(tex), mm, restrict)); + return sk_sp<GrFragmentProcessor>(new TestFP(resourceProvider, + std::move(proxy), mm, restrict)); } const char* name() const override { return "Image Load Test FP"; } private: - TestFP(sk_sp<GrTexture> texture, GrSLMemoryModel mm, GrSLRestrict restrict) + TestFP(GrResourceProvider* resourceProvider, + sk_sp<GrTextureProxy> proxy, GrSLMemoryModel mm, GrSLRestrict restrict) : INHERITED(kNone_OptimizationFlags) - , fImageStorageAccess(std::move(texture), kRead_GrIOType, mm, restrict) { + , fImageStorageAccess(std::move(proxy), kRead_GrIOType, mm, restrict) { this->initClassID<TestFP>(); - this->addImageStorageAccess(&fImageStorageAccess); + this->addImageStorageAccess(resourceProvider, &fImageStorageAccess); } void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override {} diff --git a/tests/ProcessorTest.cpp b/tests/ProcessorTest.cpp index ee89ff3739..51696152c2 100644 --- a/tests/ProcessorTest.cpp +++ b/tests/ProcessorTest.cpp @@ -47,8 +47,8 @@ private: class TestFP : public GrFragmentProcessor { public: struct Image { - Image(sk_sp<GrTexture> texture, GrIOType ioType) : fTexture(texture), fIOType(ioType) {} - sk_sp<GrTexture> fTexture; + Image(sk_sp<GrTextureProxy> proxy, GrIOType ioType) : fProxy(proxy), fIOType(ioType) {} + sk_sp<GrTextureProxy> fProxy; GrIOType fIOType; }; static sk_sp<GrFragmentProcessor> Make(sk_sp<GrFragmentProcessor> child) { @@ -82,8 +82,9 @@ private: this->addBufferAccess(&fBuffers.emplace_back(kRGBA_8888_GrPixelConfig, buffer.get())); } for (const Image& image : images) { - this->addImageStorageAccess(&fImages.emplace_back( - image.fTexture, image.fIOType, GrSLMemoryModel::kNone, GrSLRestrict::kNo)); + fImages.emplace_back(image.fProxy, image.fIOType, + GrSLMemoryModel::kNone, GrSLRestrict::kNo); + this->addImageStorageAccess(context->resourceProvider(), &fImages.back()); } } @@ -143,15 +144,17 @@ DEF_GPUTEST_FOR_ALL_CONTEXTS(ProcessorRefTest, reporter, ctxInfo) { bool texelBufferSupport = context->caps()->shaderCaps()->texelBufferSupport(); bool imageLoadStoreSupport = context->caps()->shaderCaps()->imageLoadStoreSupport(); sk_sp<GrTextureProxy> proxy1(GrSurfaceProxy::MakeDeferred(context->resourceProvider(), - desc, - SkBackingFit::kExact, + desc, SkBackingFit::kExact, + SkBudgeted::kYes)); + sk_sp<GrTextureProxy> proxy2(GrSurfaceProxy::MakeDeferred(context->resourceProvider(), + desc, SkBackingFit::kExact, + SkBudgeted::kYes)); + sk_sp<GrTextureProxy> proxy3(GrSurfaceProxy::MakeDeferred(context->resourceProvider(), + desc, SkBackingFit::kExact, + SkBudgeted::kYes)); + sk_sp<GrTextureProxy> proxy4(GrSurfaceProxy::MakeDeferred(context->resourceProvider(), + desc, SkBackingFit::kExact, SkBudgeted::kYes)); - sk_sp<GrTexture> texture2 = - context->resourceProvider()->createTexture(desc, SkBudgeted::kYes); - sk_sp<GrTexture> texture3 = - context->resourceProvider()->createTexture(desc, SkBudgeted::kYes); - sk_sp<GrTexture> texture4 = - context->resourceProvider()->createTexture(desc, SkBudgeted::kYes); sk_sp<GrBuffer> buffer(texelBufferSupport ? context->resourceProvider()->createBuffer( 1024, GrBufferType::kTexel_GrBufferType, @@ -166,9 +169,9 @@ DEF_GPUTEST_FOR_ALL_CONTEXTS(ProcessorRefTest, reporter, ctxInfo) { buffers.push_back(buffer); } if (imageLoadStoreSupport) { - images.emplace_back(texture2, GrIOType::kRead_GrIOType); - images.emplace_back(texture3, GrIOType::kWrite_GrIOType); - images.emplace_back(texture4, GrIOType::kRW_GrIOType); + images.emplace_back(proxy2, GrIOType::kRead_GrIOType); + images.emplace_back(proxy3, GrIOType::kWrite_GrIOType); + images.emplace_back(proxy4, GrIOType::kRW_GrIOType); } std::unique_ptr<GrLegacyMeshDrawOp> op(TestOp::Make()); GrPaint paint; @@ -196,17 +199,17 @@ DEF_GPUTEST_FOR_ALL_CONTEXTS(ProcessorRefTest, reporter, ctxInfo) { } if (imageLoadStoreSupport) { - testingOnly_getIORefCnts(texture2.get(), &refCnt, &readCnt, &writeCnt); + testingOnly_getIORefCnts(proxy2.get(), &refCnt, &readCnt, &writeCnt); REPORTER_ASSERT(reporter, 1 == refCnt); REPORTER_ASSERT(reporter, 1 == readCnt); REPORTER_ASSERT(reporter, 0 == writeCnt); - testingOnly_getIORefCnts(texture3.get(), &refCnt, &readCnt, &writeCnt); + testingOnly_getIORefCnts(proxy3.get(), &refCnt, &readCnt, &writeCnt); REPORTER_ASSERT(reporter, 1 == refCnt); REPORTER_ASSERT(reporter, 0 == readCnt); REPORTER_ASSERT(reporter, 1 == writeCnt); - testingOnly_getIORefCnts(texture4.get(), &refCnt, &readCnt, &writeCnt); + testingOnly_getIORefCnts(proxy4.get(), &refCnt, &readCnt, &writeCnt); REPORTER_ASSERT(reporter, 1 == refCnt); REPORTER_ASSERT(reporter, 1 == readCnt); REPORTER_ASSERT(reporter, 1 == writeCnt); @@ -227,17 +230,17 @@ DEF_GPUTEST_FOR_ALL_CONTEXTS(ProcessorRefTest, reporter, ctxInfo) { } if (texelBufferSupport) { - testingOnly_getIORefCnts(texture2.get(), &refCnt, &readCnt, &writeCnt); + testingOnly_getIORefCnts(proxy2.get(), &refCnt, &readCnt, &writeCnt); REPORTER_ASSERT(reporter, 1 == refCnt); REPORTER_ASSERT(reporter, 0 == readCnt); REPORTER_ASSERT(reporter, 0 == writeCnt); - testingOnly_getIORefCnts(texture3.get(), &refCnt, &readCnt, &writeCnt); + testingOnly_getIORefCnts(proxy3.get(), &refCnt, &readCnt, &writeCnt); REPORTER_ASSERT(reporter, 1 == refCnt); REPORTER_ASSERT(reporter, 0 == readCnt); REPORTER_ASSERT(reporter, 0 == writeCnt); - testingOnly_getIORefCnts(texture4.get(), &refCnt, &readCnt, &writeCnt); + testingOnly_getIORefCnts(proxy4.get(), &refCnt, &readCnt, &writeCnt); REPORTER_ASSERT(reporter, 1 == refCnt); REPORTER_ASSERT(reporter, 0 == readCnt); REPORTER_ASSERT(reporter, 0 == writeCnt); |