From 44e0c0e6ecbe578281e0aff3fbffb29116b42d1b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Fri, 13 May 2016 00:04:04 -0500 Subject: [PATCH] radeonsi: fix undefined left-shift into sign bit MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Brian Paul Reviewed-by: Marek Olšák --- src/gallium/drivers/radeonsi/cik_sdma.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/cik_sdma.c b/src/gallium/drivers/radeonsi/cik_sdma.c index d8ec2a3..a36bbce 100644 --- a/src/gallium/drivers/radeonsi/cik_sdma.c +++ b/src/gallium/drivers/radeonsi/cik_sdma.c @@ -370,12 +370,13 @@ static bool cik_sdma_copy_texture(struct si_context *sctx, copy_height <= (1 << 14) && copy_depth <= (1 << 11)) { struct radeon_winsys_cs *cs = sctx->b.dma.cs; + uint32_t direction = linear == rdst ? 1u << 31 : 0; r600_need_dma_space(&sctx->b, 14, &rdst->resource, &rsrc->resource); radeon_emit(cs, CIK_SDMA_PACKET(CIK_SDMA_OPCODE_COPY, CIK_SDMA_COPY_SUB_OPCODE_TILED_SUB_WINDOW, 0) | - ((linear == rdst) << 31)); + direction); radeon_emit(cs, tiled_address); radeon_emit(cs, tiled_address >> 32); radeon_emit(cs, tiled_x | (tiled_y << 16)); -- 2.7.4