From 2a68e00145f1eb68f25e7dcdf76a9d1f2184544a Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 23 Jun 2018 16:30:59 -0500 Subject: [PATCH] radeonsi: Use signed char for color_interp_vgpr_index 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 --- 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 9e8d573625..791ed27324 100644 --- a/src/gallium/drivers/radeonsi/si_shader.h +++ b/src/gallium/drivers/radeonsi/si_shader.h @@ -507,7 +507,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 color_interp_vgpr_index[2]; /* -1 == constant */ } ps_prolog; struct { struct si_ps_epilog_bits states; -- 2.17.1