aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image
diff options
context:
space:
mode:
authorGravatar Justin Novosad <junov@chromium.org>2018-07-17 16:53:43 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-17 21:32:41 +0000
commit21a99d42c34f44dac4a71cace9572dc244cad583 (patch)
treec3cf459555154bf786087c94d66e2a8a83e39aed /src/image
parent4a341975ed8bd6b826a2a4d58b5085e8ef74f69b (diff)
Fix validity check in SkSurface::MakeFromBackendTextureAsRenderTarget
Swaped the order of validate_backend_texture() and SkSurface_Gpu::Valid() so that the pixel config computed by validate_backend_texture() get used by SkSurface_Gpu::Valid(). This makes the behavior of this method consistent with the behavior of sister method MakeFromBackendTexture() BUG=788439 Change-Id: I132ea8da23430ea99bbeabce79b08edb6b4cae03 Reviewed-on: https://skia-review.googlesource.com/141837 Commit-Queue: Justin Novosad <junov@chromium.org> Reviewed-by: Justin Novosad <junov@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Auto-Submit: Justin Novosad <junov@chromium.org>
Diffstat (limited to 'src/image')
-rw-r--r--src/image/SkSurface_Gpu.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/image/SkSurface_Gpu.cpp b/src/image/SkSurface_Gpu.cpp
index 2e55ffd336..57894c2b9b 100644
--- a/src/image/SkSurface_Gpu.cpp
+++ b/src/image/SkSurface_Gpu.cpp
@@ -536,10 +536,7 @@ sk_sp<SkSurface> SkSurface::MakeFromBackendTextureAsRenderTarget(GrContext* cont
if (!context) {
return nullptr;
}
- if (!tex.isValid() ||
- !SkSurface_Gpu::Valid(context->contextPriv().caps(), tex.config(), colorSpace.get())) {
- return nullptr;
- }
+
sampleCnt = SkTMax(1, sampleCnt);
GrBackendTexture texCopy = tex;
if (!validate_backend_texture(context, texCopy, &texCopy.fConfig,
@@ -547,6 +544,10 @@ sk_sp<SkSurface> SkSurface::MakeFromBackendTextureAsRenderTarget(GrContext* cont
return nullptr;
}
+ if (!SkSurface_Gpu::Valid(context->contextPriv().caps(), texCopy.config(), colorSpace.get())) {
+ return nullptr;
+ }
+
sk_sp<GrRenderTargetContext> rtc(
context->contextPriv().makeBackendTextureAsRenderTargetRenderTargetContext(
texCopy,