In certain circumstances we will have a lot of flip errors without a reasonable way to prevent them. In such case we reduce the number of logged messages to at least not fill the error logs.
At least on i915 hardware support for async page flip support depends on the used modifiers which themselves can change dynamically for a screen. This results in the following problems:
We can't know about whether a particular CRTC will be able to do an async flip without hardcoding the same logic as the kernel as there's no interface to query this information.
There is no way to give this information to an application, because the protocol of the present extension does not specify anything about changing of the capabilities on runtime or the need to re-query them.
Even if the above was solved, the only benefit would be avoiding a roundtrip to the kernel and reduced amount of error logs. The former does not seem to be a good enough benefit compared to the amount of work that would need to be done. The latter is solved in this MR.
Fixes #1164 (closed).