From: Corbin Simpson Date: Tue, 9 Jun 2009 06:52:43 +0000 (-0700) Subject: r300-gallium: Ensure that no dirty state goes unemitted. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f80b7f46835f42065d2489f2e1f501187ee026b6;p=mesa.git r300-gallium: Ensure that no dirty state goes unemitted. --- diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 1d297e85930..1cf6ec2262b 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -597,10 +597,10 @@ validate: for (i = 0; i < r300->sampler_count; i++) { if (r300->dirty_state & (R300_NEW_SAMPLER << i)) { r300_emit_sampler(r300, r300->sampler_states[i], i); - r300->dirty_state &= ~(R300_NEW_SAMPLER << i); dirty_tex++; } } + r300->dirty_state &= ~R300_ANY_NEW_SAMPLERS; } if (r300->dirty_state & R300_NEW_SCISSOR) { @@ -612,10 +612,10 @@ validate: for (i = 0; i < r300->texture_count; i++) { if (r300->dirty_state & (R300_NEW_TEXTURE << i)) { r300_emit_texture(r300, r300->textures[i], i); - r300->dirty_state &= ~(R300_NEW_TEXTURE << i); dirty_tex++; } } + r300->dirty_state &= ~R300_ANY_NEW_TEXTURES; } if (r300->dirty_state & R300_NEW_VIEWPORT) { @@ -637,6 +637,8 @@ validate: r300->dirty_state &= ~R300_NEW_VERTEX_SHADER; } + assert(r300->dirty_state == 0); + /* Finally, emit the VBO. */ r300_emit_vertex_buffer(r300);