lima: fix width 4096 resolution GP fail
authorQiang Yu <yuq825@gmail.com>
Thu, 9 May 2019 12:40:24 +0000 (20:40 +0800)
committerQiang Yu <yuq825@gmail.com>
Fri, 10 May 2019 08:07:40 +0000 (16:07 +0800)
When width=4096 and shift_w=0, block_w=0x100 which overflow
the PLBU_CMD 8 bits for it.

Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
src/gallium/drivers/lima/lima_draw.c

index 99b2675cb1e07b50d2f7231562796265a9cf899a..6751575a1da624396f7a9ce4e866a797f5387053 100644 (file)
@@ -140,7 +140,7 @@ struct lima_render_state {
    PLBU_CMD(((shift_min) << 28) | ((shift_h) << 16) | (shift_w), 0x1000010C)
 #define PLBU_CMD_TILED_DIMENSIONS(tiled_w, tiled_h) \
    PLBU_CMD((((tiled_w) - 1) << 24) | (((tiled_h) - 1) << 8), 0x10000109)
-#define PLBU_CMD_BLOCK_STRIDE(block_w) PLBU_CMD(block_w, 0x30000000)
+#define PLBU_CMD_BLOCK_STRIDE(block_w) PLBU_CMD((block_w) & 0xff, 0x30000000)
 #define PLBU_CMD_ARRAY_ADDRESS(gp_stream, block_num) \
    PLBU_CMD(gp_stream, 0x28000000 | ((block_num) - 1) | 1)
 #define PLBU_CMD_VIEWPORT_X(v) PLBU_CMD(v, 0x10000107)