Mesa (master): r600g: try to fix streamout for the cases where BURST_COUNT > 0

Marek Olšák mareko at kemper.freedesktop.org
Thu Dec 20 16:13:37 UTC 2012


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Wed Dec 19 16:59:45 2012 +0100

r600g: try to fix streamout for the cases where BURST_COUNT > 0

The burst was incorrectly used, because ELEM_SIZE was always 0.
I don't know if the burst works, because I don't know of any test
which uses it.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Dave Airlie <airlied at redhat.com>

---

 src/gallium/drivers/r600/r600_shader.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 55b5db3..470a345 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -1587,7 +1587,7 @@ static int r600_shader_from_tgsi(struct r600_screen *rscreen,
 
 			memset(&output, 0, sizeof(struct r600_bytecode_output));
 			output.gpr = so_gpr[i];
-			output.elem_size = 0;
+			output.elem_size = so.output[i].num_components;
 			output.array_base = so.output[i].dst_offset - so.output[i].start_component;
 			output.type = V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_WRITE;
 			output.burst_count = 1;




More information about the mesa-commit mailing list