diff --git a/src/mapi/glapi/gen/EXT_direct_state_access.xml b/src/mapi/glapi/gen/EXT_direct_state_access.xml index 620a09b9613..e152f0139eb 100644 --- a/src/mapi/glapi/gen/EXT_direct_state_access.xml +++ b/src/mapi/glapi/gen/EXT_direct_state_access.xml @@ -26,7 +26,8 @@ - + diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c index ec0df4dd9cf..aefd7658ba5 100644 --- a/src/mesa/main/matrix.c +++ b/src/mesa/main/matrix.c @@ -569,7 +569,9 @@ static void matrix_mult(struct gl_matrix_stack *stack, const GLfloat *m, const char* caller) { GET_CURRENT_CONTEXT(ctx); - if (!m || _mesa_matrix_is_identity(m)) + + /* glthread filters out identity matrices, so don't do it again. */ + if (!m || (!ctx->GLThread.enabled && _mesa_matrix_is_identity(m))) return; if (MESA_VERBOSE & VERBOSE_API)