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

Marek Olšák mareko at kemper.freedesktop.org
Sat Dec 22 01:48:22 UTC 2012


Module: Mesa
Branch: 9.0
Commit: 42f71b4861b9d01a8f925fea3182fc1a292222f3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=42f71b4861b9d01a8f925fea3182fc1a292222f3

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>
(cherry picked from commit 6a2ec765bd22ae5d94e5fdac8507c659175efa4e)

Conflicts:
	src/gallium/drivers/r600/r600_shader.c

---

 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 1f8ab2b..76e26e8 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -1482,7 +1482,7 @@ static int r600_shader_from_tgsi(struct r600_context * rctx, struct r600_pipe_sh
 
 			memset(&output, 0, sizeof(struct r600_bytecode_output));
 			output.gpr = shader->output[so.output[i].register_index].gpr;
-			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