summaryrefslogtreecommitdiffstats
path: root/opengl
diff options
context:
space:
mode:
authorDan Stoza <stoza@google.com>2014-01-17 11:38:34 -0800
committerDan Stoza <stoza@google.com>2014-01-17 15:32:27 -0800
commitc3289c41e794117817895653300bd2cf7daa0a01 (patch)
treec0577cd8245ced1874f7396c6034305cda134b6f /opengl
parent9fcca4ee1746774cc7a10f4257f4aa50e01ad46e (diff)
downloadframeworks_native-c3289c41e794117817895653300bd2cf7daa0a01.zip
frameworks_native-c3289c41e794117817895653300bd2cf7daa0a01.tar.gz
frameworks_native-c3289c41e794117817895653300bd2cf7daa0a01.tar.bz2
Make libEGL build cleanly under 64-bit
Change-Id: I255dfb70b166b7469d59352b1acfc7aececa07de
Diffstat (limited to 'opengl')
-rw-r--r--opengl/libs/EGL/egl.cpp13
-rw-r--r--opengl/libs/EGL/eglApi.cpp2
2 files changed, 8 insertions, 7 deletions
diff --git a/opengl/libs/EGL/egl.cpp b/opengl/libs/EGL/egl.cpp
index f759e6b..67fbae5 100644
--- a/opengl/libs/EGL/egl.cpp
+++ b/opengl/libs/EGL/egl.cpp
@@ -27,7 +27,6 @@
#include <cutils/log.h>
#include <cutils/atomic.h>
#include <cutils/properties.h>
-#include <cutils/memory.h>
#include <utils/CallStack.h>
#include <utils/String8.h>
@@ -42,6 +41,8 @@
#include "egl_display.h"
#include "egl_object.h"
+typedef __eglMustCastToProperFunctionPointerType EGLFuncPointer;
+
// ----------------------------------------------------------------------------
namespace android {
// ----------------------------------------------------------------------------
@@ -234,11 +235,11 @@ static void early_egl_init(void)
pthread_key_create(&gGLTraceKey, NULL);
initEglTraceLevel();
#endif
- uint32_t addr = (uint32_t)((void*)gl_no_context);
- android_memset32(
- (uint32_t*)(void*)&gHooksNoContext,
- addr,
- sizeof(gHooksNoContext));
+ int numHooks = sizeof(gHooksNoContext) / sizeof(EGLFuncPointer);
+ EGLFuncPointer *iter = reinterpret_cast<EGLFuncPointer*>(&gHooksNoContext);
+ for (int hook = 0; hook < numHooks; ++hook) {
+ *(iter++) = reinterpret_cast<EGLFuncPointer>(gl_no_context);
+ }
setGLHooksThreadSpecific(&gHooksNoContext);
}
diff --git a/opengl/libs/EGL/eglApi.cpp b/opengl/libs/EGL/eglApi.cpp
index b02ee0f..b6ffdb2 100644
--- a/opengl/libs/EGL/eglApi.cpp
+++ b/opengl/libs/EGL/eglApi.cpp
@@ -204,7 +204,7 @@ EGLDisplay eglGetDisplay(EGLNativeDisplayType display)
{
clearError();
- uint32_t index = uint32_t(display);
+ uintptr_t index = reinterpret_cast<uintptr_t>(display);
if (index >= NUM_DISPLAYS) {
return setError(EGL_BAD_PARAMETER, EGL_NO_DISPLAY);
}