Adds support for hints

TRAC #11343 Author: Shannon Woods Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@56 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 3489e3ae
......@@ -150,6 +150,8 @@ struct State
bool scissorTest;
bool dither;
GLenum generateMipmapHint;
GLint viewportX;
GLint viewportY;
GLsizei viewportWidth;
......
......@@ -75,6 +75,7 @@ Context::Context(const egl::Config *config)
sampleCoverageInvert = GL_FALSE;
scissorTest = false;
dither = true;
generateMipmapHint = GL_DONT_CARE;
viewportX = 0;
viewportY = 0;
......
......@@ -1797,6 +1797,7 @@ void __stdcall glGetIntegerv(GLenum pname, GLint* params)
case GL_CURRENT_PROGRAM: *params = context->currentProgram; break;
case GL_PACK_ALIGNMENT: *params = context->packAlignment; break;
case GL_UNPACK_ALIGNMENT: *params = context->unpackAlignment; break;
case GL_GENERATE_MIPMAP_HINT: *params = context->generateMipmapHint; break;
case GL_RED_BITS:
case GL_GREEN_BITS:
case GL_BLUE_BITS:
......@@ -2248,7 +2249,29 @@ void __stdcall glHint(GLenum target, GLenum mode)
try
{
UNIMPLEMENTED(); // FIXME
switch (target)
{
case GL_GENERATE_MIPMAP_HINT:
switch (mode)
{
case GL_FASTEST:
case GL_NICEST:
case GL_DONT_CARE:
break;
default:
return error(GL_INVALID_ENUM);
}
break;
default:
return error(GL_INVALID_ENUM);
}
gl::Context *context = gl::getContext();
if (context)
{
if (target == GL_GENERATE_MIPMAP_HINT)
context->generateMipmapHint = mode;
}
}
catch(std::bad_alloc&)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment