i965/icl: Add render target flush after uploading binding table
authorAnuj Phogat <anuj.phogat@gmail.com>
Wed, 17 Jan 2018 22:33:17 +0000 (14:33 -0800)
committerAnuj Phogat <anuj.phogat@gmail.com>
Fri, 16 Feb 2018 00:14:56 +0000 (16:14 -0800)
commit8a05b06146c005c0381b4784b4731e7dee8484aa
tree02ee418fcff6602163fd02f0af397b848ba14217
parent3f8289164f6d910bdf62e4b55c6ccb22dec90417
i965/icl: Add render target flush after uploading binding table

From PIPE_CONTROL command description in gfxspecs:

"Whenever a Binding Table Index (BTI) used by a Render Taget Message
 points to a different RENDER_SURFACE_STATE, SW must issue a Render
 Target Cache Flush by enabling this bit. When render target flush
 is set due to new association of BTI, PS Scoreboard Stall bit must
 be set in this packet."

V2: Move the PIPE_CONTROL to update_renderbuffer_surfaces() in
    brw_wm_surface_state.c (Ken).

Fixes a fulsim error and a GPU hang described in below JIRA.
JIRA: MD5-322
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_wm_surface_state.c