aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-02-26 15:12:36 -0500
committerTom Stellard <[email protected]>2012-02-26 15:13:46 -0500
commit7acbbc07048d85ee16b15b48a00e232cd26e2322 (patch)
treee04f0320242417586808b9ac9f259e73e3fd7a3c /src/gallium/drivers/r300
parent134a0a5ff88851c971fb95863317f640b5b9fa3a (diff)
r300/compiler: Schedule KIL instructions before output writes
Diffstat (limited to 'src/gallium/drivers/r300')
-rw-r--r--src/gallium/drivers/r300/compiler/radeon_pair_schedule.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c b/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c
index d2302063e62..df54b084de1 100644
--- a/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c
+++ b/src/gallium/drivers/r300/compiler/radeon_pair_schedule.c
@@ -1104,6 +1104,10 @@ static void emit_instruction(
#endif
for (tex_ptr = s->ReadyTEX; tex_ptr; tex_ptr = tex_ptr->NextReady) {
+ if (tex_ptr->Instruction->U.I.Opcode == RC_OPCODE_KIL) {
+ emit_all_tex(s, before);
+ return;
+ }
tex_count++;
}
update_max_score(s, &s->ReadyFullALU, &max_score, &max_inst, &max_list);