r300-gallium: Ensure that no dirty state goes unemitted.

This commit is contained in:
Corbin Simpson 2009-06-08 23:52:43 -07:00
parent f57280cc73
commit f80b7f4683

View file

@ -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);