HWComposer now has its own concept of display IDs

HWComposer can now create IDs representing a display
it can deal with. IDs MAIN and HDMI are reserved.
SurfaceFlinger associate HWComposer IDs with a
DisplayDevice and uses that when it talks to HWComposer.

A DisplayDevice doesn't have to have a HWComposer ID,
in that case it just can't use h/w composer composition.

Change-Id: Iec3d7ac92e0c22bf975052ae2847402f58bade71
diff --git a/services/surfaceflinger/DisplayDevice.h b/services/surfaceflinger/DisplayDevice.h
index 9790699..14b194f 100644
--- a/services/surfaceflinger/DisplayDevice.h
+++ b/services/surfaceflinger/DisplayDevice.h
@@ -62,7 +62,7 @@
 
     DisplayDevice(
             const sp<SurfaceFlinger>& flinger,
-            int dpy,
+            int32_t dpy, int32_t hwcDisplayId,
             const sp<ANativeWindow>& nativeWindow,
             const sp<FramebufferSurface>& framebufferSurface,
             EGLConfig config);
@@ -96,6 +96,7 @@
     const Transform&        getTransform() const { return mGlobalTransform; }
     uint32_t                getLayerStack() const { return mLayerStack; }
     int32_t                 getDisplayId() const { return mId; }
+    int32_t                 getHwcDisplayId() const { return mHwcDisplayId; }
 
     status_t compositionComplete() const;
     
@@ -132,6 +133,7 @@
      */
     sp<SurfaceFlinger> mFlinger;
     int32_t mId;
+    int32_t mHwcDisplayId;
 
     // ANativeWindow this display is rendering into
     sp<ANativeWindow> mNativeWindow;