i965/gen10: Ignore push constant packets during context restore.
authorRafael Antognolli <rafael.antognolli@intel.com>
Thu, 25 Jan 2018 00:33:56 +0000 (16:33 -0800)
committerRafael Antognolli <rafael.antognolli@intel.com>
Fri, 26 Jan 2018 18:07:35 +0000 (10:07 -0800)
commitca19ee33d7d39cb89d948b1c983763065975ce5b
treec622b9f1294893e9fd39706fa317aa19073cfbfb
parentacaec6cdd9e65cd2daf4d6a6bb78a909cf9c306c
i965/gen10: Ignore push constant packets during context restore.

These packets were causing GPU hangs when the context was restored,
possibly because they were pointing to BO's that were already
unreferenced. So we tell the hardware to ignore such packets after the
batch buffer ends, since we know those BO's are not around anymore.

This change fixes GPU hangs on CNL. The (partial) solution to this
problem so far was to entirely disable push constants on this platform.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Cc: "18.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_pipe_control.c
src/mesa/drivers/dri/i965/brw_pipe_control.h
src/mesa/drivers/dri/i965/intel_batchbuffer.c