]> git.lizzy.rs Git - irrlicht.git/commitdiff
Merging r6122 through r6127 from trunk to ogl-es branch
authorcutealien <cutealien@dfc29bdd-3216-0410-991c-e03cc46cb475>
Sat, 20 Jun 2020 15:26:29 +0000 (15:26 +0000)
committercutealien <cutealien@dfc29bdd-3216-0410-991c-e03cc46cb475>
Sat, 20 Jun 2020 15:26:29 +0000 (15:26 +0000)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6128 dfc29bdd-3216-0410-991c-e03cc46cb475

source/Irrlicht/CIrrDeviceOSX.h
source/Irrlicht/CIrrDeviceOSX.mm
source/Irrlicht/CNSOGLManager.h
source/Irrlicht/CNSOGLManager.mm
source/Irrlicht/COpenGLExtensionHandler.h
source/Irrlicht/COpenGLSLMaterialRenderer.cpp
source/Irrlicht/Irrlicht.xcodeproj/project.pbxproj

index 701c5aaacf43c39077725d5cb793198919b3688a..d5378c82dbd47bb8d6ac4008470e0f3432bc46b4 100644 (file)
@@ -91,7 +91,7 @@ namespace irr
 \r
         //! Get the position of this window on screen\r
         virtual core::position2di getWindowPosition() _IRR_OVERRIDE_;\r
-        \r
+\r
                //! Activate any joysticks, and generate events for them.\r
                virtual bool activateJoysticks(core::array<SJoystickInfo> & joystickInfo) _IRR_OVERRIDE_;\r
 \r
@@ -176,13 +176,13 @@ namespace irr
                        }\r
 \r
                        //! Returns the current position of the mouse cursor.\r
-                       virtual const core::position2d<s32>& getPosition()\r
+                       virtual const core::position2d<s32>& getPosition(bool updateCursor) _IRR_OVERRIDE_\r
                        {\r
                                return CursorPos;\r
                        }\r
 \r
                        //! Returns the current position of the mouse cursor.\r
-                       virtual core::position2d<f32> getRelativePosition()\r
+                       virtual core::position2d<f32> getRelativePosition(bool updateCursor) _IRR_OVERRIDE_\r
                        {\r
                                if (!UseReferenceRect)\r
                                {\r
index 801a330c5e822e719a8c5c5a3a47f5b38171e388..1e956c600e37ff3d113504ec29bb212b81eeeb35 100644 (file)
@@ -1224,7 +1224,7 @@ void CIrrDeviceMacOSX::storeMouseLocation()
                x = (int)point.x;
                y = (int)point.y;
 
-               const core::position2di& curr = ((CCursorControl *)CursorControl)->getPosition();
+               const core::position2di& curr = ((CCursorControl *)CursorControl)->getPosition(true);
                if (curr.X != x || curr.Y != y)
                {
                        // In fullscreen mode, events are not sent regularly so rely on polling
index 42a6317f97e9a1d4d79583c0fe215a8ea7abf6f3..c4e38124a80b562656ed150e657fa6693d4c39da 100644 (file)
@@ -52,7 +52,7 @@ namespace video
                const SExposedVideoData& getContext() const;\r
 \r
                //! Change render context, disable old and activate new defined by videoData\r
-               bool activateContext(const SExposedVideoData& videoData);\r
+               bool activateContext(const SExposedVideoData& videoData, bool restorePrimaryOnZero) _IRR_OVERRIDE_;\r
 \r
         // Swap buffers.\r
         bool swapBuffers();\r
@@ -61,7 +61,7 @@ namespace video
         SIrrlichtCreationParameters Params;\r
                SExposedVideoData PrimaryContext;\r
         SExposedVideoData CurrentContext;\r
-        \r
+\r
         NSOpenGLPixelFormat* PixelFormat;\r
        };\r
 }\r
index 4a8420733e05a313d6b1ee5dae0ce98e4bad5eb3..3409a3ef23d5a43e0ad17ab450fec4c61b2dd8a8 100644 (file)
@@ -188,8 +188,9 @@ const SExposedVideoData& CNSOGLManager::getContext() const
        return CurrentContext;\r
 }\r
 \r
