GLES1: Fixes for Gets() test
- Fixed wrong face parameter for glGetMaterial*.
- Enabled GL_LINE_SMOOTH capability in state only (no rendering yet)
- Enabled logical operation capability in state only (no rendering yet)
- Fixed wrong handling of GL_RGB/ALPHA_SCALE and
GL_POINT_COORD_REPLACE_OES
Test: Enable and pass Gets() GLES1 conformance test
BUG=angleproject:2306
Change-Id: Ib5c50a2055129b76ad24053baf0dac24dcc00761
Reviewed-on: https://chromium-review.googlesource.com/1176161
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
diff --git a/src/libANGLE/State.cpp b/src/libANGLE/State.cpp
index 2124ce5..e26f7b8 100644
--- a/src/libANGLE/State.cpp
+++ b/src/libANGLE/State.cpp
@@ -819,9 +819,15 @@
case GL_POINT_SMOOTH:
mGLES1State.mPointSmoothEnabled = enabled;
break;
+ case GL_LINE_SMOOTH:
+ mGLES1State.mLineSmoothEnabled = enabled;
+ break;
case GL_POINT_SPRITE_OES:
mGLES1State.mPointSpriteEnabled = enabled;
break;
+ case GL_COLOR_LOGIC_OP:
+ mGLES1State.mLogicOpEnabled = enabled;
+ break;
default:
UNREACHABLE();
}
@@ -919,8 +925,12 @@
return mGLES1State.mFogEnabled;
case GL_POINT_SMOOTH:
return mGLES1State.mPointSmoothEnabled;
+ case GL_LINE_SMOOTH:
+ return mGLES1State.mLineSmoothEnabled;
case GL_POINT_SPRITE_OES:
return mGLES1State.mPointSpriteEnabled;
+ case GL_COLOR_LOGIC_OP:
+ return mGLES1State.mLogicOpEnabled;
default:
UNREACHABLE();
return false;
@@ -2444,6 +2454,26 @@
case GL_SHADE_MODEL:
*params = ToGLenum(mGLES1State.mShadeModel);
break;
+ case GL_MODELVIEW_STACK_DEPTH:
+ case GL_PROJECTION_STACK_DEPTH:
+ case GL_TEXTURE_STACK_DEPTH:
+ *params = mGLES1State.getCurrentMatrixStackDepth(pname);
+ break;
+ case GL_LOGIC_OP_MODE:
+ *params = ToGLenum(mGLES1State.mLogicOp);
+ break;
+ case GL_BLEND_SRC:
+ *params = mBlend.sourceBlendRGB;
+ break;
+ case GL_BLEND_DST:
+ *params = mBlend.destBlendRGB;
+ break;
+ case GL_PERSPECTIVE_CORRECTION_HINT:
+ case GL_POINT_SMOOTH_HINT:
+ case GL_LINE_SMOOTH_HINT:
+ case GL_FOG_HINT:
+ *params = mGLES1State.getHint(pname);
+ break;
default:
UNREACHABLE();
break;