Commit 53ff8d89 by Maxime Gregoire Committed by Maxime Grégoire

libGL MultMatrixd implementation

Change-Id: Ia1bbe00c9538403b59c2960558b94bd4e7327189 Reviewed-on: https://swiftshader-review.googlesource.com/2520Tested-by: 's avatarMaxime Grégoire <mgregoire@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent e1a8986f
......@@ -3164,6 +3164,16 @@ void Context::scale(GLfloat x, GLfloat y, GLfloat z)
currentMatrixStack().scale(x, y, z);
}
void Context::multiply(const GLdouble *m)
{
if(drawing)
{
return error(GL_INVALID_OPERATION);
}
currentMatrixStack().multiply(m);
}
void Context::multiply(const GLfloat *m)
{
if(drawing)
......
......@@ -681,6 +681,7 @@ public:
void rotate(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
void translate(GLfloat x, GLfloat y, GLfloat z);
void scale(GLfloat x, GLfloat y, GLfloat z);
void multiply(const GLdouble *m);
void multiply(const GLfloat *m);
void ortho(double left, double right, double bottom, double top, double zNear, double zFar); // FIXME: GLdouble
......
......@@ -6759,7 +6759,19 @@ void APIENTRY glMatrixMode(GLenum mode)
void APIENTRY glMultMatrixd(const GLdouble *m)
{
UNIMPLEMENTED();
TRACE("(*)");
gl::Context *context = gl::getContext();
if(context)
{
if(context->getListIndex() != 0)
{
UNIMPLEMENTED();
}
context->multiply(m);
}
}
void APIENTRY glMultMatrixm(sw::Matrix m)
......
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