On 26/08/16 20:55, Chris Wilson wrote:
On Fri, Aug 26, 2016 at 08:46:25PM +0100, Dave Gordon wrote:
@@ -1520,6 +1528,14 @@ static void eb_export_fence(struct drm_i915_gem_object
*obj,
if (ret)
return ret;
+ if (instp_mode != I915_EXEC_CONSTANTS_REL_GENERAL) {
+
On Fri, Aug 26, 2016 at 08:46:25PM +0100, Dave Gordon wrote:
> @@ -1520,6 +1528,14 @@ static void eb_export_fence(struct drm_i915_gem_object
> *obj,
> if (ret)
> return ret;
>
> + if (instp_mode != I915_EXEC_CONSTANTS_REL_GENERAL) {
> + /* Restore default valu
'relative_constants_mode' has always been tracked per-device, but this
has actually been wrong ever since hardware contexts were introduced, as
the INSTPM register is saved (and automatically restored) as part of the
render ring context. The software per-device value could therefore get
out of sync