propagate RS context priority to EGLContext when possible. DO NOT MERGE.

Change-Id: Ic9fa5c71324c629ba4cbb41ee4a9e4549810d05e
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index 596f533..92c6619 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -26,6 +26,7 @@
 
 #include <cutils/properties.h>
 
+#include <EGL/eglext.h>
 #include <GLES/gl.h>
 #include <GLES/glext.h>
 #include <GLES2/gl2.h>
@@ -58,7 +59,18 @@
     mEGL.mNumConfigs = -1;
     EGLint configAttribs[128];
     EGLint *configAttribsPtr = configAttribs;
-    EGLint context_attribs2[] = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE };
+    EGLint context_attribs2[] = { EGL_CONTEXT_CLIENT_VERSION, 2,
+            EGL_NONE, GL_NONE, EGL_NONE };
+
+#ifdef HAS_CONTEXT_PRIORITY
+#ifdef EGL_IMG_context_priority
+#warning "using EGL_IMG_context_priority"
+    if (mThreadPriority > 0) {
+        context_attribs2[2] = EGL_CONTEXT_PRIORITY_LEVEL_IMG;
+        context_attribs2[3] = EGL_CONTEXT_PRIORITY_LOW_IMG;
+    }
+#endif
+#endif
 
     memset(configAttribs, 0, sizeof(configAttribs));