Revert "drm_hwcomposer: Cleanup gl precompositor init and provide uses_GL flag"

This reverts commit 3b0c69d3477d3601b1dbcb75fdd748254e297e7e.
diff --git a/drmdisplaycompositor.cpp b/drmdisplaycompositor.cpp
index d2acf76..9932fcb 100644
--- a/drmdisplaycompositor.cpp
+++ b/drmdisplaycompositor.cpp
@@ -222,13 +222,6 @@
     return ret;
   }
 
-  pre_compositor_.reset(new GLWorkerCompositor());
-  ret = pre_compositor_->Init();
-  if (ret) {
-    ALOGE("Failed to initialize OpenGL compositor %d", ret);
-    pre_compositor_.reset();
-  }
-
   initialized_ = true;
   return 0;
 }
@@ -301,16 +294,14 @@
   }
 
   std::vector<DrmCompositionRegion> &regions = display_comp->squash_regions();
-  if (pre_compositor_) {
-    ret = pre_compositor_->Composite(display_comp->layers().data(),
+  ret = pre_compositor_->Composite(display_comp->layers().data(),
                                    regions.data(), regions.size(), fb.buffer(),
                                    display_comp->importer());
-    pre_compositor_->Finish();
+  pre_compositor_->Finish();
 
-    if (ret) {
-      ALOGE("Failed to squash layers");
-      return ret;
-    }
+  if (ret) {
+    ALOGE("Failed to squash layers");
+    return ret;
   }
 
   ret = display_comp->CreateNextTimelineFence();
@@ -337,16 +328,14 @@
   }
 
   std::vector<DrmCompositionRegion> &regions = display_comp->pre_comp_regions();
-  if (pre_compositor_) {
-    ret = pre_compositor_->Composite(display_comp->layers().data(),
+  ret = pre_compositor_->Composite(display_comp->layers().data(),
                                    regions.data(), regions.size(), fb.buffer(),
                                    display_comp->importer());
-    pre_compositor_->Finish();
+  pre_compositor_->Finish();
 
-    if (ret) {
-      ALOGE("Failed to pre-composite layers");
-      return ret;
-    }
+  if (ret) {
+    ALOGE("Failed to pre-composite layers");
+    return ret;
   }
 
   ret = display_comp->CreateNextTimelineFence();
@@ -406,6 +395,15 @@
   std::vector<DrmCompositionRegion> &pre_comp_regions =
       display_comp->pre_comp_regions();
 
+  if (!pre_compositor_) {
+    pre_compositor_.reset(new GLWorkerCompositor());
+    int ret = pre_compositor_->Init();
+    if (ret) {
+      ALOGE("Failed to initialize OpenGL compositor %d", ret);
+      return ret;
+    }
+  }
+
   int squash_layer_index = -1;
   if (squash_regions.size() > 0) {
     squash_framebuffer_index_ = (squash_framebuffer_index_ + 1) % 2;
diff --git a/drmdisplaycompositor.h b/drmdisplaycompositor.h
index ed6c5f9..f1965fb 100644
--- a/drmdisplaycompositor.h
+++ b/drmdisplaycompositor.h
@@ -98,9 +98,6 @@
     return &squash_state_;
   }
 
-  bool uses_GL() {
-    return !!pre_compositor_;
-  }
  private:
   struct ModeState {
     bool needs_modeset = false;