Remove some uses of GrSurface::config()
Bug: skia:6718
Change-Id: I71ad95f910b6434e4d9a01c2750f1b2b08b2f6c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233567
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/GrProxyProvider.cpp b/src/gpu/GrProxyProvider.cpp
index 65d6ee2..1148e76 100644
--- a/src/gpu/GrProxyProvider.cpp
+++ b/src/gpu/GrProxyProvider.cpp
@@ -762,10 +762,15 @@
// This proxy should be unbudgeted because we're just wrapping an external resource
SkASSERT(GrBudgetedType::kBudgeted != rt->resourcePriv().budgetedType());
- GrColorType colorType = GrPixelConfigToColorType(rt->config());
+ GrColorType colorType = SkColorTypeToGrColorType(imageInfo.colorType());
GrSwizzle texSwizzle = this->caps()->getTextureSwizzle(rt->backendFormat(), colorType);
GrSwizzle outSwizzle = this->caps()->getOutputSwizzle(rt->backendFormat(), colorType);
+ if (!this->caps()->isFormatAsColorTypeRenderable(colorType, rt->backendFormat(),
+ rt->numSamples())) {
+ return nullptr;
+ }
+
// All Vulkan surfaces uses top left origins.
return sk_sp<GrRenderTargetProxy>(
new GrRenderTargetProxy(std::move(rt),