[Mesa-dev] [PATCH v2] egl/wayland: Try to use wl_surface.damage_buffer for SwapBuffersWithDamage

Derek Foreman derekf at osg.samsung.com
Wed Feb 17 16:00:11 UTC 2016


On 16/02/16 10:37 AM, Daniel Stone wrote:
> Hi,
> 
> On 16 February 2016 at 16:34, Derek Foreman <derekf at osg.samsung.com> wrote:
>> +try_damage_buffer(struct dri2_egl_surface *dri2_surf,
>> +                  const EGLint *rects,
>> +                  EGLint n_rects)
>> +{
>> +/* The WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION macro and
>> + * wl_proxy_get_version() were both introduced in wayland 1.10.
>> + * Instead of bumping our wayland dependency we just make this
>> + * function conditional on the required 1.10 features, falling
>> + * back to old (correct but suboptimal) behaviour for older
>> + * wayland.
>> + */
>> +#ifdef WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION
> 
> It still bumps the runtime requirement, i.e. once built against >=1.10
> it can only ever be run against >= 1.10. Maybe dlsym is overkill, but
> OTOH maybe not ...

Yup, that's true.

I kind of just assumed distros would set their own dependency
information to whatever libwayland they actually built against.

I hadn't given much thought to building mesa against a new libwayland
then downgrading libwayland or transplanting that mesa to a system with
older wayland.

I can re-do this with runtime dlsym checking for wl_proxy_get_version()
if that's preferred - someone else can make that decision because I
don't have a strong opinion either way. :)

Thanks,
Derek


More information about the mesa-dev mailing list