diff options
-rw-r--r-- | src/gallium/drivers/r300/r300_emit.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 86325f675be..4e82c322df1 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -152,7 +152,7 @@ uint32_t translate_out_fmt(enum pipe_format format) return 0; } -/* XXX add pitch, stride */ +/* XXX add pitch, stride, clean up */ void r300_emit_fb_state(struct r300_context* r300, struct pipe_framebuffer_state* fb) { @@ -324,6 +324,11 @@ void r300_emit_dirty_state(struct r300_context* r300) r300->dirty_state &= ~R300_NEW_FRAGMENT_SHADER; } + if (r300->dirty_state & R300_NEW_FRAMEBUFFERS) { + r300_emit_fb_state(r300, &r300->framebuffer_state); + r300->dirty_state &= ~R300_NEW_FRAMEBUFFERS; + } + if (r300->dirty_state & R300_NEW_RASTERIZER) { r300_emit_rs_state(r300, r300->rs_state); r300->dirty_state &= ~R300_NEW_RASTERIZER; |