Switch GrYUVProvider over to GrTextureProxies
This is split out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors)
Change-Id: I302e6b4c1ffed449a990288ec06f2dfdcdadf1f8
Reviewed-on: https://skia-review.googlesource.com/9448
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp
index a131de1..d76276b 100644
--- a/src/image/SkImage.cpp
+++ b/src/image/SkImage.cpp
@@ -21,6 +21,7 @@
#include "SkPicture.h"
#include "SkPixelRef.h"
#include "SkPixelSerializer.h"
+#include "SkRGBAToYUV.h"
#include "SkReadPixelsRec.h"
#include "SkSpecialImage.h"
#include "SkStream.h"
@@ -211,28 +212,20 @@
}
}
+bool SkImage_Base::onReadYUV8Planes(const SkISize sizes[3], void* const planes[3],
+ const size_t rowBytes[3], SkYUVColorSpace colorSpace) const {
+ return SkRGBAToYUV(this, sizes, planes, rowBytes, colorSpace);
+}
+
///////////////////////////////////////////////////////////////////////////////////////////////////
bool SkImage::readPixels(const SkPixmap& pmap, int srcX, int srcY, CachingHint chint) const {
return this->readPixels(pmap.info(), pmap.writable_addr(), pmap.rowBytes(), srcX, srcY, chint);
}
-#if SK_SUPPORT_GPU
-#include "GrTextureToYUVPlanes.h"
-#endif
-
-#include "SkRGBAToYUV.h"
-
bool SkImage::readYUV8Planes(const SkISize sizes[3], void* const planes[3],
const size_t rowBytes[3], SkYUVColorSpace colorSpace) const {
-#if SK_SUPPORT_GPU
- if (GrTexture* texture = as_IB(this)->peekTexture()) {
- if (GrTextureToYUVPlanes(texture, sizes, planes, rowBytes, colorSpace)) {
- return true;
- }
- }
-#endif
- return SkRGBAToYUV(this, sizes, planes, rowBytes, colorSpace);
+ return as_IB(this)->onReadYUV8Planes(sizes, planes, rowBytes, colorSpace);
}
///////////////////////////////////////////////////////////////////////////////////////////////////