surfaceflinger: use RE::Surface in DisplayDevice

This allows us to eliminate all direct use of EGL from
DisplayDevice.

Test: SurfaceFlinger_test
Change-Id: Ic7b006dfd8e3f067625896c3020b55914b9fc65b
diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.h b/services/surfaceflinger/RenderEngine/RenderEngine.h
index a3efdf6..ff5d33a 100644
--- a/services/surfaceflinger/RenderEngine/RenderEngine.h
+++ b/services/surfaceflinger/RenderEngine/RenderEngine.h
@@ -43,6 +43,10 @@
 class Mesh;
 class Texture;
 
+namespace RE {
+class Surface;
+}
+
 class RenderEngine {
     enum GlesVersion {
         GLES_VERSION_1_0    = 0x10000,
@@ -103,7 +107,7 @@
         int getStatus() const;
     };
 
-    bool setCurrentSurface(EGLSurface surface);
+    bool setCurrentSurface(const RE::Surface& surface);
     void resetCurrentSurface();
 
     // set-up
@@ -134,6 +138,7 @@
     virtual size_t getMaxTextureSize() const = 0;
     virtual size_t getMaxViewportDims() const = 0;
 
+    // internal to RenderEngine
     EGLDisplay getEGLDisplay() const;
     EGLConfig getEGLConfig() const;
 };