From 8d3ea38ffcbc4139c3e85f6d1ac2740da31c0bdc Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 27 Aug 2014 11:16:30 +0200 Subject: [PATCH 1/3] Fixed: Compilation under Mac OS X (malloc is already aligned on 16 bytes and memalign doesn't exist) --- code/nel/include/nel/misc/types_nl.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/nel/include/nel/misc/types_nl.h b/code/nel/include/nel/misc/types_nl.h index d27fc4b48..d7068a833 100644 --- a/code/nel/include/nel/misc/types_nl.h +++ b/code/nel/include/nel/misc/types_nl.h @@ -364,6 +364,11 @@ typedef unsigned int uint; // at least 32bits (depend of processor) #include inline void *aligned_malloc(size_t size, size_t alignment) { return _aligned_malloc(size, alignment); } inline void aligned_free(void *ptr) { _aligned_free(ptr); } +#elif defined(NL_OS_MAC) +#include +// under Mac OS X, malloc is already aligned for SSE and Altivec (16 bytes alignment) +inline void *aligned_malloc(size_t size, size_t alignment) { return malloc(size); } +inline void aligned_free(void *ptr) { free(ptr); } #else #include inline void *aligned_malloc(size_t size, size_t alignment) { return memalign(alignment, size); } From bb324e80b47e4239d8cb67afe0ada3f6cb9eb95c Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 27 Aug 2014 11:19:20 +0200 Subject: [PATCH 2/3] Fixed: Use ...ARBPROC declarations for ARB_occlusion_query (to fix a conflict with official OpenGL headers under Mac OS X) --- .../driver/opengl/driver_opengl_extension.cpp | 32 +++++++++---------- .../driver/opengl/driver_opengl_extension.h | 16 +++++----- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp index aee3e74bb..1a660f9c7 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp @@ -450,14 +450,14 @@ PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV; PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; // ARB_occlusion_query -PFNGLGENQUERIESPROC nglGenQueriesARB; -PFNGLDELETEQUERIESPROC nglDeleteQueriesARB; -PFNGLISQUERYPROC nglIsQueryARB; -PFNGLBEGINQUERYPROC nglBeginQueryARB; -PFNGLENDQUERYPROC nglEndQueryARB; -PFNGLGETQUERYIVPROC nglGetQueryivARB; -PFNGLGETQUERYOBJECTIVPROC nglGetQueryObjectivARB; -PFNGLGETQUERYOBJECTUIVPROC nglGetQueryObjectuivARB; +PFNGLGENQUERIESARBPROC nglGenQueriesARB; +PFNGLDELETEQUERIESARBPROC nglDeleteQueriesARB; +PFNGLISQUERYARBPROC nglIsQueryARB; +PFNGLBEGINQUERYARBPROC nglBeginQueryARB; +PFNGLENDQUERYARBPROC nglEndQueryARB; +PFNGLGETQUERYIVARBPROC nglGetQueryivARB; +PFNGLGETQUERYOBJECTIVARBPROC nglGetQueryObjectivARB; +PFNGLGETQUERYOBJECTUIVARBPROC nglGetQueryObjectuivARB; // GL_EXT_framebuffer_object PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT; @@ -1397,14 +1397,14 @@ static bool setupARBOcclusionQuery(const char *glext) CHECK_EXT("ARB_occlusion_query"); #ifndef USE_OPENGLES - CHECK_ADDRESS(PFNGLGENQUERIESPROC, glGenQueriesARB); - CHECK_ADDRESS(PFNGLDELETEQUERIESPROC, glDeleteQueriesARB); - CHECK_ADDRESS(PFNGLISQUERYPROC, glIsQueryARB); - CHECK_ADDRESS(PFNGLBEGINQUERYPROC, glBeginQueryARB); - CHECK_ADDRESS(PFNGLENDQUERYPROC, glEndQueryARB); - CHECK_ADDRESS(PFNGLGETQUERYIVPROC, glGetQueryivARB); - CHECK_ADDRESS(PFNGLGETQUERYOBJECTIVPROC, glGetQueryObjectivARB); - CHECK_ADDRESS(PFNGLGETQUERYOBJECTUIVPROC, glGetQueryObjectuivARB); + CHECK_ADDRESS(PFNGLGENQUERIESARBPROC, glGenQueriesARB); + CHECK_ADDRESS(PFNGLDELETEQUERIESARBPROC, glDeleteQueriesARB); + CHECK_ADDRESS(PFNGLISQUERYARBPROC, glIsQueryARB); + CHECK_ADDRESS(PFNGLBEGINQUERYARBPROC, glBeginQueryARB); + CHECK_ADDRESS(PFNGLENDQUERYARBPROC, glEndQueryARB); + CHECK_ADDRESS(PFNGLGETQUERYIVARBPROC, glGetQueryivARB); + CHECK_ADDRESS(PFNGLGETQUERYOBJECTIVARBPROC, glGetQueryObjectivARB); + CHECK_ADDRESS(PFNGLGETQUERYOBJECTUIVARBPROC, glGetQueryObjectuivARB); #endif return true; diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h index dba5facfb..868a0eaf4 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h @@ -744,14 +744,14 @@ extern PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; // ARB_occlusion_query //================================== -extern PFNGLGENQUERIESPROC nglGenQueriesARB; -extern PFNGLDELETEQUERIESPROC nglDeleteQueriesARB; -extern PFNGLISQUERYPROC nglIsQueryARB; -extern PFNGLBEGINQUERYPROC nglBeginQueryARB; -extern PFNGLENDQUERYPROC nglEndQueryARB; -extern PFNGLGETQUERYIVPROC nglGetQueryivARB; -extern PFNGLGETQUERYOBJECTIVPROC nglGetQueryObjectivARB; -extern PFNGLGETQUERYOBJECTUIVPROC nglGetQueryObjectuivARB; +extern PFNGLGENQUERIESARBPROC nglGenQueriesARB; +extern PFNGLDELETEQUERIESARBPROC nglDeleteQueriesARB; +extern PFNGLISQUERYARBPROC nglIsQueryARB; +extern PFNGLBEGINQUERYARBPROC nglBeginQueryARB; +extern PFNGLENDQUERYARBPROC nglEndQueryARB; +extern PFNGLGETQUERYIVARBPROC nglGetQueryivARB; +extern PFNGLGETQUERYOBJECTIVARBPROC nglGetQueryObjectivARB; +extern PFNGLGETQUERYOBJECTUIVARBPROC nglGetQueryObjectuivARB; #ifdef NL_OS_WINDOWS From f57380f19b4d49f552cde1c35f6b16e68fb0b792 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 27 Aug 2014 11:21:47 +0200 Subject: [PATCH 3/3] Changed: Including malloc/malloc.h is useless --- code/nel/include/nel/misc/types_nl.h | 1 - 1 file changed, 1 deletion(-) diff --git a/code/nel/include/nel/misc/types_nl.h b/code/nel/include/nel/misc/types_nl.h index d7068a833..f1ed871fc 100644 --- a/code/nel/include/nel/misc/types_nl.h +++ b/code/nel/include/nel/misc/types_nl.h @@ -365,7 +365,6 @@ typedef unsigned int uint; // at least 32bits (depend of processor) inline void *aligned_malloc(size_t size, size_t alignment) { return _aligned_malloc(size, alignment); } inline void aligned_free(void *ptr) { _aligned_free(ptr); } #elif defined(NL_OS_MAC) -#include // under Mac OS X, malloc is already aligned for SSE and Altivec (16 bytes alignment) inline void *aligned_malloc(size_t size, size_t alignment) { return malloc(size); } inline void aligned_free(void *ptr) { free(ptr); }