diff options
author | Marek Olšák <[email protected]> | 2010-03-20 18:31:11 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2010-03-20 18:54:55 +0100 |
commit | 3d72c4ae78cfdad7d160b0960adb792cbbbb863b (patch) | |
tree | dba7973db2a71f380c993b04e6e46db708fddde7 /src | |
parent | f0491c945cb5d10ef1c45f4e28e874dffba8be4b (diff) |
r300/compiler: fix assertion failure in the r500-fragprog emission path
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c | 5 |
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) { |