From e1621fda84d92f154b19c5bf9562ee6963414399 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Mon, 16 Jul 2018 14:20:42 -0500 Subject: [PATCH] radeonsi: Use signed char for color_interp_vgpr_index MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit color_interp_vgpr_index was declared as a generic char value. Because signed values are used in this variable, the result was not safe across architectures and crashed on ppc64[el] and arm. Declare color_interp_vgpr_index as a signed type. Signed-off-by: Timothy Pearson Signed-off-by: Marek Olšák --- src/gallium/drivers/radeonsi/si_shader.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h index ffe13b761d9..a2fb48ab023 100644 --- a/src/gallium/drivers/radeonsi/si_shader.h +++ b/src/gallium/drivers/radeonsi/si_shader.h @@ -502,7 +502,7 @@ union si_shader_part_key { unsigned ancillary_vgpr_index:5; unsigned wqm:1; char color_attr_index[2]; - char color_interp_vgpr_index[2]; /* -1 == constant */ + signed char color_interp_vgpr_index[2]; /* -1 == constant */ } ps_prolog; struct { struct si_ps_epilog_bits states; -- 2.30.2