X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fnv30%2Fnv30_state_emit.c;h=deefe7fd8db1eba2cf47c265ecafd1f2cc2ec984;hb=2657325c4a73a2bfa94888a936d06466000e7fbf;hp=ac52d946f021232356e8912b47041080fe19d049;hpb=43867acb6afc7fad26cdc2f22b2a3bb6eeefb2da;p=mesa.git diff --git a/src/gallium/drivers/nv30/nv30_state_emit.c b/src/gallium/drivers/nv30/nv30_state_emit.c index ac52d946f02..deefe7fd8db 100644 --- a/src/gallium/drivers/nv30/nv30_state_emit.c +++ b/src/gallium/drivers/nv30/nv30_state_emit.c @@ -12,6 +12,7 @@ static struct nv30_state_entry *render_states[] = { &nv30_state_blend, &nv30_state_blend_colour, &nv30_state_zsa, + &nv30_state_sr, &nv30_state_viewport, &nv30_state_vbo, NULL @@ -44,13 +45,15 @@ nv30_state_emit(struct nv30_context *nv30) unsigned i; uint64_t states; - if (nv30->pctx_id != screen->cur_pctx) { + /* XXX: racy! + */ + if (nv30 != screen->cur_ctx) { for (i = 0; i < NV30_STATE_MAX; i++) { if (state->hw[i] && screen->state[i] != state->hw[i]) state->dirty |= (1ULL << i); } - screen->cur_pctx = nv30->pctx_id; + screen->cur_ctx = nv30; } for (i = 0, states = state->dirty; states; i++) {