-bool CNSOGLManager::activateContext(const SExposedVideoData& videoData)\r
+bool CNSOGLManager::activateContext(const SExposedVideoData& videoData, bool restorePrimaryOnZero)\r
 {\r
+       //TODO: handle restorePrimaryOnZero\r
     if (videoData.OpenGLOSX.Context)\r
     {\r
         if ((NSOpenGLContext*)videoData.OpenGLOSX.Context != [NSOpenGLContext currentContext])\r
index ad853b1ea6af44e1c6e843539b05781889be1757..ac6585c5afad6032835af0ef0d97e0e897a43a21 100644 (file)
@@ -1915,7 +1915,7 @@ inline void COpenGLExtensionHandler::extGlUniform1uiv(GLint loc, GLsizei count,
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
        if (pGlUniform1uiv)\r
                pGlUniform1uiv(loc, count, v);\r
-#else\r
+#elif defined(GL_VERSION_3_0)\r
        glUniform1uiv(loc, count, v);\r
 #endif\r
 }\r
@@ -1925,7 +1925,7 @@ inline void COpenGLExtensionHandler::extGlUniform2uiv(GLint loc, GLsizei count,
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
        if (pGlUniform2uiv)\r
                pGlUniform2uiv(loc, count, v);\r
-#else\r
+#elif defined(GL_VERSION_3_0)\r
        glUniform2uiv(loc, count, v);\r
 #endif\r
 }\r
@@ -1935,7 +1935,7 @@ inline void COpenGLExtensionHandler::extGlUniform3uiv(GLint loc, GLsizei count,
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
        if (pGlUniform3uiv)\r
                pGlUniform3uiv(loc, count, v);\r
-#else\r
+#elif defined(GL_VERSION_3_0)\r
        glUniform3uiv(loc, count, v);\r
 #endif\r
 }\r
@@ -1945,7 +1945,7 @@ inline void COpenGLExtensionHandler::extGlUniform4uiv(GLint loc, GLsizei count,
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
        if (pGlUniform4uiv)\r
                pGlUniform4uiv(loc, count, v);\r
-#else\r
+#elif defined(GL_VERSION_3_0)\r
        glUniform4uiv(loc, count, v);\r
 #endif\r
 }\r
@@ -2867,7 +2867,7 @@ inline void COpenGLExtensionHandler::extGlTextureSubImage2D(GLuint texture, GLen
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
         if (pGlTextureSubImage2D)\r
             pGlTextureSubImage2D(texture, level, xoffset, yoffset,width, height,format, type, pixels);\r
-#else\r
+#elif defined(GL_VERSION_4_5)\r
         glTextureSubImage2D(texture, level, xoffset, yoffset,width, height,format, type, pixels);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
@@ -2876,7 +2876,7 @@ inline void COpenGLExtensionHandler::extGlTextureSubImage2D(GLuint texture, GLen
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
         if (pGlTextureSubImage2DEXT)\r
             pGlTextureSubImage2DEXT(texture, target, level, xoffset, yoffset,width, height,format, type, pixels);\r
-#else\r
+#elif defined(GL_EXT_direct_state_access)\r
         glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset,width, height,format, type, pixels);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
@@ -2885,15 +2885,23 @@ inline void COpenGLExtensionHandler::extGlTextureSubImage2D(GLuint texture, GLen
         GLint bound;\r
         switch (target)\r
         {\r
+#ifdef GL_VERSION_3_0\r
             case GL_TEXTURE_1D_ARRAY:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_1D_ARRAY, &bound);\r
                 break;\r
+#elif GL_EXT_texture_array\r
+                       case GL_TEXTURE_1D_ARRAY_EXT:\r
+                glGetIntegerv(GL_TEXTURE_BINDING_1D_ARRAY_EXT, &bound);\r
+                break;\r
+#endif\r
             case GL_TEXTURE_2D:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_2D, &bound);\r
                 break;\r
+#ifdef GL_VERSION_3_2\r
             case GL_TEXTURE_2D_MULTISAMPLE:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_2D_MULTISAMPLE, &bound);\r
                 break;\r
+#endif\r
             case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:\r
             case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:\r
             case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:\r
@@ -2921,7 +2929,7 @@ inline void COpenGLExtensionHandler::extGlTextureStorage2D(GLuint texture, GLenu
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
         if (pGlTextureStorage2D)\r
             pGlTextureStorage2D(texture,levels,internalformat,width,height);\r
-#else\r
+#elif defined(GL_VERSION_4_5)\r
         glTextureStorage2D(texture,levels,internalformat,width,height);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
@@ -2930,22 +2938,29 @@ inline void COpenGLExtensionHandler::extGlTextureStorage2D(GLuint texture, GLenu
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
         if (pGlTextureStorage2DEXT)\r
             pGlTextureStorage2DEXT(texture,target,levels,internalformat,width,height);\r
-#else\r
+#elif defined(GL_EXT_direct_state_access)\r
         glTextureStorage2DEXT(texture,target,levels,internalformat,width,height);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
-#ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
-    else if (pGlTexStorage2D)\r
-#else\r
+\r
+#if defined(GL_VERSION_4_2) || defined(_IRR_OPENGL_USE_EXTPOINTER_)\r
     else\r
+#ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
+    if (pGlTexStorage2D)\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     {\r
         GLint bound;\r
         switch (target)\r
         {\r
+#ifdef GL_VERSION_3_0\r
             case GL_TEXTURE_1D_ARRAY:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_1D_ARRAY, &bound);\r
                 break;\r
+#elif GL_EXT_texture_array\r
+                       case GL_TEXTURE_1D_ARRAY_EXT:\r
+                glGetIntegerv(GL_TEXTURE_BINDING_1D_ARRAY_EXT, &bound);\r
+                break;\r
+#endif\r
             case GL_TEXTURE_2D:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_2D, &bound);\r
                 break;\r
@@ -2966,6 +2981,7 @@ inline void COpenGLExtensionHandler::extGlTextureStorage2D(GLuint texture, GLenu
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
         glBindTexture(target, bound);\r
     }\r
+#endif // GL_VERSION_4_2 || _IRR_OPENGL_USE_EXTPOINTER_\r
 }\r
 \r
 inline void COpenGLExtensionHandler::extGlTextureStorage3D(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)\r
@@ -2975,7 +2991,7 @@ inline void COpenGLExtensionHandler::extGlTextureStorage3D(GLuint texture, GLenu
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
         if (pGlTextureStorage3D)\r
             pGlTextureStorage3D(texture,levels,internalformat,width,height,depth);\r
-#else\r
+#elif defined(GL_VERSION_4_5)\r
         glTextureStorage3D(texture,levels,internalformat,width,height,depth);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
@@ -2984,28 +3000,40 @@ inline void COpenGLExtensionHandler::extGlTextureStorage3D(GLuint texture, GLenu
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
         if (pGlTextureStorage3DEXT)\r
             pGlTextureStorage3DEXT(texture,target,levels,internalformat,width,height,depth);\r
-#else\r
+#elif defined(GL_EXT_direct_state_access)\r
         glTextureStorage3DEXT(texture,target,levels,internalformat,width,height,depth);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
-#ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
-    else if (pGlTexStorage3D)\r
-#else\r
+#if defined(GL_VERSION_4_2) || defined(_IRR_OPENGL_USE_EXTPOINTER_)\r
     else\r
-#endif // _IRR_OPENGL_USE_EXTPOINTER_\r
+#ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
+    if (pGlTexStorage3D)\r
+#endif // _IRR_OPENGL_USE_EX TPOINTER_\r
     {\r
         GLint bound;\r
         switch (target)\r
         {\r
+#ifdef GL_VERSION_3_0\r
             case GL_TEXTURE_2D_ARRAY:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_2D_ARRAY, &bound);\r
                 break;\r
+#elif GL_EXT_texture_array\r
+                       case GL_TEXTURE_2D_ARRAY_EXT:\r
+                glGetIntegerv(GL_TEXTURE_BINDING_2D_ARRAY_EXT, &bound);\r
+                break;\r
+#endif\r
             case GL_TEXTURE_3D:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_3D, &bound);\r
                 break;\r
+#ifdef GL_VERSION_4_0\r
             case GL_TEXTURE_CUBE_MAP_ARRAY:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY, &bound);\r
                 break;\r
+#elif defined(GL_ARB_texture_cube_map_array)\r
+                       case GL_TEXTURE_CUBE_MAP_ARRAY_ARB:\r
+                               glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB, &bound);\r
+                               break;\r
+#endif\r
             default:\r
                 return;\r
         }\r
@@ -3017,6 +3045,7 @@ inline void COpenGLExtensionHandler::extGlTextureStorage3D(GLuint texture, GLenu
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
         glBindTexture(target, bound);\r
     }\r
+#endif // GL_VERSION_4_2 || _IRR_OPENGL_USE_EXTPOINTER_\r
 }\r
 \r
 inline void COpenGLExtensionHandler::extGlGetTextureImage(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels)\r
@@ -3026,7 +3055,7 @@ inline void COpenGLExtensionHandler::extGlGetTextureImage(GLuint texture, GLenum
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
                if (pGlGetTextureImage)\r
                        pGlGetTextureImage(texture,level,format,type,bufSize,pixels);\r
-#else\r
+#elif defined(GL_VERSION_4_5)\r
                glGetTextureImage(texture,level,format,type,bufSize,pixels);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
        }\r
@@ -3035,7 +3064,7 @@ inline void COpenGLExtensionHandler::extGlGetTextureImage(GLuint texture, GLenum
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
                if (pGlGetTextureImageEXT)\r
                        pGlGetTextureImageEXT(texture,target,level,format,type,pixels);\r
-#else\r
+#elif defined(GL_EXT_direct_state_access)\r
                glGetTextureImageEXT(texture,target,level,format,type,pixels);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
        }\r
@@ -3044,15 +3073,27 @@ inline void COpenGLExtensionHandler::extGlGetTextureImage(GLuint texture, GLenum
                GLint bound;\r
                switch (target)\r
                {\r
+#ifdef GL_VERSION_3_0\r
                        case GL_TEXTURE_2D_ARRAY:\r
                                glGetIntegerv(GL_TEXTURE_BINDING_2D_ARRAY, &bound);\r
                                break;\r
+#elif GL_EXT_texture_array\r
+                       case GL_TEXTURE_2D_ARRAY_EXT:\r
+                glGetIntegerv(GL_TEXTURE_BINDING_2D_ARRAY_EXT, &bound);\r
+                break;\r
+#endif\r
                        case GL_TEXTURE_3D:\r
                                glGetIntegerv(GL_TEXTURE_BINDING_3D, &bound);\r
                                break;\r
+#ifdef GL_VERSION_4_0\r
                        case GL_TEXTURE_CUBE_MAP_ARRAY:\r
                                glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY, &bound);\r
                                break;\r
+#elif defined(GL_ARB_texture_cube_map_array)\r
+                       case GL_TEXTURE_CUBE_MAP_ARRAY_ARB:\r
+                               glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB, &bound);\r
+                               break;\r
+#endif\r
                        default:\r
                                return;\r
                }\r
