iris: Use stream uploader for shader draw parameters.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 20 Jun 2019 06:08:04 +0000 (01:08 -0500)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 20 Jun 2019 18:32:16 +0000 (13:32 -0500)
commit31de802e7e6428b1b84b42ff555cdb8f87a59a6e
treeaac951012278ef28d8cfc77da01b7fd11cc68916
parentdb8f57a5cb4ab8e1ad789793678797c04e95de21
iris: Use stream uploader for shader draw parameters.

Most vertex data lives in user VBOs in IRIS_MEMZONE_OTHER, which
typically have high bits set to 0xffff.  The shader draw parameters were
being uploaded in IRIS_MEMZONE_DYNAMIC, which have high bets set to 0x2.
This was causing a lot of ping-ponging of high bits, leading to
unnecessary VF cache flushing.

Cuts 7.2% of the flushes in the Civizilation VI demo on Kabylake GT2.
src/gallium/drivers/iris/iris_state.c