diff options
| author | Mathias Agopian <mathias@google.com> | 2010-10-11 17:56:14 -0700 |
|---|---|---|
| committer | Mathias Agopian <mathias@google.com> | 2010-10-11 22:34:31 -0700 |
| commit | 2db76167b17262aa3e341cbc85c949d119a14aa6 (patch) | |
| tree | a333fab87c8662682d8d75f8a0faed387ffd8c01 /libs | |
| parent | cd54dc26f7ac23da6c920dd83b30242049470f00 (diff) | |
| download | frameworks_base-2db76167b17262aa3e341cbc85c949d119a14aa6.zip frameworks_base-2db76167b17262aa3e341cbc85c949d119a14aa6.tar.gz frameworks_base-2db76167b17262aa3e341cbc85c949d119a14aa6.tar.bz2 | |
propagate RS context priority to EGLContext when possible. DO NOT MERGE.
Change-Id: Ic9fa5c71324c629ba4cbb41ee4a9e4549810d05e
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/rs/Android.mk | 3 | ||||
| -rw-r--r-- | libs/rs/rsContext.cpp | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/libs/rs/Android.mk b/libs/rs/Android.mk index 98464a0..6f2cd07 100644 --- a/libs/rs/Android.mk +++ b/libs/rs/Android.mk @@ -102,6 +102,9 @@ LOCAL_SRC_FILES:= \ rsType.cpp \ rsVertexArray.cpp +ifeq ($(TARGET_BOARD_PLATFORM), s5pc110) + LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY +endif LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2 libui libacc LOCAL_LDLIBS := -lpthread -ldl 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 @@ void Context::initEGL(bool useGL2) 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)); |
