Buffer release events (was: Add support for eglSwapInterval)
neil at linux.intel.com
Wed Oct 23 12:01:54 PDT 2013
Neil Roberts <neil at linux.intel.com> writes:
> Currently the only proposed complete solution is just to add a request
> to explicitly disable the queuing mechanism.
I started writing this patch but I've hit a stumbling block while trying
to make use of it in Mesa. Adding the new request requires altering the
version of the wl_compositor and wl_surface interfaces. The problem is
that Mesa can't really use the new request unless the wl_surface object
is using the new version. However, the version of the interface that is
actually in use is determined by the application when it binds the
compositor object. As far as I can tell, there is no way for Mesa to
determine what version the surface proxy object is using. Potentially we
could add some API to query this, but I think even that wouldn't be
ideal because really Mesa wants to know the interface version number
right up front when the display is initialised so that it can determine
the value to report for EGL_MIN_SWAP_INTERVAL.
I'm not sure how to proceed with this. It seems like ideally Mesa should
be able to make requests on the surface using its own binding of the
compositor object so that it's not tied to the version of the interface
that the application is using. I guess that would imply that it would
have some way to get its own resource for the surface. That seems like
quite a packed can of worms though.
Anyone have any ideas?
I'll attach the work in progress patches anyway just for good measure.
More information about the wayland-devel