On 08.01.2016 01:53, Nicolas Dufresne wrote: > When creating egl images we do a bytes to pixel conversion by deviding > by 4 regardless of the pixel format. This does not work for RGB565. In > this patch, we avoid useless conversion and use proper API when the > conversion cannot be avoided. > > Signed-off-by: Nicolas Dufresne <nicolas.dufre...@collabora.com>
[...] > diff --git a/src/gallium/state_trackers/dri/dri2.c > b/src/gallium/state_trackers/dri/dri2.c > index a11a6cb..7b5a755 100644 > --- a/src/gallium/state_trackers/dri/dri2.c > +++ b/src/gallium/state_trackers/dri/dri2.c > @@ -101,6 +101,31 @@ static int convert_to_fourcc(int format) > return format; > } > > +static enum pipe_format dri2_format_to_pipe_format (int format) > +{ > + enum pipe_format pf; > + > + switch (format) { > + case __DRI_IMAGE_FORMAT_RGB565: > + pf = PIPE_FORMAT_B5G6R5_UNORM; > + break; > + case __DRI_IMAGE_FORMAT_XRGB8888: > + pf = PIPE_FORMAT_BGRX8888_UNORM; > + break; > + case __DRI_IMAGE_FORMAT_ARGB8888: > + pf = PIPE_FORMAT_BGRA8888_UNORM; > + break; > + case __DRI_IMAGE_FORMAT_ABGR8888: > + pf = PIPE_FORMAT_RGBA8888_UNORM; > + break; > + default: > + pf = PIPE_FORMAT_NONE; > + break; > + } > + > + return pf; > +} The addition of this function and refactoring of existing code to use it should be split out into a separate patch. Other than that, looks good to me. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev