diff options
author | Eric Anholt <eric@anholt.net> | 2016-10-06 16:46:35 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2016-10-06 18:09:24 -0700 |
commit | b30205b1120d4a87b6fb8eac9dea9a7f7a065123 (patch) | |
tree | d4db6bf42179ce07a90b744f0cd270e44ee8c90e /src/gallium/drivers/vc4/vc4_program.c | |
parent | c81ec84c1ec24f11f86b2fb725956437c721fe18 (diff) | |
download | external_mesa3d-b30205b1120d4a87b6fb8eac9dea9a7f7a065123.zip external_mesa3d-b30205b1120d4a87b6fb8eac9dea9a7f7a065123.tar.gz external_mesa3d-b30205b1120d4a87b6fb8eac9dea9a7f7a065123.tar.bz2 |
vc4: Fix assertion fails from trying to cast non-ALU instrs to ALU.
Fixes 100 piglit tests since the assertions were added to nir.h. What's
amazing is that these tests used to pass, even when casting garbage.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_program.c')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_program.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c index 84add52..a91e620 100644 --- a/src/gallium/drivers/vc4/vc4_program.c +++ b/src/gallium/drivers/vc4/vc4_program.c @@ -918,6 +918,8 @@ static struct qreg ntq_emit_bcsel(struct vc4_compile *c, nir_alu_instr *instr, { if (!instr->src[0].src.is_ssa) goto out; + if (instr->src[0].src.ssa->parent_instr->type != nir_instr_type_alu) + goto out; nir_alu_instr *compare = nir_instr_as_alu(instr->src[0].src.ssa->parent_instr); if (!compare) |