aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2009-06-08 23:52:43 -0700
committerCorbin Simpson <[email protected]>2009-06-26 21:25:40 -0700
commitf80b7f46835f42065d2489f2e1f501187ee026b6 (patch)
treede2b8b2785bd29930b1a6c54b6df79c75d7845cf /src
parentf57280cc7360d0eee40df6d34befbfad2288d297 (diff)
r300-gallium: Ensure that no dirty state goes unemitted.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/r300/r300_emit.c6
1 files changed, 4 insertions, 2 deletions
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);