From a550fbb510c998a0e484e9bf996e2d884ce3230e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 15 Feb 2017 18:49:11 +0100 Subject: [PATCH] gallium/radeon: use TCC line size as alignment in other places MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Nicolai Hähnle --- src/gallium/drivers/radeon/r600_buffer_common.c | 3 ++- src/gallium/drivers/radeon/r600_pipe_common.c | 3 ++- src/gallium/drivers/radeonsi/si_compute.c | 3 ++- src/gallium/drivers/radeonsi/si_descriptors.c | 5 +++-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c index 9e5a8a6dff8..e37e36f3b45 100644 --- a/src/gallium/drivers/radeon/r600_buffer_common.c +++ b/src/gallium/drivers/radeon/r600_buffer_common.c @@ -369,7 +369,8 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx, u_upload_alloc(ctx->stream_uploader, 0, box->width + (box->x % R600_MAP_BUFFER_ALIGNMENT), - 256, &offset, (struct pipe_resource**)&staging, + rctx->screen->info.tcc_cache_line_size, + &offset, (struct pipe_resource**)&staging, (void**)&data); if (staging) { diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index 8405c5e80f9..d573b39d7c0 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -193,7 +193,8 @@ void r600_draw_rectangle(struct blitter_context *blitter, /* Upload vertices. The hw rectangle has only 3 vertices, * I guess the 4th one is derived from the first 3. * The vertex specification should match u_blitter's vertex element state. */ - u_upload_alloc(rctx->b.stream_uploader, 0, sizeof(float) * 24, 256, + u_upload_alloc(rctx->b.stream_uploader, 0, sizeof(float) * 24, + rctx->screen->info.tcc_cache_line_size, &offset, &buf, (void**)&vb); if (!buf) return; diff --git a/src/gallium/drivers/radeonsi/si_compute.c b/src/gallium/drivers/radeonsi/si_compute.c index aae651c4f62..381837c8a57 100644 --- a/src/gallium/drivers/radeonsi/si_compute.c +++ b/src/gallium/drivers/radeonsi/si_compute.c @@ -565,7 +565,8 @@ static void si_upload_compute_input(struct si_context *sctx, /* The extra num_work_size_bytes are for work group / work item size information */ kernel_args_size = program->input_size + num_work_size_bytes; - u_upload_alloc(sctx->b.b.stream_uploader, 0, kernel_args_size, 256, + u_upload_alloc(sctx->b.b.stream_uploader, 0, kernel_args_size, + sctx->screen->b.info.tcc_cache_line_size, &kernel_args_offset, (struct pipe_resource**)&input_buffer, &kernel_args_ptr); diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index 4f2dbbb37c4..b4f1fbfb213 100644 --- a/src/gallium/drivers/radeonsi/si_descriptors.c +++ b/src/gallium/drivers/radeonsi/si_descriptors.c @@ -137,8 +137,9 @@ static bool si_ce_upload(struct si_context *sctx, unsigned ce_offset, unsigned s unsigned *out_offset, struct r600_resource **out_buf) { uint64_t va; - u_suballocator_alloc(sctx->ce_suballocator, size, 64, out_offset, - (struct pipe_resource**)out_buf); + u_suballocator_alloc(sctx->ce_suballocator, size, + sctx->screen->b.info.tcc_cache_line_size, + out_offset, (struct pipe_resource**)out_buf); if (!out_buf) return false; -- 2.30.2