@@ -3064,6 +3105,7 @@ inline void COpenGLExtensionHandler::extGlGetTextureImage(GLuint texture, GLenum
 \r
 inline void COpenGLExtensionHandler::extGlNamedFramebufferTexture(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)\r
 {\r
+#ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
     if (!needsDSAFramebufferHack)\r
     {\r
         if (Version>=405 || FeatureAvailable[IRR_ARB_direct_state_access])\r
@@ -3086,6 +3128,7 @@ inline void COpenGLExtensionHandler::extGlNamedFramebufferTexture(GLuint framebu
     pGlFramebufferTexture(GL_FRAMEBUFFER,attachment,texture,level);\r
     if (bound!=framebuffer)\r
         pGlBindFramebuffer(GL_FRAMEBUFFER,bound);\r
+#endif\r
 }\r
 \r
 inline void COpenGLExtensionHandler::extGlTextureParameteri(GLuint texture, GLenum pname, GLint param)\r
@@ -3129,7 +3172,7 @@ inline void COpenGLExtensionHandler::extGlCreateTextures(GLenum target, GLsizei
             pGlCreateTextures(target,n,textures);\r
         else if (textures)\r
             memset(textures,0,n*sizeof(GLuint));\r
-#else\r
+#elif defined(GL_VERSION_4_5)\r
         glCreateTextures(target,n,textures);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
@@ -3141,6 +3184,7 @@ inline void COpenGLExtensionHandler::extGlCreateTextures(GLenum target, GLsizei
 \r
 inline void COpenGLExtensionHandler::extGlCreateFramebuffers(GLsizei n, GLuint* framebuffers)\r
 {\r
+#ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
     if (!needsDSAFramebufferHack)\r
     {\r
         if (Version>=405)\r
@@ -3151,21 +3195,49 @@ inline void COpenGLExtensionHandler::extGlCreateFramebuffers(GLsizei n, GLuint*
     }\r
 \r
     pGlGenFramebuffers(n, framebuffers);\r
+#endif\r
 }\r
 \r
 inline void COpenGLExtensionHandler::extGlBindTextures(GLuint first, GLsizei count, const GLuint *textures, const GLenum* targets)\r
 {\r
-    const GLenum supportedTargets[] = { GL_TEXTURE_1D,GL_TEXTURE_2D, // GL 1.x\r
-                                        GL_TEXTURE_3D,GL_TEXTURE_RECTANGLE,GL_TEXTURE_CUBE_MAP, // GL 2.x\r
-                                        GL_TEXTURE_1D_ARRAY,GL_TEXTURE_2D_ARRAY,GL_TEXTURE_BUFFER, // GL 3.x\r
-                                        GL_TEXTURE_CUBE_MAP_ARRAY,GL_TEXTURE_2D_MULTISAMPLE,GL_TEXTURE_2D_MULTISAMPLE_ARRAY}; // GL 4.x\r
+    const GLenum supportedTargets[] = { GL_TEXTURE_1D, GL_TEXTURE_2D // GL 1.x\r
+                                        ,GL_TEXTURE_3D // GL 2.x\r
+#ifdef GL_VERSION_3_1\r
+                                        ,GL_TEXTURE_RECTANGLE\r
+#elif defined(GL_ARB_texture_rectangle)\r
+                                                                               ,GL_TEXTURE_RECTANGLE_ARB\r
+#elif defined(GL_NV_texture_rectangle)\r
+                                                                               ,GL_TEXTURE_RECTANGLE_NV\r
+#endif\r
+                                        ,GL_TEXTURE_CUBE_MAP\r
+#ifdef GL_VERSION_3_0\r
+                                        ,GL_TEXTURE_1D_ARRAY,GL_TEXTURE_2D_ARRAY // GL 3.x\r
+#elif GL_EXT_texture_array\r
+                                                                               ,GL_TEXTURE_1D_ARRAY_EXT,GL_TEXTURE_2D_ARRAY_EXT\r
+#endif\r
+#ifdef GL_VERSION_3_1\r
+                                                                               ,GL_TEXTURE_BUFFER\r
+#elif defined(GL_ARB_texture_buffer_object)\r
+                                                                               ,GL_TEXTURE_BUFFER_ARB\r
+#elif defined(GL_EXT_texture_buffer_object)\r
+                                                                               ,GL_TEXTURE_BUFFER_EXT\r
+#endif\r
+#ifdef GL_VERSION_4_0\r
+                                        ,GL_TEXTURE_CUBE_MAP_ARRAY     // GL 4.x\r
+#elif defined(GL_ARB_texture_cube_map_array)\r
+                                                                               ,GL_TEXTURE_CUBE_MAP_ARRAY_ARB\r
+#endif\r
+#ifdef GL_VERSION_3_2\r
+                                        ,GL_TEXTURE_2D_MULTISAMPLE,GL_TEXTURE_2D_MULTISAMPLE_ARRAY\r
+#endif\r
+       };\r
 \r
     if (Version>=404||FeatureAvailable[IRR_ARB_multi_bind])\r
     {\r
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
         if (pGlBindTextures)\r
             pGlBindTextures(first,count,textures);\r
-#else\r
+#elif defined(GL_VERSION_4_4)\r
         glBindTextures(first,count,textures);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
@@ -3201,7 +3273,7 @@ inline void COpenGLExtensionHandler::extGlGenerateTextureMipmap(GLuint texture,
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
         if (pGlGenerateTextureMipmap)\r
             pGlGenerateTextureMipmap(texture);\r
-#else\r
+#elif defined(GL_VERSION_4_5)\r
         glGenerateTextureMipmap(texture);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
@@ -3210,7 +3282,7 @@ inline void COpenGLExtensionHandler::extGlGenerateTextureMipmap(GLuint texture,
 #ifdef _IRR_OPENGL_USE_EXTPOINTER_\r
         if (pGlGenerateTextureMipmapEXT)\r
             pGlGenerateTextureMipmapEXT(texture,target);\r
-#else\r
+#elif defined(GL_EXT_direct_state_access)\r
         glGenerateTextureMipmapEXT(texture,target);\r
 #endif // _IRR_OPENGL_USE_EXTPOINTER_\r
     }\r
@@ -3226,33 +3298,63 @@ inline void COpenGLExtensionHandler::extGlGenerateTextureMipmap(GLuint texture,
             case GL_TEXTURE_1D:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_1D, &bound);\r
                 break;\r
+#ifdef GL_VERSION_3_0\r
             case GL_TEXTURE_1D_ARRAY:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_1D_ARRAY, &bound);\r
                 break;\r
+#elif GL_EXT_texture_array\r
+                       case GL_TEXTURE_1D_ARRAY_EXT:\r
+                glGetIntegerv(GL_TEXTURE_BINDING_1D_ARRAY_EXT, &bound);\r
+                break;\r
+#endif\r
             case GL_TEXTURE_2D:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_2D, &bound);\r
                 break;\r
+#ifdef GL_VERSION_3_0\r
             case GL_TEXTURE_2D_ARRAY:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_2D_ARRAY, &bound);\r
                 break;\r
+#elif GL_EXT_texture_array\r
+                       case GL_TEXTURE_2D_ARRAY_EXT:\r
+                glGetIntegerv(GL_TEXTURE_BINDING_2D_ARRAY_EXT, &bound);\r
+                break;\r
+#endif\r
+#ifdef GL_VERSION_3_2\r
             case GL_TEXTURE_2D_MULTISAMPLE:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_2D_MULTISAMPLE, &bound);\r
                 break;\r
             case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY, &bound);\r
                 break;\r
+#endif\r
             case GL_TEXTURE_3D:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_3D, &bound);\r
                 break;\r
+#ifdef GL_VERSION_3_1\r
             case GL_TEXTURE_BUFFER:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_BUFFER, &bound);\r
                 break;\r
+#elif defined(GL_ARB_texture_buffer_object)\r
+                       case GL_TEXTURE_BUFFER_ARB:\r
+                               glGetIntegerv(GL_TEXTURE_BINDING_BUFFER_ARB, &bound);\r
+                               break;\r
+#elif defined(GL_EXT_texture_buffer_object)\r
+                       case GL_TEXTURE_BUFFER_EXT:\r
+                               glGetIntegerv(GL_TEXTURE_BINDING_BUFFER_EXT, &bound);\r
+                               break;\r
+#endif\r
             case GL_TEXTURE_CUBE_MAP:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP, &bound);\r
                 break;\r
+#ifdef GL_VERSION_4_0\r
             case GL_TEXTURE_CUBE_MAP_ARRAY:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY, &bound);\r
                 break;\r
