After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 779112 - MetaRendererNative: Properly handle EGLOutput acquire errors
MetaRendererNative: Properly handle EGLOutput acquire errors
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: wayland
unspecified
Other All
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2017-02-23 02:27 UTC by Miguel A. Vico Moya
Modified: 2017-03-04 10:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
egl: Pass EGL errors via custom error domain (2.43 KB, patch)
2017-02-23 02:27 UTC, Miguel A. Vico Moya
committed Details | Review
egl: Add stream-related error descriptions (1.45 KB, patch)
2017-02-23 02:27 UTC, Miguel A. Vico Moya
committed Details | Review
egl: Add EGL_RESOURCE_BUSY_EXT error (1.91 KB, patch)
2017-02-23 02:27 UTC, Miguel A. Vico Moya
committed Details | Review
MetaRendererNative: Properly handle EGLOutput acquire errors (2.98 KB, patch)
2017-02-23 02:27 UTC, Miguel A. Vico Moya
committed Details | Review

Description Miguel A. Vico Moya 2017-02-23 02:27:40 UTC
Whenever an EGLOutput consumer is temporary unable to handle
eglStreamConsumerAcquire() operations (e.g. during a VT-switch),
an EGL_RESOURCE_BUSY_EXT error is generated.

These changes add the appropriate error handling to flip_egl_stream() in
order to recover from such errors.
Comment 1 Miguel A. Vico Moya 2017-02-23 02:27:43 UTC
Created attachment 346524 [details] [review]
egl: Pass EGL errors via custom error domain

Introduce META_EGL_ERROR and have the error code be EGL error codes.
Comment 2 Miguel A. Vico Moya 2017-02-23 02:27:46 UTC
Created attachment 346525 [details] [review]
egl: Add stream-related error descriptions

This change adds descriptions for the following errors to
get_egl_error_str():

  - EGL_BAD_STREAM_KHR
  - EGL_BAD_STATE_KHR
  - EGL_BAD_DEVICE_EXT
  - EGL_BAD_OUTPUT_LAYER_EXT
Comment 3 Miguel A. Vico Moya 2017-02-23 02:27:50 UTC
Created attachment 346526 [details] [review]
egl: Add EGL_RESOURCE_BUSY_EXT error

This change adds both the error code and description for
EGL_RESOURCE_BUSY_EXT, recently added to the EGL_EXT_stream_acquire_mode
extension:

  https://github.com/aritger/eglstreams-kms-example/blob/master/proposed-extensions/EGL_EXT_stream_acquire_mode.txt
Comment 4 Miguel A. Vico Moya 2017-02-23 02:27:53 UTC
Created attachment 346527 [details] [review]
MetaRendererNative: Properly handle EGLOutput acquire errors

Whenever an EGLOutput consumer is temporary unable to handle
eglStreamConsumerAcquire() operations (e.g. during a VT-switch),
an EGL_RESOURCE_BUSY_EXT error is generated.

This change adds the appropriate error handling to flip_egl_stream() in
order to recover from such errors.
Comment 5 Jonas Ådahl 2017-03-04 10:35:17 UTC
Looks good to me; pushing.


Attachment 346524 [details] pushed as d8ee96c - egl: Pass EGL errors via custom error domain
Attachment 346525 [details] pushed as 09fa27c - egl: Add stream-related error descriptions
Attachment 346526 [details] pushed as 58043cb - egl: Add EGL_RESOURCE_BUSY_EXT error
Attachment 346527 [details] pushed as 4fdc551 - MetaRendererNative: Properly handle EGLOutput acquire errors