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

Add GL_DEPTH_CLAMP state caching.

This commit is contained in:
Sergey Lipskiy 2015-02-27 22:42:25 +06:00
parent 08f4278892
commit 1e6684014e
2 changed files with 14 additions and 0 deletions

View File

@ -20,6 +20,7 @@ void GLState::reset()
cached_BLEND = false;
cached_CULL_FACE = false;
cached_DEPTH_TEST = false;
cached_DEPTH_CLAMP = false;
cached_DITHER = false;
cached_POLYGON_OFFSET_FILL = false;
cached_SAMPLE_ALPHA_TO_COVERAGE = false;

View File

@ -26,6 +26,7 @@ struct GLState {
bool cached_BLEND;
bool cached_CULL_FACE;
bool cached_DEPTH_TEST;
bool cached_DEPTH_CLAMP;
bool cached_DITHER;
bool cached_POLYGON_OFFSET_FILL;
bool cached_SAMPLE_ALPHA_TO_COVERAGE;
@ -148,6 +149,12 @@ void inline cache_glDisable (GLenum cap)
glState.cached_DEPTH_TEST = false;
}
break;
case GL_DEPTH_CLAMP:
if (glState.cached_DEPTH_CLAMP) {
glDisable(GL_DEPTH_CLAMP);
glState.cached_DEPTH_CLAMP = false;
}
break;
case GL_DITHER:
if (glState.cached_DITHER) {
glDisable(GL_DITHER);
@ -206,6 +213,12 @@ void inline cache_glEnable(GLenum cap)
glState.cached_DEPTH_TEST = true;
}
break;
case GL_DEPTH_CLAMP:
if (!glState.cached_DEPTH_CLAMP) {
glEnable(GL_DEPTH_CLAMP);
glState.cached_DEPTH_CLAMP = true;
}
break;
case GL_DITHER:
if (!glState.cached_DITHER) {
glEnable(GL_DITHER);