[Mesa-dev] [PATCH] r600g: fix combined MEM_STREAM instructions

Vadim Girlin vadimgirlin at gmail.com
Wed Jan 18 11:17:29 PST 2012


BURST_COUNT is clipped with ARRAY_SIZE, so set it to the max value
to avoid clipping.

Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
---
 src/gallium/drivers/r600/r600_shader.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 59d41cf..ce7f26b 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -1014,7 +1014,9 @@ static int r600_shader_from_tgsi(struct r600_pipe_context * rctx, struct r600_pi
 			output.type = V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_WRITE;
 			output.burst_count = 1;
 			output.barrier = 1;
-			output.array_size = 0;
+			/* array_size is an upper limit for the burst_count
+			 * with MEM_STREAM instructions */
+			output.array_size = 0xFFF;
 			output.comp_mask = (1 << so.output[i].num_components) - 1;
 			if (ctx.bc->chip_class >= EVERGREEN) {
 				switch (so.output[i].output_buffer) {
-- 
1.7.7.5



More information about the mesa-dev mailing list