Remove Properties::isSkiaPipeline (3/!?)

Test: hwuiunit & CtsUiRenderingTestCases pass
Change-Id: Ie7b336eacdd1b8660e09653c64eb6ea0a7b4a258
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
index 7319354..381d07a 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
@@ -217,7 +217,6 @@
         "DeferredLayerUpdater.cpp",
         "DeviceInfo.cpp",
         "DisplayList.cpp",
-        "Extensions.cpp",
         "FboCache.cpp",
         "FontRenderer.cpp",
         "FrameBuilder.cpp",
diff --git a/libs/hwui/Extensions.cpp b/libs/hwui/Extensions.cpp
deleted file mode 100644
index 530e82e..0000000
--- a/libs/hwui/Extensions.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Extensions.h"
-
-#include "Debug.h"
-#include "Properties.h"
-#include "utils/StringUtils.h"
-
-#include <cutils/compiler.h>
-
-#include <GLES2/gl2.h>
-#include <GLES2/gl2ext.h>
-
-#include <utils/Log.h>
-
-namespace android {
-namespace uirenderer {
-
-Extensions::Extensions() {
-    if (Properties::isSkiaEnabled()) {
-        return;
-    }
-    const char* version = (const char*)glGetString(GL_VERSION);
-
-    // Section 6.1.5 of the OpenGL ES specification indicates the GL version
-    // string strictly follows this format:
-    //
-    // OpenGL<space>ES<space><version number><space><vendor-specific information>
-    //
-    // In addition section 6.1.5 describes the version number thusly:
-    //
-    // "The version number is either of the form major number.minor number or
-    // major number.minor number.release number, where the numbers all have one
-    // or more digits. The release number and vendor specific information are
-    // optional."
-
-    if (sscanf(version, "OpenGL ES %d.%d", &mVersionMajor, &mVersionMinor) != 2) {
-        // If we cannot parse the version number, assume OpenGL ES 2.0
-        mVersionMajor = 2;
-        mVersionMinor = 0;
-    }
-
-    auto extensions = StringUtils::split((const char*)glGetString(GL_EXTENSIONS));
-    mHasNPot = extensions.has("GL_OES_texture_npot");
-    mHasFramebufferFetch = extensions.has("GL_NV_shader_framebuffer_fetch");
-    mHasDiscardFramebuffer = extensions.has("GL_EXT_discard_framebuffer");
-    mHasDebugMarker = extensions.has("GL_EXT_debug_marker");
-    mHas1BitStencil = extensions.has("GL_OES_stencil1");
-    mHas4BitStencil = extensions.has("GL_OES_stencil4");
-    mHasUnpackSubImage = extensions.has("GL_EXT_unpack_subimage");
-    mHasRenderableFloatTexture = extensions.has("GL_OES_texture_half_float");
-
-    mHasSRGB = mVersionMajor >= 3 || extensions.has("GL_EXT_sRGB");
-    mHasSRGBWriteControl = extensions.has("GL_EXT_sRGB_write_control");
-
-#ifdef ANDROID_ENABLE_LINEAR_BLENDING
-    // If linear blending is enabled, the device must have (ES3.0 or EXT_sRGB)
-    // and EXT_sRGB_write_control
-    LOG_ALWAYS_FATAL_IF(!mHasSRGB, "Linear blending requires ES 3.0 or EXT_sRGB");
-    LOG_ALWAYS_FATAL_IF(!mHasSRGBWriteControl, "Linear blending requires EXT_sRGB_write_control");
-
-    mHasLinearBlending = true;
-#else
-    mHasLinearBlending = false;
-#endif
-}
-
-};  // namespace uirenderer
-};  // namespace android
diff --git a/libs/hwui/Extensions.h b/libs/hwui/Extensions.h
index 214ee0bbe..e90f40c1 100644
--- a/libs/hwui/Extensions.h
+++ b/libs/hwui/Extensions.h
@@ -26,43 +26,31 @@
 
 class Extensions {
 public:
-    Extensions();
+    Extensions() {}
 
-    inline bool hasNPot() const { return mHasNPot; }
-    inline bool hasFramebufferFetch() const { return mHasFramebufferFetch; }
-    inline bool hasDiscardFramebuffer() const { return mHasDiscardFramebuffer; }
-    inline bool hasDebugMarker() const { return mHasDebugMarker; }
-    inline bool has1BitStencil() const { return mHas1BitStencil; }
-    inline bool has4BitStencil() const { return mHas4BitStencil; }
-    inline bool hasUnpackRowLength() const { return mVersionMajor >= 3 || mHasUnpackSubImage; }
+    inline bool hasNPot() const { return false; }
+    inline bool hasFramebufferFetch() const { return false; }
+    inline bool hasDiscardFramebuffer() const { return false; }
+    inline bool hasDebugMarker() const { return false; }
+    inline bool has1BitStencil() const { return false; }
+    inline bool has4BitStencil() const { return false; }
+    inline bool hasUnpackRowLength() const { return mVersionMajor >= 3; }
     inline bool hasPixelBufferObjects() const { return mVersionMajor >= 3; }
     inline bool hasOcclusionQueries() const { return mVersionMajor >= 3; }
     inline bool hasFloatTextures() const { return mVersionMajor >= 3; }
     inline bool hasRenderableFloatTextures() const {
-        return (mVersionMajor >= 3 && mVersionMinor >= 2) || mHasRenderableFloatTexture;
+        return (mVersionMajor >= 3 && mVersionMinor >= 2);
     }
-    inline bool hasSRGB() const { return mHasSRGB; }
-    inline bool hasSRGBWriteControl() const { return hasSRGB() && mHasSRGBWriteControl; }
-    inline bool hasLinearBlending() const { return hasSRGB() && mHasLinearBlending; }
+    inline bool hasSRGB() const { return false; }
+    inline bool hasSRGBWriteControl() const { return hasSRGB() && false; }
+    inline bool hasLinearBlending() const { return hasSRGB() && false; }
 
     inline int getMajorGlVersion() const { return mVersionMajor; }
     inline int getMinorGlVersion() const { return mVersionMinor; }
 
 private:
-    bool mHasNPot;
-    bool mHasFramebufferFetch;
-    bool mHasDiscardFramebuffer;
-    bool mHasDebugMarker;
-    bool mHas1BitStencil;
-    bool mHas4BitStencil;
-    bool mHasUnpackSubImage;
-    bool mHasSRGB;
-    bool mHasSRGBWriteControl;
-    bool mHasLinearBlending;
-    bool mHasRenderableFloatTexture;
-
-    int mVersionMajor;
-    int mVersionMinor;
+    int mVersionMajor = 2;
+    int mVersionMinor = 0;
 };  // class Extensions
 
 };  // namespace uirenderer
