diff --git a/base/mutex.h b/base/mutex.h index ae108ff12c..0c7d1c5eec 100644 --- a/base/mutex.h +++ b/base/mutex.h @@ -44,10 +44,12 @@ static const atomic_flag_init NATIVE_ATOMIC_FLAG_INIT; class atomic_flag { public: - - atomic_flag(const atomic_flag_init &v) : value(0) {} + atomic_flag() { + } + + atomic_flag(atomic_flag_init &v) : value(0) { + } - void clear() { #if defined(_WIN32) _WriteBarrier(); @@ -68,7 +70,7 @@ public: #elif defined(BLACKBERRY) return atomic_set_value(&value, 1) != 0; #elif defined(__SYMBIAN32__) - return !g_atomic_int_compare_and_exchange(&value, 0, 1); + return !g_atomic_int_compare_and_exchange((volatile int*)&value, 0, 1); #else return __sync_lock_test_and_set(&value, 1) != 0; #endif diff --git a/gfx_es2/gl_state.cpp b/gfx_es2/gl_state.cpp index d4070894d5..a6e986376a 100644 --- a/gfx_es2/gl_state.cpp +++ b/gfx_es2/gl_state.cpp @@ -128,16 +128,16 @@ void CheckGLExtensions() { gl_extensions.EXT_shader_framebuffer_fetch = (strstr(extString, "GL_EXT_shader_framebuffer_fetch") != 0) || (strstr(extString, "GL_NV_shader_framebuffer_fetch") != 0); gl_extensions.NV_draw_texture = strstr(extString, "GL_NV_draw_texture") != 0; gl_extensions.NV_copy_image = strstr(extString, "GL_NV_copy_image") != 0; +#if defined(IOS) || defined(__SYMBIAN32__) || defined(MEEGO_EDITION_HARMATTAN) || defined(MAEMO) + gl_extensions.OES_vertex_array_object = false; + gl_extensions.EXT_discard_framebuffer = false; +#else if (gl_extensions.NV_draw_texture) { glDrawTextureNV = (PFNGLDRAWTEXTURENVPROC)eglGetProcAddress("glDrawTextureNV"); } if (gl_extensions.NV_copy_image) { glCopyImageSubDataNV = (PFNGLCOPYIMAGESUBDATANVPROC)eglGetProcAddress("glCopyImageSubDataNV"); } -#if defined(IOS) || defined(__SYMBIAN32__) || defined(MEEGO_EDITION_HARMATTAN) || defined(MAEMO) - gl_extensions.OES_vertex_array_object = false; - gl_extensions.EXT_discard_framebuffer = false; -#else gl_extensions.OES_vertex_array_object = strstr(extString, "GL_OES_vertex_array_object") != 0; if (gl_extensions.OES_vertex_array_object) { glGenVertexArraysOES = (PFNGLGENVERTEXARRAYSOESPROC)eglGetProcAddress ( "glGenVertexArraysOES" ); diff --git a/gfx_es2/gl_state.h b/gfx_es2/gl_state.h index f9cd1224fd..74050d9cba 100644 --- a/gfx_es2/gl_state.h +++ b/gfx_es2/gl_state.h @@ -7,6 +7,14 @@ #ifdef USING_GLES2 +#ifndef GL_MIN_EXT +#define GL_MIN_EXT 0x8007 +#endif + +#ifndef GL_MAX_EXT +#define GL_MAX_EXT 0x8008 +#endif + #if defined(ANDROID) || defined(BLACKBERRY) // Additional extensions not included in GLES2/gl2ext.h from the NDK @@ -35,7 +43,7 @@ extern PFNGLMAPBUFFERPROC glMapBuffer; #endif - +#if !defined(IOS) typedef void (EGLAPIENTRYP PFNGLDRAWTEXTURENVPROC) (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); extern PFNGLDRAWTEXTURENVPROC glDrawTextureNV; typedef void (EGLAPIENTRYP PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum @@ -43,6 +51,7 @@ typedef void (EGLAPIENTRYP PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); extern PFNGLCOPYIMAGESUBDATANVPROC glCopyImageSubDataNV; +#endif #if !defined(IOS) && !defined(__SYMBIAN32__) && !defined(MEEGO_EDITION_HARMATTAN) && !defined(MAEMO) extern PFNGLDISCARDFRAMEBUFFEREXTPROC glDiscardFramebufferEXT;