From: Marek Olšák Date: Sat, 20 Mar 2010 17:31:11 +0000 (+0100) Subject: r300/compiler: fix assertion failure in the r500-fragprog emission path X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3d72c4ae78cfdad7d160b0960adb792cbbbb863b;p=mesa.git r300/compiler: fix assertion failure in the r500-fragprog emission path --- diff --git a/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c b/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c index 710cae727a1..4e84eefd658 100644 --- a/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c +++ b/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c @@ -469,9 +469,8 @@ void r500BuildFragmentProgramHwCode(struct r300_fragment_program_compiler *compi if (compiler->Base.Error) return; - assert(code->inst_end >= 0); - - if ((code->inst[code->inst_end].inst0 & R500_INST_TYPE_MASK) != R500_INST_TYPE_OUT) { + if (code->inst_end == -1 || + (code->inst[code->inst_end].inst0 & R500_INST_TYPE_MASK) != R500_INST_TYPE_OUT) { /* This may happen when dead-code elimination is disabled or * when most of the fragment program logic is leading to a KIL */ if (code->inst_end >= 511) {