+#elif defined(GL_ARB_texture_cube_map_array)\r
+                       case GL_TEXTURE_CUBE_MAP_ARRAY_ARB:\r
+                               glGetIntegerv(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB, &bound);\r
+                               break;\r
+#endif\r
             case GL_TEXTURE_RECTANGLE:\r
                 glGetIntegerv(GL_TEXTURE_BINDING_RECTANGLE, &bound);\r
                 break;\r
index 14a0ecfd537b029b2ddf28f8e37b4c92e3f1992d..b2ba9f6740a1641c96f8b67f6c853eab9c06ec82 100644 (file)
@@ -736,6 +736,7 @@ bool COpenGLSLMaterialRenderer::setPixelShaderConstant(s32 index, const u32* int
                case GL_UNSIGNED_INT:\r
                        Driver->extGlUniform1uiv(UniformInfo[index].location, count, reinterpret_cast<const GLuint*>(ints));\r
                        break;\r
+#if defined(GL_VERSION_3_0)\r
                case GL_UNSIGNED_INT_VEC2:\r
                        Driver->extGlUniform2uiv(UniformInfo[index].location, count/2, reinterpret_cast<const GLuint*>(ints));\r
                        break;\r
@@ -745,6 +746,7 @@ bool COpenGLSLMaterialRenderer::setPixelShaderConstant(s32 index, const u32* int
                case GL_UNSIGNED_INT_VEC4:\r
                        Driver->extGlUniform4uiv(UniformInfo[index].location, count/4, reinterpret_cast<const GLuint*>(ints));\r
                        break;\r
+#endif\r
                default:\r
                        status = false;\r
                        break;\r
index 983e3e9598d5f9228dc9c0a82aea9ad7e4f5172f..4fa086b43a309856484cfb34e3764b2e37a5ceb7 100644 (file)
                5E79089B1C10FEF900DFE7FE /* CB3DMeshWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E7908981C10FE4A00DFE7FE /* CB3DMeshWriter.cpp */; };
                5E8570BC1B7F9AC400B267D2 /* CIrrDeviceConsole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E8570BA1B7F9AC400B267D2 /* CIrrDeviceConsole.cpp */; };
                5E9573D71C18E9E600C27989 /* CEAGLManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5E9573D61C18E9E600C27989 /* CEAGLManager.mm */; };
