This was identified by Coverity.
4bb9c0a28a5 added uses of a third
address register, but the arrays for tracking address registers only
have two slots.
Add back a version of the assertion from before
4bb9c0a28a5 to help
prevent future problems. I don't think any drivers that would hit
this path use NIR-to-TGSI yet, so it may be moot.
Reviewed-by: Matt Turner <mattst88@gmail.com>
CID: 1496942
CID: 1496944
Fixes:
4bb9c0a28a5 ("nir_to_tgsi: Use the same address reg mappings as GLSL-to-TGSI did.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14487>
bool native_integers;
bool has_txf_lz;
- bool addr_declared[2];
- struct ureg_dst addr_reg[2];
+ bool addr_declared[3];
+ struct ureg_dst addr_reg[3];
/* if condition set up at the end of a block, for ntt_emit_if(). */
struct ureg_src if_cond;
static struct ureg_src
ntt_reladdr(struct ntt_compile *c, struct ureg_src addr, int addr_index)
{
+ assert(addr_index < ARRAY_SIZE(c->addr_reg));
+
for (int i = 0; i <= addr_index; i++) {
if (!c->addr_declared[i]) {
c->addr_reg[i] = ureg_writemask(ureg_DECL_address(c->ureg),