Mesa (master): r600g: fix streamout on evergreen

Alex Deucher agd5f at kemper.freedesktop.org
Fri Jan 20 20:21:21 UTC 2012


Module: Mesa
Branch: master
Commit: c60dcc49e443eb1442b8f191e63078f2558eec31
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c60dcc49e443eb1442b8f191e63078f2558eec31

Author: Vadim Girlin <vadimgirlin at gmail.com>
Date:   Wed Jan 18 13:46:26 2012 +0400

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 <vadimgirlin at gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

---

 src/gallium/drivers/r600/evergreen_hw_context.c |    6 ++++++
 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 e75eaf2..9401d82 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);




More information about the mesa-commit mailing list