diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 5214858c22c..072d8b11cac 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -2494,7 +2494,7 @@ static void *si_create_vertex_elements(struct pipe_context *ctx, case UTIL_FORMAT_TYPE_SIGNED: if (desc->channel[first_non_void].normalized) num_format = V_008F0C_BUF_NUM_FORMAT_SNORM; - else if (desc->channel[i].pure_integer) + else if (desc->channel[first_non_void].pure_integer) num_format = V_008F0C_BUF_NUM_FORMAT_SINT; else num_format = V_008F0C_BUF_NUM_FORMAT_SSCALED; @@ -2502,7 +2502,7 @@ static void *si_create_vertex_elements(struct pipe_context *ctx, case UTIL_FORMAT_TYPE_UNSIGNED: if (desc->channel[first_non_void].normalized) num_format = V_008F0C_BUF_NUM_FORMAT_UNORM; - else if (desc->channel[i].pure_integer) + else if (desc->channel[first_non_void].pure_integer) num_format = V_008F0C_BUF_NUM_FORMAT_UINT; else num_format = V_008F0C_BUF_NUM_FORMAT_USCALED;