summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2010-03-20 18:31:11 +0100
committerMarek Olšák <[email protected]>2010-03-20 18:54:55 +0100
commit3d72c4ae78cfdad7d160b0960adb792cbbbb863b (patch)
treedba7973db2a71f380c993b04e6e46db708fddde7
parentf0491c945cb5d10ef1c45f4e28e874dffba8be4b (diff)
r300/compiler: fix assertion failure in the r500-fragprog emission path
-rw-r--r--src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c5
1 files changed, 2 insertions, 3 deletions
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) {