For completeness, I should add that the upstream fix introduces another bug which may cause some corruption. This one is fixed in this commit:
commit dc3bfebcf77d943b7e8495d30d0ee3d01b3042a5
Author: Chris Wilson <email address hidden>
Date: Thu Dec 30 18:02:21 2010 +0000
drm/i915: Don't skip ring flushes if only invalidating
Commit 15056d2 tried to optimize away a flush if there were no
outstanding writes on a ring (in order to prevent a too-early-flush
during ring init). However, this has the unfortunate side-effect of
eliminating the texture cache invalidation, and so causing rendering
artefacts.
Reported-by: Alexey Fisher <email address hidden>
Signed-off-by: Chris Wilson <email address hidden>
For completeness, I should add that the upstream fix introduces another bug which may cause some corruption. This one is fixed in this commit:
commit dc3bfebcf77d943 b7e8495d30d0ee3 d01b3042a5
Author: Chris Wilson <email address hidden>
Date: Thu Dec 30 18:02:21 2010 +0000
drm/i915: Don't skip ring flushes if only invalidating
Commit 15056d2 tried to optimize away a flush if there were no
outstanding writes on a ring (in order to prevent a too-early-flush
during ring init). However, this has the unfortunate side-effect of
eliminating the texture cache invalidation, and so causing rendering
artefacts.
Reported-by: Alexey Fisher <email address hidden>
Signed-off-by: Chris Wilson <email address hidden>