+               8493BC02249DEBB30092813E /* IOctreeSceneNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8493BC01249DEBB20092813E /* IOctreeSceneNode.h */; };
+               8493BC04249DED3F0092813E /* IMemoryReadFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8493BC03249DED3F0092813E /* IMemoryReadFile.h */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
                5E9573D31C18E9B300C27989 /* CEAGLManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CEAGLManager.h; sourceTree = "<group>"; };
                5E9573D61C18E9E600C27989 /* CEAGLManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CEAGLManager.mm; sourceTree = "<group>"; };
                5EC24F5E1B8B861200DCA615 /* exampleHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = exampleHelper.h; path = ../../include/exampleHelper.h; sourceTree = "<group>"; };
+               8493BC01249DEBB20092813E /* IOctreeSceneNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOctreeSceneNode.h; path = ../../include/IOctreeSceneNode.h; sourceTree = "<group>"; };
+               8493BC03249DED3F0092813E /* IMemoryReadFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IMemoryReadFile.h; path = ../../include/IMemoryReadFile.h; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
                                5E34C7401B7F4AFC00F212E8 /* IMeshTextureLoader.h */,
                                5E34C7411B7F4AFC00F212E8 /* IMeshWriter.h */,
                                5E34C7421B7F4AFC00F212E8 /* IMetaTriangleSelector.h */,
