From: Jason Ekstrand Date: Fri, 14 Dec 2018 17:16:09 +0000 (-0600) Subject: nir/validate: Require array indices to match the deref bit size X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cd93b0a670f277349b421664583196a56e3a9f50;p=mesa.git nir/validate: Require array indices to match the deref bit size This doesn't currently change anything because array indices are required to be 32 bits and all derefs are also 32 bits. However, we will one day have 64-bit derefs for OpenCL. Reviewed-by: Alejandro PiƱeiro Reviewed-by: Caio Marcelo de Oliveira Filho --- diff --git a/src/compiler/nir/nir_validate.c b/src/compiler/nir/nir_validate.c index c896b9a8037..063de4faf27 100644 --- a/src/compiler/nir/nir_validate.c +++ b/src/compiler/nir/nir_validate.c @@ -464,8 +464,10 @@ validate_deref_instr(nir_deref_instr *instr, validate_state *state) validate_assert(state, instr->type == glsl_get_array_element(parent->type)); - if (instr->deref_type == nir_deref_type_array) - validate_src(&instr->arr.index, state, 32, 1); + if (instr->deref_type == nir_deref_type_array) { + validate_src(&instr->arr.index, state, + nir_dest_bit_size(instr->dest), 1); + } break; default: