diff options
author | Marek Olšák <[email protected]> | 2010-03-20 18:31:11 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2010-03-21 02:06:44 +0100 |
commit | 7b38f946a05045323da0d367baff19bb62950af9 (patch) | |
tree | 45d360c7b1994f02c7914afbf2c8e9079426a9a0 /src/mesa/drivers/dri/r300 | |
parent | 44cfc4ad740bfc89fc30e19fde4dcc130c605d02 (diff) |
r300/compiler: fix assertion failure in the r500-fragprog emission path
Diffstat (limited to 'src/mesa/drivers/dri/r300')
-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) { |