diff options
author | Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> | 2011-12-27 18:55:11 +0059 |
---|---|---|
committer | Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> | 2012-03-29 09:41:13 +0200 |
commit | b57e38692beb08d8ad6e0af817e377b5bbd4175c (patch) | |
tree | ca10168a6d47f697c007182524a658ce8a81e9d6 | |
parent | 909fa9a54bc4519aa12f85576c708dc97c04ef7e (diff) | |
download | base-b57e38692beb08d8ad6e0af817e377b5bbd4175c.tar.gz |
frameworks/base: Unify branches
This adds the changes from the linaro_android_4.0.3_snowball branch,
surrounded by ifdefs to prevent them from breaking other boards.
This should obsolete the linaro_android_4.0.3_* branches.
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Change-Id: I9158b85b4790c8d85947878e1743789b01d4add7
-rw-r--r-- | opengl/libs/Android.mk | 4 | ||||
-rw-r--r-- | opengl/libs/EGL/eglApi.cpp | 30 | ||||
-rw-r--r-- | opengl/libs/EGL/egl_entries.in | 2 | ||||
-rw-r--r-- | services/surfaceflinger/Android.mk | 4 | ||||
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 10 |
5 files changed, 50 insertions, 0 deletions
diff --git a/opengl/libs/Android.mk b/opengl/libs/Android.mk index 9c1a10e21438..5399be678ef2 100644 --- a/opengl/libs/Android.mk +++ b/opengl/libs/Android.mk @@ -36,6 +36,10 @@ LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES LOCAL_CFLAGS += -fvisibility=hidden LOCAL_CFLAGS += -DEGL_TRACE=1 +ifeq ($(TARGET_BOARD_PLATFORM), snowball) +LOCAL_CFLAGS += -DTARGET_BOARD_SNOWBALL=1 +endif + ifeq ($(TARGET_BOARD_PLATFORM),msm7k) LOCAL_CFLAGS += -DADRENO130=1 endif diff --git a/opengl/libs/EGL/eglApi.cpp b/opengl/libs/EGL/eglApi.cpp index 2b0ed5dfd654..e5004e1e5033 100644 --- a/opengl/libs/EGL/eglApi.cpp +++ b/opengl/libs/EGL/eglApi.cpp @@ -51,6 +51,26 @@ using namespace android; #define EGL_VERSION_HW_ANDROID 0x3143 +#ifdef TARGET_BOARD_SNOWBALL +static char const * const sVendorString = "Android"; +static char const * const sVersionString = "1.4 Android META-EGL"; +static char const * const sClientApiString = "OpenGL ES"; +static char const * const sExtensionString = + "EGL_KHR_image " + "EGL_KHR_image_base " + "EGL_KHR_image_pixmap " + "EGL_KHR_gl_texture_2D_image " + "EGL_KHR_gl_texture_cubemap_image " + "EGL_KHR_gl_renderbuffer_image " + "EGL_KHR_fence_sync " + "EGL_ANDROID_image_native_buffer " + "EGL_ANDROID_swap_rectangle " +#ifndef TARGET_BOARD_SNOWBALL + "EGL_NV_system_time " +#endif + ; +#endif + struct extention_map_t { const char* name; __eglMustCastToProperFunctionPointerType address; @@ -65,10 +85,12 @@ static const extention_map_t sExtentionMap[] = { (__eglMustCastToProperFunctionPointerType)&eglCreateImageKHR }, { "eglDestroyImageKHR", (__eglMustCastToProperFunctionPointerType)&eglDestroyImageKHR }, +#ifndef TARGET_BOARD_SNOWBALL { "eglGetSystemTimeFrequencyNV", (__eglMustCastToProperFunctionPointerType)&eglGetSystemTimeFrequencyNV }, { "eglGetSystemTimeNV", (__eglMustCastToProperFunctionPointerType)&eglGetSystemTimeNV }, +#endif }; // accesses protected by sExtensionMapMutex @@ -971,6 +993,12 @@ const char* eglQueryString(EGLDisplay dpy, EGLint name) case EGL_VERSION: return dp->getVersionString(); case EGL_EXTENSIONS: +#ifdef TARGET_BOARD_SNOWBALL + if (NULL != dp->disp[IMPL_HARDWARE].queryString.extensions) + return dp->disp[IMPL_HARDWARE].queryString.extensions; + else + return sExtensionString; +#endif return dp->getExtensionString(); case EGL_CLIENT_APIS: return dp->getClientApiString(); @@ -1444,6 +1472,7 @@ EGLBoolean eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute /* ANDROID extensions entry-point go here */ +#ifndef TARGET_BOARD_SNOWBALL // ---------------------------------------------------------------------------- // NVIDIA extensions // ---------------------------------------------------------------------------- @@ -1486,3 +1515,4 @@ EGLuint64NV eglGetSystemTimeNV() return setErrorQuiet(EGL_BAD_DISPLAY, 0); } +#endif diff --git a/opengl/libs/EGL/egl_entries.in b/opengl/libs/EGL/egl_entries.in index bdd2a7eec552..9ebdecf8fd21 100644 --- a/opengl/libs/EGL/egl_entries.in +++ b/opengl/libs/EGL/egl_entries.in @@ -63,7 +63,9 @@ EGL_ENTRY(EGLBoolean, eglGetSyncAttribKHR, EGLDisplay, EGLSyncKHR, EGLint, EGL_ENTRY(EGLBoolean, eglSetSwapRectangleANDROID, EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint) EGL_ENTRY(EGLClientBuffer, eglGetRenderBufferANDROID, EGLDisplay, EGLSurface) +#ifndef TARGET_BOARD_SNOWBALL /* NVIDIA extensions */ EGL_ENTRY(EGLuint64NV, eglGetSystemTimeFrequencyNV, void) EGL_ENTRY(EGLuint64NV, eglGetSystemTimeNV, void) +#endif diff --git a/services/surfaceflinger/Android.mk b/services/surfaceflinger/Android.mk index f63c0c12c22c..7a7a57936794 100644 --- a/services/surfaceflinger/Android.mk +++ b/services/surfaceflinger/Android.mk @@ -20,6 +20,10 @@ LOCAL_SRC_FILES:= \ LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\" LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES +ifeq ($(TARGET_BOARD_PLATFORM), snowball) +LOCAL_CFLAGS += -DTARGET_BOARD_SNOWBALL=1 +endif + ifeq ($(TARGET_BOARD_PLATFORM), omap3) LOCAL_CFLAGS += -DNO_RGBX_8888 endif diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 24bd2a63ed61..0da75c4cacc6 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -1778,14 +1778,24 @@ status_t SurfaceFlinger::renderScreenToTextureLocked(DisplayID dpy, GLuint name, tname; glGenTextures(1, &tname); glBindTexture(GL_TEXTURE_2D, tname); +#ifdef TARGET_BOARD_SNOWBALL + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, + hw_w, hw_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); +#else glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, hw_w, hw_h, 0, GL_RGB, GL_UNSIGNED_BYTE, 0); +#endif if (glGetError() != GL_NO_ERROR) { while ( glGetError() != GL_NO_ERROR ) ; GLint tw = (2 << (31 - clz(hw_w))); GLint th = (2 << (31 - clz(hw_h))); +#ifdef TARGET_BOARD_SNOWBALL + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, + tw, th, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); +#else glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, tw, th, 0, GL_RGB, GL_UNSIGNED_BYTE, 0); +#endif u = GLfloat(hw_w) / tw; v = GLfloat(hw_h) / th; } |