implemented getting format from texture as virtual in gpu caps
Bug: skia:
Change-Id: If6bbbd212ff472ea322d2bbed61995fe7ba85df7
Reviewed-on: https://skia-review.googlesource.com/138240
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/tools/DDLPromiseImageHelper.cpp b/tools/DDLPromiseImageHelper.cpp
index 586c233..cc543f9 100644
--- a/tools/DDLPromiseImageHelper.cpp
+++ b/tools/DDLPromiseImageHelper.cpp
@@ -20,6 +20,10 @@
}
}
+const GrCaps* DDLPromiseImageHelper::PromiseImageCallbackContext::caps() const {
+ return fContext->contextPriv().caps();
+}
+
///////////////////////////////////////////////////////////////////////////////////////////////////
sk_sp<SkData> DDLPromiseImageHelper::deflateSKP(const SkPicture* inputPicture) {
@@ -104,7 +108,9 @@
}
SkASSERT(curImage.fIndex == *indexPtr);
- GrBackendFormat backendFormat = curImage.fCallbackContext->backendTexture().format();
+ const GrCaps* caps = curImage.fCallbackContext->caps();
+ const GrBackendTexture& backendTex = curImage.fCallbackContext->backendTexture();
+ GrBackendFormat backendFormat = caps->createFormatFromBackendTexture(backendTex);
// Each DDL recorder gets its own ref on the promise callback context for the
// promise images it creates.