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 <tpearson@raptorengineering.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>tags/18.2-branchpoint
@@ -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; |