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

Reply via email to