drm/i915: Enable provoking vertex fix on Gen9 systems.
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 15 Jun 2018 19:06:05 +0000 (20:06 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 18 Jun 2018 09:08:11 +0000 (10:08 +0100)
commitb77422f80337d363eed60c8c48db9cb6e33085c9
tree28d653ee6393480f488191be2901fa08013ad7bf
parentf677bd558de2e98b70b7f8c522024b26d2d1120d
drm/i915: Enable provoking vertex fix on Gen9 systems.

The SF and clipper units mishandle the provoking vertex in some cases,
which can cause misrendering with shaders that use flat shaded inputs.

There are chicken bits in 3D_CHICKEN3 (for SF) and FF_SLICE_CHICKEN
(for the clipper) that work around the issue.  These registers are
unfortunately not part of the logical context (even the power context),
and so we must reload them every time we start executing in a context.

Bugzilla: https://bugs.freedesktop.org/103047
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20180615190605.16238-1-chris@chris-wilson.co.uk
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_lrc.c