if (*ptr != vao) {
_mesa_reference_vao_(ctx, ptr, vao);
_mesa_update_edgeflag_state_vao(ctx);
- ctx->Array.NewVAO = true;
+ ctx->NewDriverState |= ST_NEW_VERTEX_ARRAYS;
+ ctx->Array.NewVertexElements = true;
}
}
_mesa_reference_vao(ctx, &ctx->Array._DrawVAO, NULL);
ctx->Array._DrawVAO = saved;
_mesa_update_edgeflag_state_vao(ctx);
- ctx->Array.NewVAO = true;
+ ctx->NewDriverState |= ST_NEW_VERTEX_ARRAYS;
+ ctx->Array.NewVertexElements = true;
}
/**
_mesa_update_vao_state(struct gl_context *ctx, GLbitfield filter)
{
struct gl_vertex_array_object *vao = ctx->Array._DrawVAO;
- bool new_vertex_buffers, new_vertex_elements;
-
- new_vertex_buffers = new_vertex_elements = ctx->Array.NewVAO;
- ctx->Array.NewVAO = false;
+ bool new_vertex_buffers = false, new_vertex_elements = false;
if (vao->NewVertexBuffers || vao->NewVertexElements) {
if (!vao->IsDynamic)
bool _PolygonModeAlwaysCulls;
/**
- * Whether the VAO has been changed.
- */
- bool NewVAO;
-
- /**
* If gallium vertex buffers are dirty, this flag indicates whether gallium
* vertex elements are dirty too. If this is false, GL states corresponding
* to vertex elements have not been changed. Thus, this affects what will