Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition
On 2018-07-14 09:46 AM, Daniel Stone wrote: > Hey Derek, > On Fri, 16 Feb 2018 at 16:55, Derek Foreman 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. > > I wonder if it's now too late to land this for the next release. Seems > good to me though, and certainly people have had enough notice ... > > For landing whenever (I'll happily take your judgement), this is: > Reviewed-by: Daniel Stone I think it's a slight, but not huge, stretch to call this a bug fix, since it should be possible to include client and server headers in the same file even without defining WL_HIDE_DEPRECATED. I've pushed this now. Thanks, Derek > Cheers, > Daniel > ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition
Hey Derek, On Fri, 16 Feb 2018 at 16:55, Derek Foreman 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. I wonder if it's now too late to land this for the next release. Seems good to me though, and certainly people have had enough notice ... For landing whenever (I'll happily take your judgement), this is: Reviewed-by: Daniel Stone Cheers, Daniel ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition
On Fri, 16 Feb 2018 10:54:40 -0600 Derek Foremanwrote: > 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 > --- > > 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. > > > src/wayland-server.h | 6 -- > 1 file changed, 6 deletions(-) > > diff --git a/src/wayland-server.h b/src/wayland-server.h > index ccf9783..1be565f 100644 > --- a/src/wayland-server.h > +++ b/src/wayland-server.h > @@ -70,12 +70,6 @@ struct wl_resource { > void *data; > }; > > -struct wl_buffer { > - struct wl_resource resource; > - int32_t width, height; > - uint32_t busy_count; > -} WL_DEPRECATED; > - > uint32_t > wl_client_add_resource(struct wl_client *client, > struct wl_resource *resource) WL_DEPRECATED; Hi Derek, while I would argue that no-one should be building without WL_HIDE_DEPRECATED, that's somewhat orthogonal to this, so I have nothing against this change. Therefore: Reviewed-by: Pekka Paalanen Thanks, pq pgpH3QIOCeC5U.pgp Description: OpenPGP digital signature ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition
On 16 February 2018 at 20:22, Derek Foremanwrote: > On 2018-02-16 12:58 PM, Emil Velikov wrote: >> >> On 16 February 2018 at 18:24, Derek Foreman >> wrote: >>> >>> On 2018-02-16 11:18 AM, Emil Velikov wrote: On 16 February 2018 at 16:54, Derek Foreman 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 > --- > > 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). > Woohoo, I'm a master of the dark arts (typos). And yes, I made sure that EGL option still works, while deprecating it ;-) > 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? > Sounds great IMHO. Meanwhile I've done some grepping on local checkouts. The following are fine (git master~ish) to use opaque wl_buffer: * xserver * kodi * ffmpeg * mpv * libva * libva intel-driver * mesa * gnome - shell, mutter, clutter * kde - kwin, plasma, plasma-workspace * qt - base, 3d, multimedia Above said, the patch is Acked-by: Emil Velikov If one wants to be _really_ pedantic they can rebuild their favourite distro. Seems like an overkill, though. Thanks Emil ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition
On 2018-02-16 12:58 PM, Emil Velikov wrote: On 16 February 2018 at 18:24, Derek Foremanwrote: On 2018-02-16 11:18 AM, Emil Velikov wrote: On 16 February 2018 at 16:54, Derek Foreman 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 --- 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@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition
On 16 February 2018 at 18:24, Derek Foremanwrote: > On 2018-02-16 11:18 AM, Emil Velikov wrote: >> >> On 16 February 2018 at 16:54, Derek Foreman >> 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 >>> --- >>> >>> 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 ;-) Thanks Emil [1] https://mesa.freedesktop.org/archive/ ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition
On 2018-02-16 11:18 AM, Emil Velikov wrote: On 16 February 2018 at 16:54, Derek Foremanwrote: 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 --- 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. 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. Thanks, Derek Thanks Emil ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [RFC wayland] wayland-server: Finally remove deprecated struct wl_buffer definition
On 16 February 2018 at 16:54, Derek Foremanwrote: > 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 > --- > > 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+ fa6b9be22c7a85a8766a31411caafdbe1694d7dc - 17.3.0+ 66ebdfbd44cb62c58a7711fb72566f07d801809a - 17.2.3+ (stable port), 17.3.0+ Can you please double-check that Mesa continues to build fine, wit and w/o the above patches? Thanks Emil ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel