nvc0: re-upload currently bound shaders after code eviction
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 31 Aug 2016 20:52:43 +0000 (22:52 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 1 Sep 2016 19:25:25 +0000 (21:25 +0200)
commit3d928d9082cab625ea4189b2bba96648f712ef3d
tree508d4c3d6b9eccd7f4ebb69dd3d026a54323d1ce
parent34883626d12a09b4e02c771e7af133522a673ad1
nvc0: re-upload currently bound shaders after code eviction

This fixes a very old issue which happens when the code segment
size is full. A bunch of real applications like Tomb Raider,
F1 2015, Elemental, hit that issue because they use a ton of shaders.

In this case, all shaders are evicted (for freeing space) but all
currently bound shaders also need to be re-uploaded and SP_START_ID
have to be updated accordingly.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nvc0/nvc0_program.c