[RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition

Derek Foreman derekf at osg.samsung.com
Fri Feb 16 20:22:30 UTC 2018


On 2018-02-16 12:58 PM, Emil Velikov wrote:
> On 16 February 2018 at 18:24, Derek Foreman <derekf at osg.samsung.com> wrote:
>> On 2018-02-16 11:18 AM, Emil Velikov wrote:
>>>
>>> On 16 February 2018 at 16:54, Derek Foreman <derekf at osg.samsung.com>
>>> wrote:
>>>>
>>>> commit d94a8722cb29d8b897672be66ff3c9ff79eab6fe
>>>> warned this was coming, back in 2013.
>>>>
>>>> I've seen libraries that have wayland client and server using functions
>>>> in the same file.  Since struct wl_buffer still exists as an opaque
>>>> entity in client code, the vestigial deprecated wl_buffer from the
>>>> server include will generate warnings when not building with
>>>> WL_HIDE_DEPRECATED.
>>>>
>>>> Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
>>>> ---
>>>>
>>>> Is there anyone out there this will hurt?
>>>>
>>>> I'd like to at least see WL_DEPRECATED dropped from wl_buffer,
>>>> since it causes annoying build warnings when mixing client/server
>>>> code in the same files - even when not using the non-opaque
>>>> struct wl_buffer.
>>>>
>>> There are a few Mesa patches related this:
>>>
>>> be52bd17ebf114e7ad16a6d9d0135cdbb0723cd0 - 17.3.0+
>>
>>
>> Not really related that I can see? I didn't touch struct wl_resource at
>> all...
>>
>>> fa6b9be22c7a85a8766a31411caafdbe1694d7dc - 17.3.0+
>>
>>
>> Can't see how I could cause a problem here?  WL_HIDE_DEPRECATED has always
>> hidden struct wl_buffer, so compilation with WL_HIDE_DEPRECATED should be
>> exactly as before.
>>
>>> 66ebdfbd44cb62c58a7711fb72566f07d801809a - 17.2.3+ (stable port), 17.3.0+
>>
>>
>> We also provide a struct wl_buffer forward decl in wayland-server-protocol.h
>> which is (autogenerated and) included from wayland-server.h
>>
>> Presumably that patch was written for people not including wayland-server.h
>> at all?  They shouldn't have much trouble with eliding the full struct
>> definition they weren't including.
>>
> The list was pulled based on a quick grep. I haven't explicitly
> checked that each case is 100% applicable.
 >
>>>
>>> Can you please double-check that Mesa continues to build fine, wit and
>>> w/o the above patches?
>>
>>
>> I've test built mesa from the git 17.2 and 17.3 branches, as well as git
>> master, and they seem ok...  Building mesa is a bit of a dark art though, so
>> hopefully no configure options changed, and I was building everything I
>> thought I was.
>>
>> If you want me to test build any specific SHAs, give me a list...  I've got
>> a reasonably fast computer here.
>>
> Just pull some tarballs [1] before + after the releases mentioned and
> ensure you have the following set at configure time.
> --enable-egl --enable-gbm --with-egl-platform=drm
> 
> Don't be shy to make enlightening suggestions making it less of a dark art ;-)

Well, I suppose if it wasn't a dark art, you'd have given me functional 
build instructions? ;-)

--with-egl-platform is wrong, it's --with-egl-platforms for most 
releases, but apparently --with-platforms for some others (though only 
generating a warning).

Also, apparently R300 is enabled by default, but llvm isn't for most 
(all?) releases, yet llvm is required for R300... so I added 
--with-gallium-drivers=swrast (I suppose ='' would've been fine too? 
shrug) so configure would succeed.

I've also added --with-with-dri-drivers=i965 to reduce build time, since 
that's what I usually do, I don't think any of those additional drivers 
should be doing anything wl_buffery

Some releases apparently require --disable-glx when configured without 
x11 in --with-egl-platforms but some didn't have a problem with it.

I've built 17.0.0, 17.0.7, 17.1.0, 17.1.10, 17.2.0, 17.2.8, 17.3.0, 
17.3.4, 18.0.0-rc4.

No build failures, no log chatter regarding wl_buffer

I have not installed all of these versions and tested functionality, but 
due to the nature of the change I can't imagine that being necessary?

> Thanks
> Emil
> 
> [1] https://mesa.freedesktop.org/archive/
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
> 



More information about the wayland-devel mailing list