xwayland: Use drmDevicesEqual in xwl_dmabuf_feedback_tranche_done

xwl_dmabuf_feedback_tranche_target_device always allocates a new
drmDevice for xwl_feedback->tmp_tranche.drm_dev, so the pointers are
never equal here.

Fixes: 6f0b9deed6 ("xwayland: use drmDevice to compare DRM devices")

v2:
* Flip order of checks, so drmDevicesEqual is called only if the
  supports_scanout flags match.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1484>
This commit is contained in:
Michel Dänzer 2024-04-11 11:26:24 +02:00 committed by Marge Bot
parent 82d3b8ff05
commit 4dc7e99840

View File

@ -580,8 +580,8 @@ xwl_dmabuf_feedback_tranche_done(void *data,
*/
for (int i = 0; i < xwl_feedback->dev_formats_len; i++) {
tranche = &xwl_feedback->dev_formats[i];
if (tranche->drm_dev == xwl_feedback->tmp_tranche.drm_dev &&
tranche->supports_scanout == xwl_feedback->tmp_tranche.supports_scanout) {
if (tranche->supports_scanout == xwl_feedback->tmp_tranche.supports_scanout &&
drmDevicesEqual(tranche->drm_dev, xwl_feedback->tmp_tranche.drm_dev)) {
appended = TRUE;
/* Add all format/mods to this tranche */