radeon: don't emit streamout state if there are no streamout buffers
authorMarek Olšák <marek.olsak@amd.com>
Sun, 1 Sep 2013 21:00:28 +0000 (23:00 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 12 Sep 2013 23:04:44 +0000 (01:04 +0200)
This could happen if set_stream_output_targets is called twice
in a row without a draw call in between.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/drivers/radeon/r600_streamout.c

index 313d7378c89766aebf9e140811d49cae23cffce3..18f7d8883b534f93dd1436c29624dc4fd64068b2 100644 (file)
@@ -137,6 +137,8 @@ void r600_set_streamout_targets(struct pipe_context *ctx,
 
        if (num_targets) {
                r600_streamout_buffers_dirty(rctx);
+       } else {
+               rctx->streamout.begin_atom.dirty = false;
        }
 }