aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2017-05-12 14:49:16 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-12 19:20:22 +0000
commit8a02f65c5cc16d010f188c34861b03d96cb8ec10 (patch)
treee90adb6d5167987d1b93fb3c0ba2511ff435bdc0 /tests
parent177266339c3aa6dda4fa2912af9eaa8e8206f78f (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.cpp16
-rw-r--r--tests/ProcessorTest.cpp45
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);