summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2012-01-18 13:46:26 +0400
committerAlex Deucher <[email protected]>2012-01-20 15:10:39 -0500
commitc60dcc49e443eb1442b8f191e63078f2558eec31 (patch)
tree090ed79e6a4a9dc225d7e999389c26bfbe708599 /src
parentc97632642a7d84a8a21ffde37b3907632e0d01c0 (diff)
r600g: fix streamout on evergreen
Enable it in the evergreen_context_draw if needed. Same as already done in the r600_context_draw for r6xx/r7xx. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/r600/evergreen_hw_context.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/evergreen_hw_context.c b/src/gallium/drivers/r600/evergreen_hw_context.c
index e75eaf2b79f..9401d823166 100644
--- a/src/gallium/drivers/r600/evergreen_hw_context.c
+++ b/src/gallium/drivers/r600/evergreen_hw_context.c
@@ -1168,6 +1168,12 @@ void evergreen_context_draw(struct r600_context *ctx, const struct r600_draw *dr
r600_context_block_resource_emit_dirty(ctx, dirty_block);
}
+ /* Enable stream out if needed. */
+ if (ctx->streamout_start) {
+ r600_context_streamout_begin(ctx);
+ ctx->streamout_start = FALSE;
+ }
+
/* draw packet */
pm4 = &ctx->pm4[ctx->pm4_cdwords];
pm4[0] = PKT3(PKT3_INDEX_TYPE, 0, ctx->predicate_drawing);