diff options
| author | 2010-10-20 20:04:45 -0700 | |
|---|---|---|
| committer | 2010-10-20 20:04:46 -0700 | |
| commit | 583fefc8dcadecc7fc933513d3569dd9c16c100c (patch) | |
| tree | 13a776cac3e90b41617ee1bca2e479d5f48b77e6 | |
| parent | a0795fc9bdf97703780cbf0ec47c06eccb642e72 (diff) | |
| parent | cd54dc26f7ac23da6c920dd83b30242049470f00 (diff) | |
Merge "Use the context_priority extension when present." into gingerbread
| -rw-r--r-- | services/surfaceflinger/Android.mk | 4 | ||||
| -rw-r--r-- | services/surfaceflinger/DisplayHardware/DisplayHardware.cpp | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/services/surfaceflinger/Android.mk b/services/surfaceflinger/Android.mk index a14bfb569b8b..e2f8a7468d87 100644 --- a/services/surfaceflinger/Android.mk +++ b/services/surfaceflinger/Android.mk @@ -23,6 +23,10 @@ LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES ifeq ($(TARGET_BOARD_PLATFORM), omap3) LOCAL_CFLAGS += -DNO_RGBX_8888 endif +ifeq ($(TARGET_BOARD_PLATFORM), s5pc110) + LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY +endif + # need "-lrt" on Linux simulator to pick up clock_gettime ifeq ($(TARGET_SIMULATOR),true) diff --git a/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp index 051511027b79..28a512e95b58 100644 --- a/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp +++ b/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp @@ -199,8 +199,18 @@ void DisplayHardware::init(uint32_t dpy) * Create our OpenGL ES context */ - context = eglCreateContext(display, config, NULL, NULL); - + + EGLint contextAttributes[] = { +#ifdef EGL_IMG_context_priority +#ifdef HAS_CONTEXT_PRIORITY +#warning "using EGL_IMG_context_priority" + EGL_CONTEXT_PRIORITY_LEVEL_IMG, EGL_CONTEXT_PRIORITY_HIGH_IMG, +#endif +#endif + EGL_NONE, EGL_NONE + }; + context = eglCreateContext(display, config, NULL, contextAttributes); + mDisplay = display; mConfig = config; mSurface = surface; |