Update SkSurface_Gpu::Valid to take a backend format
This is pulled out of:
https://skia-review.googlesource.com/c/skia/+/222781 (Add bridge between GrContext::createBackendTexture and SkSurface::MakeFromBackendTexture)
Change-Id: I0c26bba2592a6e6fe759b49de83f994b05d862a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223698
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/gl/GrGLUtil.cpp b/src/gpu/gl/GrGLUtil.cpp
index b1f989c..3d5d171 100644
--- a/src/gpu/gl/GrGLUtil.cpp
+++ b/src/gpu/gl/GrGLUtil.cpp
@@ -646,3 +646,33 @@
SK_ABORT("Invalid GL format");
return 0;
}
+
+bool GrGLFormatIsSupported(GrGLenum format) {
+ switch (format) {
+ case GR_GL_LUMINANCE8:
+ case GR_GL_ALPHA8:
+ case GR_GL_R8:
+ case GR_GL_RGB565:
+ case GR_GL_RGBA4:
+ case GR_GL_RG8:
+ case GR_GL_R16F:
+ case GR_GL_R16:
+ case GR_GL_RGB8:
+ case GR_GL_RGBA8:
+ case GR_GL_SRGB8_ALPHA8:
+ case GR_GL_BGRA8:
+ case GR_GL_RGB10_A2:
+ case GR_GL_RG16:
+ case GR_GL_RGBA16F:
+ case GR_GL_RG32F:
+ case GR_GL_RGBA32F:
+ case GR_GL_COMPRESSED_RGB8_ETC2:
+ case GR_GL_COMPRESSED_ETC1_RGB8:
+ // Experimental (for Y416 and mutant P016/P010)
+ case GR_GL_RG16F:
+ case GR_GL_RGBA16:
+ return true;
+ default:
+ return false;
+ }
+}