Hi,

On 24 October 2017 at 07:01, Pekka Paalanen <ppaala...@gmail.com> wrote:
> On Mon, 23 Oct 2017 16:41:14 +0100
> Daniel Stone <dan...@fooishbar.org> wrote:
>> When a compositor wants to import a buffer into GBM, it calls
>> gbm_bo_import(), which will call wl_drm_buffer_get().
>> wl_drm_buffer_get will test (resource->interface ==
>> &wl_buffer_interface). Previously, both create_buffer() and
>> wl_drm_buffer_get() at least came from the same compilation unit, but
>> now they are built and linked separately. This seems to make an
>> existing problem (ambiguity of 'wl_buffer_interface') worse (symbol
>> resolution now performed in separate compilation units).
>
> this is not the whole truth. At least, if wl_drm_buffer_get() uses
> wl_resource_instance_of() rather than open-coding a broken version of
> the same.
>
>> I don't really see a solution to this, apart from no longer relying on
>> having a single canonical resolution of wl_buffer_interface. The above
>> patch implements that, by removing the interface-address-equal test
>> and replacing it with the destroy-listener test. The patch I provided
>> is equally valid both with and without your series.
>
> There is no relying on having a single canonical resolution of
> wl_buffer_interface, and there has never been as long as any part of
> libwayland has been stable.
>
> See:
> https://cgit.freedesktop.org/wayland/wayland/tree/src/connection.c?id=0.99.0#n840

Ha, guess it's been a while since I've looked at instance_of() then.
Or I just misremembered in the first place. Concern withdrawn in that
case. Presuming the same change is made in Meson, 7-9/9 are now:
Reviewed-by: Daniel Stone <dani...@collabora.com>

Cheers,
Daniel
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to