diff options
| author | Marek Olšák <maraeo@gmail.com> | 2010-03-20 18:31:11 +0100 | 
|---|---|---|
| committer | Marek Olšák <maraeo@gmail.com> | 2010-03-20 18:54:55 +0100 | 
| commit | 3d72c4ae78cfdad7d160b0960adb792cbbbb863b (patch) | |
| tree | dba7973db2a71f380c993b04e6e46db708fddde7 /src/mesa | |
| parent | f0491c945cb5d10ef1c45f4e28e874dffba8be4b (diff) | |
r300/compiler: fix assertion failure in the r500-fragprog emission path
Diffstat (limited to 'src/mesa')
| -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 710cae727a..4e84eefd65 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) { | 
