Commit 7dfbee61 by Nicolas Capens

Update validation for GL_COMBINE.

Bug 21278131 Change-Id: I9542d396cb7ea10b8ce2b5ef2050606e68cdffb9 Reviewed-on: https://swiftshader-review.googlesource.com/3233Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com>
parent 1a5d6ad4
......@@ -2023,6 +2023,16 @@ void Context::setTextureEnvMode(GLenum texEnvMode)
mState.textureUnit[mState.activeSampler].environmentMode = texEnvMode;
}
void Context::setCombineRGB(GLenum combineRGB)
{
mState.textureUnit[mState.activeSampler].combineRGB = combineRGB;
}
void Context::setCombineAlpha(GLenum combineAlpha)
{
mState.textureUnit[mState.activeSampler].combineAlpha = combineAlpha;
}
void Context::applyTexture(int index, Texture *baseTexture)
{
sw::Resource *resource = 0;
......
......@@ -351,6 +351,8 @@ public:
unsigned int getActiveTexture() const;
void setTextureEnvMode(GLenum texEnvMode);
void setCombineRGB(GLenum combineRGB);
void setCombineAlpha(GLenum combineAlpha);
void setLineWidth(GLfloat width);
......
......@@ -3141,36 +3141,35 @@ void TexEnvi(GLenum target, GLenum pname, GLint param)
switch((GLenum)param)
{
case GL_REPLACE:
UNIMPLEMENTED();
break;
case GL_MODULATE:
UNIMPLEMENTED();
break;
case GL_ADD:
context->setTextureEnvMode((GLenum)param);
break;
case GL_ADD_SIGNED:
UNIMPLEMENTED();
break;
case GL_INTERPOLATE:
UNIMPLEMENTED();
break;
case GL_SUBTRACT:
UNIMPLEMENTED();
break;
case GL_DOT3_RGB:
UNIMPLEMENTED();
break;
case GL_DOT3_RGBA:
UNIMPLEMENTED();
break;
default:
error(GL_INVALID_ENUM);
}
context->setCombineRGB((GLenum)param);
break;
case GL_COMBINE_ALPHA:
UNIMPLEMENTED();
switch((GLenum)param)
{
case GL_REPLACE:
case GL_MODULATE:
case GL_ADD:
case GL_ADD_SIGNED:
case GL_INTERPOLATE:
case GL_SUBTRACT:
break;
default:
error(GL_INVALID_ENUM);
}
context->setCombineAlpha((GLenum)param);
break;
case GL_RGB_SCALE:
UNIMPLEMENTED();
......@@ -3178,6 +3177,24 @@ void TexEnvi(GLenum target, GLenum pname, GLint param)
case GL_ALPHA_SCALE:
UNIMPLEMENTED();
break;
case GL_OPERAND0_RGB:
UNIMPLEMENTED();
break;
case GL_OPERAND1_RGB:
UNIMPLEMENTED();
break;
case GL_OPERAND2_RGB:
UNIMPLEMENTED();
break;
case GL_OPERAND0_ALPHA:
UNIMPLEMENTED();
break;
case GL_OPERAND1_ALPHA:
UNIMPLEMENTED();
break;
case GL_OPERAND2_ALPHA:
UNIMPLEMENTED();
break;
default:
return error(GL_INVALID_ENUM);
}
......
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