diff --git a/libs/hwui/Properties.cpp b/libs/hwui/Properties.cpp
index 0d1257f..064763f 100644
--- a/libs/hwui/Properties.cpp
+++ b/libs/hwui/Properties.cpp
@@ -215,10 +215,5 @@
     sRenderPipelineType = type;
 }
 
-bool Properties::isSkiaEnabled() {
-    auto renderType = getRenderPipelineType();
-    return RenderPipelineType::SkiaGL == renderType || RenderPipelineType::SkiaVulkan == renderType;
-}
-
 };  // namespace uirenderer
 };  // namespace android
diff --git a/libs/hwui/Properties.h b/libs/hwui/Properties.h
index 03a3e36..5376bab 100644
--- a/libs/hwui/Properties.h
+++ b/libs/hwui/Properties.h
@@ -247,7 +247,6 @@
 
     static ProfileType getProfileType();
     ANDROID_API static RenderPipelineType getRenderPipelineType();
-    static bool isSkiaEnabled();
 
     ANDROID_API static bool enableHighContrastText;
 
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index 5ac330b..62b80c43 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -114,11 +114,7 @@
     LOG_ALWAYS_FATAL_IF(!info.damageAccumulator, "DamageAccumulator missing");
     MarkAndSweepRemoved observer(&info);
 
-    // The OpenGL renderer reserves the stencil buffer for overdraw debugging.  Functors
-    // will need to be drawn in a layer.
-    bool functorsNeedLayer = Properties::debugOverdraw && !Properties::isSkiaEnabled();
-
-    prepareTreeImpl(observer, info, functorsNeedLayer);
+    prepareTreeImpl(observer, info, false);
 }
 
 void RenderNode::addAnimator(const sp<BaseRenderNodeAnimator>& animator) {
diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp
index 40b811d..6bd12f4 100644
--- a/libs/hwui/SkiaCanvas.cpp
+++ b/libs/hwui/SkiaCanvas.cpp
@@ -62,13 +62,7 @@
     mCanvasOwned =
             std::unique_ptr<SkCanvas>(new SkCanvas(bitmap, SkCanvas::ColorBehavior::kLegacy));
     if (cs.get() == nullptr || cs->isSRGB()) {
-        if (!uirenderer::Properties::isSkiaEnabled()) {
-            mCanvasWrapper =
-                    SkCreateColorSpaceXformCanvas(mCanvasOwned.get(), SkColorSpace::MakeSRGB());
-            mCanvas = mCanvasWrapper.get();
-        } else {
-            mCanvas = mCanvasOwned.get();
-        }
+        mCanvas = mCanvasOwned.get();
     } else {
         /** The wrapper is needed if we are drawing into a non-sRGB destination, since
          *  we need to transform all colors (not just bitmaps via filters) into the
@@ -101,8 +95,6 @@
     std::unique_ptr<SkCanvas> newCanvasWrapper;
     if (cs.get() != nullptr && !cs->isSRGB()) {
         newCanvasWrapper = SkCreateColorSpaceXformCanvas(newCanvas.get(), std::move(cs));
-    } else if (!uirenderer::Properties::isSkiaEnabled()) {
-        newCanvasWrapper = SkCreateColorSpaceXformCanvas(newCanvas.get(), SkColorSpace::MakeSRGB());
     }
 
     // deletes the previously owned canvas (if any)
diff --git a/libs/hwui/hwui/Bitmap.cpp b/libs/hwui/hwui/Bitmap.cpp
index 795ec5b..beb4a9e1 100644
--- a/libs/hwui/hwui/Bitmap.cpp
+++ b/libs/hwui/hwui/Bitmap.cpp
@@ -205,10 +205,8 @@
     mPixelStorage.hardware.buffer = buffer;
     buffer->incStrong(buffer);
     setImmutable();  // HW bitmaps are always immutable
-    if (uirenderer::Properties::isSkiaEnabled()) {
-        mImage = SkImage::MakeFromAHardwareBuffer(reinterpret_cast<AHardwareBuffer*>(buffer),
-                                                  mInfo.alphaType(), mInfo.refColorSpace());
-    }
+    mImage = SkImage::MakeFromAHardwareBuffer(reinterpret_cast<AHardwareBuffer*>(buffer),
+            mInfo.alphaType(), mInfo.refColorSpace());
 }
 
 Bitmap::~Bitmap() {
@@ -288,13 +286,9 @@
 void Bitmap::getSkBitmap(SkBitmap* outBitmap) {
     outBitmap->setHasHardwareMipMap(mHasHardwareMipMap);
     if (isHardware()) {
-        if (uirenderer::Properties::isSkiaEnabled()) {
             outBitmap->allocPixels(SkImageInfo::Make(info().width(), info().height(),
                                                      info().colorType(), info().alphaType(),
                                                      nullptr));
-        } else {
-            outBitmap->allocPixels(info());
-        }
         uirenderer::renderthread::RenderProxy::copyGraphicBufferInto(graphicBuffer(), outBitmap);
         return;
     }
@@ -317,7 +311,7 @@
 sk_sp<SkImage> Bitmap::makeImage(sk_sp<SkColorFilter>* outputColorFilter) {
     sk_sp<SkImage> image = mImage;
     if (!image) {
-        SkASSERT(!(isHardware() && uirenderer::Properties::isSkiaEnabled()));
+        SkASSERT(!isHardware());
         SkBitmap skiaBitmap;
         skiaBitmap.setInfo(info(), rowBytes());
         skiaBitmap.setPixelRef(sk_ref_sp(this), 0, 0);
@@ -327,8 +321,7 @@
         // TODO: refactor Bitmap to not derive from SkPixelRef, which would allow caching here.
         image = SkMakeImageFromRasterBitmap(skiaBitmap, kNever_SkCopyPixelsMode);
     }
-    if (uirenderer::Properties::isSkiaEnabled() && image->colorSpace() != nullptr &&
-        !image->colorSpace()->isSRGB()) {
+    if (image->colorSpace() != nullptr && !image->colorSpace()->isSRGB()) {
         *outputColorFilter = SkToSRGBColorFilter::Make(image->refColorSpace());
     }
     return image;
diff --git a/libs/hwui/hwui/Canvas.cpp b/libs/hwui/hwui/Canvas.cpp
index 20543df..b453227 100644
--- a/libs/hwui/hwui/Canvas.cpp
+++ b/libs/hwui/hwui/Canvas.cpp
@@ -29,10 +29,7 @@
 namespace android {
 
 Canvas* Canvas::create_recording_canvas(int width, int height, uirenderer::RenderNode* renderNode) {
-    if (uirenderer::Properties::isSkiaEnabled()) {
-        return new uirenderer::skiapipeline::SkiaRecordingCanvas(renderNode, width, height);
-    }
-    return new uirenderer::RecordingCanvas(width, height);
+    return new uirenderer::skiapipeline::SkiaRecordingCanvas(renderNode, width, height);
 }
 
 static inline void drawStroke(SkScalar left, SkScalar right, SkScalar top, SkScalar thickness,
diff --git a/libs/hwui/renderthread/CacheManager.cpp b/libs/hwui/renderthread/CacheManager.cpp
index 3ca9295..0029841 100644
--- a/libs/hwui/renderthread/CacheManager.cpp
+++ b/libs/hwui/renderthread/CacheManager.cpp
@@ -50,9 +50,7 @@
     mVectorDrawableAtlas = new skiapipeline::VectorDrawableAtlas(
             mMaxSurfaceArea / 2,
             skiapipeline::VectorDrawableAtlas::StorageMode::disallowSharedSurface);
-    if (Properties::isSkiaEnabled()) {
-        skiapipeline::ShaderCache::get().initShaderDiskCache();
-    }
+    skiapipeline::ShaderCache::get().initShaderDiskCache();
 }
 
 void CacheManager::reset(sk_sp<GrContext> context) {
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp
index a1a2bad..653ea28 100644
--- a/libs/hwui/renderthread/RenderProxy.cpp
+++ b/libs/hwui/renderthread/RenderProxy.cpp
@@ -334,7 +334,7 @@
 
 int RenderProxy::copyGraphicBufferInto(GraphicBuffer* buffer, SkBitmap* bitmap) {
     RenderThread& thread = RenderThread::getInstance();
-    if (Properties::isSkiaEnabled() && gettid() == thread.getTid()) {
+    if (gettid() == thread.getTid()) {
         // TODO: fix everything that hits this. We should never be triggering a readback ourselves.
         return (int)thread.readback().copyGraphicBufferInto(buffer, bitmap);
     } else {