}
/* Notification of GPU resets requires hardware contexts and a kernel new
- * enough to support DRM_IOCTL_I915_GET_RESET_STATS, which isn't upstream
- * yet.
+ * enough to support DRM_IOCTL_I915_GET_RESET_STATS.
*/
- if (notify_reset) {
+ if (notify_reset &&
+ (brw->hw_ctx == NULL
+ || drm_intel_get_reset_stats(brw->hw_ctx, &brw->reset_count, NULL,
+ NULL))) {
/* This is the wrong error code, but the correct error code (one that
* will cause EGL to generate EGL_BAD_MATCH) doesn't seem to exist.
*/
*/
assert(brw->hw_ctx != NULL);
-#if 0
- /* This is waiting until the kernel code can be merged and a new libdrm
- * actually released.
- */
err = drm_intel_get_reset_stats(brw->hw_ctx, &reset_count, &active,
&pending);
if (err)
return GL_NO_ERROR;
-#else
- return GL_NO_ERROR;
-#endif
/* A reset was observed while a batch from this context was executing.
* Assume that this context was at fault.