diff --git a/src/GBI.cpp b/src/GBI.cpp index 7804bc7e..750b2841 100644 --- a/src/GBI.cpp +++ b/src/GBI.cpp @@ -176,6 +176,7 @@ void GBIInfo::_makeCurrent(MicrocodeInfo * _pCurrent) case F3DEX2CBFD:F3DEX2CBFD_Init(); break; } +#ifndef GLESX if (m_pCurrent->NoN) { // Disable near and far plane clipping glEnable(GL_DEPTH_CLAMP); @@ -185,7 +186,9 @@ void GBIInfo::_makeCurrent(MicrocodeInfo * _pCurrent) glDisable(GL_DEPTH_CLAMP); glDisable(GL_CLIP_DISTANCE0); } +#endif } else if (m_pCurrent->NoN != _pCurrent->NoN) { +#ifndef GLESX if (_pCurrent->NoN) { // Disable near and far plane clipping glEnable(GL_DEPTH_CLAMP); @@ -196,6 +199,7 @@ void GBIInfo::_makeCurrent(MicrocodeInfo * _pCurrent) glDisable(GL_DEPTH_CLAMP); glDisable(GL_CLIP_DISTANCE0); } +#endif } m_pCurrent = _pCurrent; } diff --git a/src/OpenGL.cpp b/src/OpenGL.cpp index 9fc7fcca..49fd7b92 100644 --- a/src/OpenGL.cpp +++ b/src/OpenGL.cpp @@ -578,12 +578,16 @@ void OGLRender::_updateStates(RENDER_STATE _renderState) const _updateDepthUpdate(); glEnable(GL_DEPTH_TEST); +#ifndef GLESX if (!GBI.isNoN()) glDisable(GL_DEPTH_CLAMP); +#endif } else { glDisable(GL_DEPTH_TEST); +#ifndef GLESX if (!GBI.isNoN()) glEnable(GL_DEPTH_CLAMP); +#endif } } diff --git a/src/OpenGL.h b/src/OpenGL.h index 2aeb2233..63686b74 100644 --- a/src/OpenGL.h +++ b/src/OpenGL.h @@ -15,6 +15,7 @@ #include #define GL_DRAW_FRAMEBUFFER GL_FRAMEBUFFER #define GL_READ_FRAMEBUFFER GL_FRAMEBUFFER +#define GLESX #else #define GL_GLEXT_PROTOTYPES #if defined(OS_MAC_OS_X) diff --git a/src/Shaders.h b/src/Shaders.h index e563f3a0..4a5e3e0f 100644 --- a/src/Shaders.h +++ b/src/Shaders.h @@ -89,7 +89,9 @@ static const char* vertex_shader = " break; \n" " } \n" " } \n" +#ifndef GLESX " gl_ClipDistance[0] = gl_Position.w - gl_Position.z; \n" +#endif "} \n" ; diff --git a/src/glState.h b/src/glState.h index 72e8bb21..d98246a6 100644 --- a/src/glState.h +++ b/src/glState.h @@ -150,6 +150,7 @@ void inline cache_glDisable (GLenum cap) glState.cached_DEPTH_TEST = false; } break; +#ifndef GLESX case GL_DEPTH_CLAMP: if (glState.cached_DEPTH_CLAMP) { glDisable(GL_DEPTH_CLAMP); @@ -162,6 +163,7 @@ void inline cache_glDisable (GLenum cap) glState.cached_CLIP_DISTANCE0 = false; } break; +#endif case GL_DITHER: if (glState.cached_DITHER) { glDisable(GL_DITHER); @@ -220,6 +222,7 @@ void inline cache_glEnable(GLenum cap) glState.cached_DEPTH_TEST = true; } break; +#ifndef GLESX case GL_DEPTH_CLAMP: if (!glState.cached_DEPTH_CLAMP) { glEnable(GL_DEPTH_CLAMP); @@ -232,6 +235,7 @@ void inline cache_glEnable(GLenum cap) glState.cached_CLIP_DISTANCE0 = true; } break; +#endif case GL_DITHER: if (!glState.cached_DITHER) { glEnable(GL_DITHER);