Adds ANativeWindowBuffer support for layered images.

This is required for support of buffers that back texture arrays.

Bug: 31686534
Test: manual
Change-Id: I78ce132592f3803482ca858fd4be103c286f21e9
diff --git a/include/system/window.h b/include/system/window.h
index f439705..3faf2fb 100644
--- a/include/system/window.h
+++ b/include/system/window.h
@@ -121,8 +121,9 @@
     int stride;
     int format;
     int usage;
+    uintptr_t layerCount;
 
-    void* reserved[2];
+    void* reserved[1];
 
     buffer_handle_t handle;
 
@@ -297,6 +298,13 @@
      * Returns the duration of the last queueBuffer call in microseconds
      */
     NATIVE_WINDOW_LAST_QUEUE_DURATION = 15,
+
+    /*
+     * Returns the number of image layers that the ANativeWindow buffer
+     * contains. By default this is 1, unless a buffer is explicitly allocated
+     * to contain multiple layers.
+     */
+    NATIVE_WINDOW_LAYER_COUNT = 16,
 };
 
 /* Valid operations for the (*perform)() hook.