1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00

Disable GL_CLIP_DISTANCE for GLES

This commit is contained in:
Sergey Lipskiy 2015-04-23 13:23:10 +06:00
parent d894d465c1
commit bd5740ea3d
5 changed files with 15 additions and 0 deletions

View File

@ -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;
}

View File

@ -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
}
}

View File

@ -15,6 +15,7 @@
#include <GLES2/gl2ext.h>
#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)

View File

@ -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"
;

View File

@ -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);