i965: Relax accumulator dependency scheduling on Gen < 6
authorIago Toral Quiroga <itoral@igalia.com>
Wed, 7 May 2014 07:58:43 +0000 (09:58 +0200)
committerMatt Turner <mattst88@gmail.com>
Wed, 14 May 2014 05:33:59 +0000 (22:33 -0700)
commit520dfa4b5c64a09bb34c7e912b102fb99aef7699
tree84d429039ff26a3a037cf02265d029bd6bee7592
parent0c0bbe77d0f92acf34c4582207b9def2e2fe308d
i965: Relax accumulator dependency scheduling on Gen < 6

Many instructions implicitly update the accumulator on Gen < 6. The instruction
scheduling code just calls add_barrier_deps() for each accumulator access on
these platforms, but a large class of operations don't actually update the
accumulator -- mostly move and logical instructions. Teaching the scheduling
code about this would allow more flexibility to schedule instructions.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77740
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
src/mesa/drivers/dri/i965/brw_shader.cpp
src/mesa/drivers/dri/i965/brw_shader.h