diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/main/matrix.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c index b30b983f14f..83f081e88e5 100644 --- a/src/mesa/main/matrix.c +++ b/src/mesa/main/matrix.c @@ -356,9 +356,11 @@ _mesa_LoadMatrixf( const GLfloat *m ) m[2], m[6], m[10], m[14], m[3], m[7], m[11], m[15]); - FLUSH_VERTICES(ctx, 0); - _math_matrix_loadf( ctx->CurrentStack->Top, m ); - ctx->NewState |= ctx->CurrentStack->DirtyFlag; + if (memcmp(m, ctx->CurrentStack->Top->m, 16 * sizeof(GLfloat)) != 0) { + FLUSH_VERTICES(ctx, 0); + _math_matrix_loadf( ctx->CurrentStack->Top, m ); + ctx->NewState |= ctx->CurrentStack->DirtyFlag; + } } |