+                               8493BC01249DEBB20092813E /* IOctreeSceneNode.h */,
                                5E34C7441B7F4AFC00F212E8 /* IParticleAffector.h */,
                                5E34C7451B7F4AFC00F212E8 /* IParticleAnimatedMeshSceneNodeEmitter.h */,
                                5E34C7461B7F4AFC00F212E8 /* IParticleAttractionAffector.h */,
                                5E34C7101B7F4AFC00F212E8 /* IFileArchive.h */,
                                5E34C7111B7F4AFC00F212E8 /* IFileList.h */,
                                5E34C7121B7F4AFC00F212E8 /* IFileSystem.h */,
+                               8493BC03249DED3F0092813E /* IMemoryReadFile.h */,
                                5E34C7551B7F4AFC00F212E8 /* IReadFile.h */,
                                5E34C7631B7F4AFC00F212E8 /* irrXML.h */,
                                5E34C77B1B7F4AFC00F212E8 /* IWriteFile.h */,
                        isa = PBXHeadersBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               5E8570BD1B7F9AC400B267D2 /* CIrrDeviceConsole.h in Headers */,
+                               5E7908961C10EEC000DFE7FE /* COpenGLCommon.h in Headers */,
+                               8493BC04249DED3F0092813E /* IMemoryReadFile.h in Headers */,
+                               5E7908951C10EEC000DFE7FE /* COpenGLCacheHandler.h in Headers */,
+                               8493BC02249DEBB30092813E /* IOctreeSceneNode.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };