summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2016-07-21 16:56:05 -0700
committerFrancisco Jerez <[email protected]>2016-08-25 18:36:09 -0700
commitbe12a1f36efcdd4628f199d4e11b01cc06787e8a (patch)
treef391d55260f2642bc7f3b0240f3e01df6e6c42ca
parent3daa0fae4b39a271f50f473edbe44712b6c8f040 (diff)
i965/fs: Remove special casing of framebuffer writes in scheduler code.
The reason why it was safe for the scheduler to ignore the side effects of framebuffer write instructions was that its side effects couldn't have had any influence on any other instruction in the program, because we weren't doing framebuffer reads, and framebuffer writes were always non-overlapping. We need actual memory dependency analysis in order to determine whether a side-effectful instruction can be reordered with respect to other instructions in the program. Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
index a8987065f18..f15c0dfc55a 100644
--- a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
+++ b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
@@ -969,8 +969,7 @@ is_scheduling_barrier(const fs_inst *inst)
{
return inst->opcode == FS_OPCODE_PLACEHOLDER_HALT ||
inst->is_control_flow() ||
- inst->eot ||
- (inst->has_side_effects() && inst->opcode != FS_OPCODE_FB_WRITE);
+ inst->has_side_effects();
}
void