| @@ -63,7 +63,7 @@ public: | |||||
| glView.clear(); | glView.clear(); | ||||
| } | } | ||||
| void initialiseOnRenderThread() {} | |||||
| void initialiseOnRenderThread (OpenGLContext&) {} | |||||
| void shutdownOnRenderThread() {} | void shutdownOnRenderThread() {} | ||||
| bool makeActive() const noexcept { return isInsideGLCallback; } | bool makeActive() const noexcept { return isInsideGLCallback; } | ||||
| @@ -97,7 +97,7 @@ public: | |||||
| [view release]; | [view release]; | ||||
| } | } | ||||
| void initialiseOnRenderThread() {} | |||||
| void initialiseOnRenderThread (OpenGLContext&) {} | |||||
| void shutdownOnRenderThread() | void shutdownOnRenderThread() | ||||
| { | { | ||||
| @@ -103,11 +103,11 @@ public: | |||||
| XFree (bestVisual); | XFree (bestVisual); | ||||
| } | } | ||||
| void initialiseOnRenderThread() | |||||
| void initialiseOnRenderThread (OpenGLContext& context) | |||||
| { | { | ||||
| ScopedXLock xlock; | ScopedXLock xlock; | ||||
| renderContext = glXCreateContext (display, bestVisual, (GLXContext) contextToShareWith, GL_TRUE); | renderContext = glXCreateContext (display, bestVisual, (GLXContext) contextToShareWith, GL_TRUE); | ||||
| makeActive(); | |||||
| context.makeActive(); | |||||
| } | } | ||||
| void shutdownOnRenderThread() | void shutdownOnRenderThread() | ||||
| @@ -81,7 +81,7 @@ public: | |||||
| renderContext = nil; | renderContext = nil; | ||||
| } | } | ||||
| void initialiseOnRenderThread() {} | |||||
| void initialiseOnRenderThread (OpenGLContext&) {} | |||||
| void shutdownOnRenderThread() { deactivateCurrentContext(); } | void shutdownOnRenderThread() { deactivateCurrentContext(); } | ||||
| bool createdOk() const noexcept { return getRawContext() != nullptr; } | bool createdOk() const noexcept { return getRawContext() != nullptr; } | ||||
| @@ -81,7 +81,7 @@ public: | |||||
| releaseDC(); | releaseDC(); | ||||
| } | } | ||||
| void initialiseOnRenderThread() {} | |||||
| void initialiseOnRenderThread (OpenGLContext&) {} | |||||
| void shutdownOnRenderThread() { deactivateCurrentContext(); } | void shutdownOnRenderThread() { deactivateCurrentContext(); } | ||||
| static void deactivateCurrentContext() { wglMakeCurrent (0, 0); } | static void deactivateCurrentContext() { wglMakeCurrent (0, 0); } | ||||
| @@ -324,7 +324,8 @@ public: | |||||
| jassert (! cachedImageFrameBuffer.isValid()); | jassert (! cachedImageFrameBuffer.isValid()); | ||||
| context.makeActive(); | context.makeActive(); | ||||
| nativeContext->initialiseOnRenderThread(); | |||||
| nativeContext->initialiseOnRenderThread (context); | |||||
| glViewport (0, 0, component.getWidth(), component.getHeight()); | glViewport (0, 0, component.getWidth(), component.getHeight()); | ||||
| context.extensions.initialise(); | context.extensions.initialise(); | ||||
| @@ -1118,21 +1118,6 @@ public: | |||||
| target.makeActive(); | target.makeActive(); | ||||
| blendMode.resync(); | blendMode.resync(); | ||||
| JUCE_CHECK_OPENGL_ERROR | JUCE_CHECK_OPENGL_ERROR | ||||
| #ifdef GL_COLOR_ARRAY | |||||
| glDisableClientState (GL_COLOR_ARRAY); | |||||
| glDisableClientState (GL_NORMAL_ARRAY); | |||||
| glDisableClientState (GL_VERTEX_ARRAY); | |||||
| glDisableClientState (GL_INDEX_ARRAY); | |||||
| for (int i = 3; --i >= 0;) | |||||
| { | |||||
| activeTextures.setActiveTexture (i); | |||||
| glDisableClientState (GL_TEXTURE_COORD_ARRAY); | |||||
| } | |||||
| #endif | |||||
| JUCE_CHECK_OPENGL_ERROR | |||||
| activeTextures.clear(); | activeTextures.clear(); | ||||
| shaderQuadQueue.initialise(); | shaderQuadQueue.initialise(); | ||||
| JUCE_CHECK_OPENGL_ERROR | JUCE_CHECK_OPENGL_ERROR | ||||
| @@ -1142,11 +1127,6 @@ public: | |||||
| { | { | ||||
| flush(); | flush(); | ||||
| target.context.extensions.glBindFramebuffer (GL_FRAMEBUFFER, previousFrameBufferTarget); | target.context.extensions.glBindFramebuffer (GL_FRAMEBUFFER, previousFrameBufferTarget); | ||||
| #if defined (GL_INDEX_ARRAY) | |||||
| glDisableClientState (GL_INDEX_ARRAY); | |||||
| #endif | |||||
| target.context.extensions.glBindBuffer (GL_ARRAY_BUFFER, 0); | target.context.extensions.glBindBuffer (GL_ARRAY_BUFFER, 0); | ||||
| target.context.extensions.glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0); | target.context.extensions.glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0); | ||||
| } | } | ||||