i965: Don't enable reset notification support on Gen4-5.

arekm reported that using Chrome with GPU acceleration enabled on GM45
triggered the hw_ctx != NULL assertion in brw_get_graphics_reset_status.

We definitely do not want to advertise reset notification support on
Gen4-5 systems, since it needs hardware contexts, and we never even
request a hardware context on those systems.

Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75723
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Kenneth Graunke 2014-03-12 01:43:40 -07:00
parent 4546b70e08
commit 0380ec467d
1 changed files with 9 additions and 4 deletions

View File

@ -1367,13 +1367,18 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
* no error. If the ioctl is not supported, it always generate EINVAL.
* Use this to determine whether to advertise the __DRI2_ROBUSTNESS
* extension to the loader.
*
* Don't even try on pre-Gen6, since we don't attempt to use contexts there.
*/
struct drm_i915_reset_stats stats;
memset(&stats, 0, sizeof(stats));
if (intelScreen->devinfo->gen >= 6) {
struct drm_i915_reset_stats stats;
memset(&stats, 0, sizeof(stats));
const int ret = drmIoctl(psp->fd, DRM_IOCTL_I915_GET_RESET_STATS, &stats);
const int ret = drmIoctl(psp->fd, DRM_IOCTL_I915_GET_RESET_STATS, &stats);
intelScreen->has_context_reset_notification = (ret != -1 || errno != EINVAL);
intelScreen->has_context_reset_notification =
(ret != -1 || errno != EINVAL);
}
psp->extensions = !intelScreen->has_context_reset_notification
? intelScreenExtensions : intelRobustScreenExtensions;