mesa: don't update fixed-func vert prog on irrelevant _NEW_TRANSFORM changes

Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8850>
This commit is contained in:
Marek Olšák 2021-02-03 13:13:51 -05:00 committed by Marge Bot
parent ec978e002f
commit 9fa766adbe
2 changed files with 6 additions and 6 deletions

View file

@ -803,7 +803,8 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Transform.Normalize == state)
return;
FLUSH_VERTICES(ctx, _NEW_TRANSFORM, GL_TRANSFORM_BIT | GL_ENABLE_BIT);
FLUSH_VERTICES(ctx, _NEW_TRANSFORM | _NEW_FF_VERT_PROGRAM,
GL_TRANSFORM_BIT | GL_ENABLE_BIT);
ctx->Transform.Normalize = state;
break;
case GL_POINT_SMOOTH:
@ -872,7 +873,8 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Transform.RescaleNormals == state)
return;
FLUSH_VERTICES(ctx, _NEW_TRANSFORM, GL_TRANSFORM_BIT | GL_ENABLE_BIT);
FLUSH_VERTICES(ctx, _NEW_TRANSFORM | _NEW_FF_VERT_PROGRAM,
GL_TRANSFORM_BIT | GL_ENABLE_BIT);
ctx->Transform.RescaleNormals = state;
break;
case GL_SCISSOR_TEST:

View file

@ -492,10 +492,8 @@ _mesa_update_state_locked( struct gl_context *ctx )
_NEW_COLOR | _NEW_TEXTURE_STATE;
}
if (ctx->VertexProgram._UsesTnlProgram) {
prog_flags |= _NEW_FF_VERT_PROGRAM | _NEW_TRANSFORM | _NEW_POINT |
_NEW_FOG;
}
if (ctx->VertexProgram._UsesTnlProgram)
prog_flags |= _NEW_FF_VERT_PROGRAM | _NEW_POINT | _NEW_FOG;
if (new_state & prog_flags) {
/* When we generate programs from fixed-function vertex/fragment state