Mir Gains EGL_KHR_fence_sync Support To Fix Graphics Corruption
Ubuntu's Mir display server has gained support for the KHR_fence_sync EGL extension in order to eliminate some cases of graphics corruption.
In addressing this bug among other possible situations where there could be graphical corruption present on Mir, EGL_KHR_fence_sync support has been added.
Mesa support for this EGL extension dates back to 2010. This extension is also common to the other mobile EGL implementations; within the Android space is the similar EGL_ANDROID_native_fence_sync extension. As explained by the Khronos specification:
In addressing this bug among other possible situations where there could be graphical corruption present on Mir, EGL_KHR_fence_sync support has been added.
Mesa support for this EGL extension dates back to 2010. This extension is also common to the other mobile EGL implementations; within the Android space is the similar EGL_ANDROID_native_fence_sync extension. As explained by the Khronos specification:
This extension introduces the concept of "sync objects" into EGL. Sync objects are a synchronization primitive, representing events whose completion can be tested or waited upon. This extension borrows heavily from the GL_ARB_sync extension and introduces a type of sync object known as a "fence sync object" comparable to the OpenGL fence sync object. The specification is designed to allow additional types of sync objects to be easily introduced in later extensions.This KHR_fence_sync support to fix corruption issues will be present in Mir 0.18. Among many other changes, also to be found in Mir 0.18 will be the automatic input platform probing support.
Fence sync objects have corresponding fence commands, which are inserted into a client API command stream at the time the fence sync is created. A fence sync object is used to wait for completion of the corresponding fence command. This allows applications to request a partial Finish of an API command stream, wherein all commands issued in a particular client API context will be forced to complete before control is returned to the calling thread.
15 Comments