nvc0: re-validate images after launching a grid on Fermi
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Sun, 5 Jun 2016 16:01:19 +0000 (18:01 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Sun, 5 Jun 2016 16:48:02 +0000 (18:48 +0200)
commit43d3ecfb338d79d9f0ccae22b316653af461032a
tree5b8a2946196077ef1ec9abda57c89f265dff7a2a
parent3b44864ab794ea487d22499e7e2c42565aaac085
nvc0: re-validate images after launching a grid on Fermi

Images invalidation is a bit weird on Fermi and there is already a hack
which forces invalidating all images when launching a computer shader
to help in fixing 3D<->CP interaction.

However, we need to re-validate images for compute because
nvc0_compute_invalidate_surfaces() will destroy the previous binding.
This is not really good for performance purposes but this might be
improved later.

This fixes the following piglits:
- spec/arb_compute_shader/execution/basic-uniform-access
- spec/arb_compute_shader/execution/mutiple-texture-reading
- spec/arb_compute_shader/execution/multiple-workgroups
- spec/glsl-4.30/execution/built-in-functions/cs-* (207 tests)

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/nouveau/nvc0/nvc0_compute.c