diff options
author | Marek Olšák <maraeo@gmail.com> | 2012-12-19 16:59:45 +0100 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2012-12-22 00:07:30 +0100 |
commit | 42f71b4861b9d01a8f925fea3182fc1a292222f3 (patch) | |
tree | 9d92937d633def0ad2f0b6abc3cc7fdba63f14b3 | |
parent | 9311e55c8ad97329bb2d06a0680f5165de9b21f5 (diff) |
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@redhat.com>
(cherry picked from commit 6a2ec765bd22ae5d94e5fdac8507c659175efa4e)
Conflicts:
src/gallium/drivers/r600/r600_shader.c
-rw-r--r-- | 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 1f8ab2b02a5..76e26e8464c 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; |