if (ctx->NewState)
_mesa_update_state(ctx);
- if (st->dirty_cp.st || ctx->NewDriverState)
+ if (st->dirty_cp.st || st->dirty_cp.mesa || ctx->NewDriverState)
st_validate_state(st, ST_PIPELINE_COMPUTE);
for (unsigned i = 0; i < 3; i++) {
/* Invalidate render and compute pipelines. */
st->dirty.mesa |= new_state;
- st->dirty.st |= ST_NEW_MESA;
st->dirty_cp.mesa |= new_state;
- st->dirty_cp.st |= ST_NEW_MESA;
/* This is the only core Mesa module we depend upon.
* No longer use swrast, swsetup, tnl.
struct u_upload_mgr;
-#define ST_NEW_MESA (1 << 0) /* Mesa state has changed */
+/* gap */
#define ST_NEW_FRAGMENT_PROGRAM (1 << 1)
#define ST_NEW_VERTEX_PROGRAM (1 << 2)
#define ST_NEW_FRAMEBUFFER (1 << 3)
st_flush_bitmap_cache(st);
/* Validate state. */
- if (st->dirty.st || ctx->NewDriverState) {
+ if (st->dirty.st || st->dirty.mesa || ctx->NewDriverState) {
st_validate_state(st, ST_PIPELINE_RENDER);
#if 0
assert(stride);
/* Validate state. */
- if (st->dirty.st || ctx->NewDriverState) {
+ if (st->dirty.st || st->dirty.mesa || ctx->NewDriverState) {
st_validate_state(st, ST_PIPELINE_RENDER);
}