iris: Mark constants dirty on transfer unmap even if no flushes occur
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 23 Apr 2019 02:11:44 +0000 (19:11 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 23 Apr 2019 07:24:08 +0000 (00:24 -0700)
commit4d1223607278ca771bd9ba82ca52cd78893dc79d
treeb040e6ff7dccd96d8ee794001304199eab70d3e2
parentb1ba7ffdbd54fdb5da18d086c7b7a830e06a1cff
iris: Mark constants dirty on transfer unmap even if no flushes occur

I have various conditions in place to try and avoid unnecessary
PIPE_CONTROL flushes, especially to batches which may have never
used the buffer being mapped.  But if we do a CPU map to a bound
constant buffer, we still need to mark push constants dirty, even
if there's nothing happening in batches that would warrant a flush.

Fixes obvious misrendering in the "XCOM 2: War of the Chosen" menus
(lots of rainbow colored triangles).  Fixes lots of blinking elements
in "Shadow of Mordor".  Fixes missing crowd rendering in "DiRT Rally".
src/gallium/drivers/iris/iris_resource.c