From: Francisco Jerez Date: Thu, 21 Jul 2016 23:56:05 +0000 (-0700) Subject: i965/fs: Remove special casing of framebuffer writes in scheduler code. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=be12a1f36efcdd4628f199d4e11b01cc06787e8a;p=mesa.git 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 --- 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