diff options
-rw-r--r-- | libs/hwui/Extensions.cpp | 6 | ||||
-rw-r--r-- | libs/hwui/pipeline/skia/SkiaOpenGLReadback.cpp | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/libs/hwui/Extensions.cpp b/libs/hwui/Extensions.cpp index 1e71cb081b39..6b8006cc5a33 100644 --- a/libs/hwui/Extensions.cpp +++ b/libs/hwui/Extensions.cpp @@ -31,6 +31,12 @@ namespace android { namespace uirenderer { Extensions::Extensions() { + if (Properties::getRenderPipelineType() != RenderPipelineType::OpenGL) { + //Extensions class is used only by OpenGL pipeline + //The code below will crash for SkiaVulkan, because OpenGL is not initialized + //TODO: instantiate Extensions class only for OpenGL pipeline + return; + } const char* version = (const char*) glGetString(GL_VERSION); // Section 6.1.5 of the OpenGL ES specification indicates the GL version diff --git a/libs/hwui/pipeline/skia/SkiaOpenGLReadback.cpp b/libs/hwui/pipeline/skia/SkiaOpenGLReadback.cpp index 9982a0cfe2bf..75967e9f6503 100644 --- a/libs/hwui/pipeline/skia/SkiaOpenGLReadback.cpp +++ b/libs/hwui/pipeline/skia/SkiaOpenGLReadback.cpp @@ -73,7 +73,7 @@ CopyResult SkiaOpenGLReadback::copyImageInto(EGLImageKHR eglImage, const Matrix4 * for reading back float buffers (skbug.com/6945). */ if (pixelConfig == kRGBA_half_GrPixelConfig && - !DeviceInfo::get()->extensions().hasFloatTextures()) { + !grContext->caps()->isConfigTexturable(kRGBA_half_GrPixelConfig)) { ALOGW("Can't copy surface into bitmap, RGBA_F16 config is not supported"); return CopyResult::DestinationInvalid; } |