Hey, On 13 February 2017 at 17:27, Emil Velikov <emil.l.veli...@gmail.com> wrote: > On 13 February 2017 at 14:06, Daniel Stone <dani...@collabora.com> wrote: >> static EGLBoolean >> dri2_wl_swrast_allocate_buffer(struct dri2_egl_display *dri2_dpy, >> - int format, int w, int h, >> + int drm_format, int w, int h, >> void **data, int *size, >> struct wl_buffer **buffer) >> { >> struct wl_shm_pool *pool; >> + uint32_t shm_format; >> int fd, stride, size_map; >> void *data_map; >> >> - stride = dri2_wl_swrast_get_stride_for_format(format, w); >> + switch (drm_format) { >> + case WL_DRM_FORMAT_RGB565: >> + shm_format = WL_SHM_FORMAT_RGB565; >> + break; >> + case WL_DRM_FORMAT_ARGB8888: >> + shm_format = WL_SHM_FORMAT_ARGB8888; >> + break; >> + case WL_DRM_FORMAT_XRGB8888: >> + shm_format = WL_SHM_FORMAT_XRGB8888; >> + break; >> + default: >> + return EGL_FALSE; >> + } > > Wouldn't it be better to have this in dri2_wl_create_window_surface() ? > As-is we're passing the DRM formats on the wire, which is quite likely > to cause issues elsewhere.
There were a few other codepaths touching the format that seemed like they might be affected. This is the only one which actually hits the wire (AFAICT - which others are you thinking of ... ?), so that seemed like it was the easiest. Cheers, Daniel _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev