egl/wayland: make sure HAS_$FORMAT is set for wl_dmabuf
authorEmil Velikov <emil.velikov@collabora.com>
Sun, 27 Aug 2017 10:20:35 +0000 (11:20 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 29 Aug 2017 12:43:04 +0000 (13:43 +0100)
Otherwise eglCreateWaylandBufferFromImageWL will fail, since we
have no "supported" format.

Fixes: 02cc35937277 ("egl/wayland: Use linux-dmabuf interface for buffers")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
src/egl/drivers/dri2/platform_wayland.c

index ea389c6e0eebb30803e997c34ff80d2b84f80973..bf2adbf63bdbb0db0352a06288bbba659db6db32 100644 (file)
@@ -1057,12 +1057,15 @@ dmabuf_handle_modifier(void *data, struct zwp_linux_dmabuf_v1 *dmabuf,
    switch (format) {
    case WL_DRM_FORMAT_ARGB8888:
       mod = u_vector_add(&dri2_dpy->wl_modifiers.argb8888);
+      dri2_dpy->formats |= HAS_ARGB8888;
       break;
    case WL_DRM_FORMAT_XRGB8888:
       mod = u_vector_add(&dri2_dpy->wl_modifiers.xrgb8888);
+      dri2_dpy->formats |= HAS_XRGB8888;
       break;
    case WL_DRM_FORMAT_RGB565:
       mod = u_vector_add(&dri2_dpy->wl_modifiers.rgb565);
+      dri2_dpy->formats |= HAS_RGB565;
       break;
    default:
       break;