intel/blorp: Don't vertex fetch directly from clear values
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 5 Jun 2018 00:27:53 +0000 (17:27 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 6 Jun 2018 23:32:38 +0000 (16:32 -0700)
commit44c614843c8785be57af06cc56208ad1497d05bc
tree793c2f25d5e09c3c07d10d388957a7548666709e
parentb28a2510cc49711803b9ebcdc315c5011e9a282e
intel/blorp: Don't vertex fetch directly from clear values

On gen8+, we have to VF cache flush whenever a vertex binding aliases a
previous binding at the same index modulo 4GiB.  We deal with this in
Vulkan by ensuring that vertex buffers and the dynamic state (from which
BLORP pulls its vertex buffers) are in the same 4GiB region of the
address space.  That doesn't work if we're reading clear colors with the
VF unit.  In order to work around this we switch to using MI commands to
copy the clear value into the vertex buffer we allocate for the normal
constant data.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/blorp/blorp_genX_exec.h