0015-egl-wayland-add-support-for-RGB565-back-buffers.patch 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. From 0faf5745262a68722abce4fe692a341cbdba811b Mon Sep 17 00:00:00 2001
  2. From: James Glanville <James.Glanville@imgtec.com>
  3. Date: Tue, 28 Feb 2017 16:08:47 +0000
  4. Subject: [PATCH] egl/wayland: add support for RGB565 back buffers
  5. ---
  6. src/egl/drivers/dri2/platform_wayland.c | 13 +++++++++++--
  7. 1 file changed, 11 insertions(+), 2 deletions(-)
  8. diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
  9. index cfff0ad..c18edc0 100644
  10. --- a/src/egl/drivers/dri2/platform_wayland.c
  11. +++ b/src/egl/drivers/dri2/platform_wayland.c
  12. @@ -633,18 +633,27 @@ back_bo_to_dri_buffer(struct dri2_egl_surface *dri2_surf, __DRIbuffer *buffer)
  13. struct dri2_egl_display *dri2_dpy =
  14. dri2_egl_display(dri2_surf->base.Resource.Display);
  15. __DRIimage *image;
  16. - int name, pitch;
  17. + int name, pitch, format;
  18. image = dri2_surf->back->dri_image;
  19. dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_NAME, &name);
  20. dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_STRIDE, &pitch);
  21. + dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_FORMAT, &format);
  22. buffer->attachment = __DRI_BUFFER_BACK_LEFT;
  23. buffer->name = name;
  24. buffer->pitch = pitch;
  25. - buffer->cpp = 4;
  26. buffer->flags = 0;
  27. +
  28. + switch (format) {
  29. + case __DRI_IMAGE_FORMAT_RGB565:
  30. + buffer->cpp = 2;
  31. + break;
  32. + default:
  33. + buffer->cpp = 4;
  34. + break;
  35. + }
  36. }
  37. static int