On Mon, Aug 10, 2015 at 5:44 AM, Michel Dänzer <mic...@daenzer.net> wrote: > From: Michel Dänzer <michel.daen...@amd.com> > > Fixes Gallium based DRI drivers failing to load on big endian hosts > because they can't find any matching fbconfigs. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71789 > Signed-off-by: Michel Dänzer <michel.daen...@amd.com> > --- > src/gallium/state_trackers/dri/dri2.c | 26 +++++++++++++------------- > src/gallium/state_trackers/dri/dri_drawable.c | 8 ++++---- > 2 files changed, 17 insertions(+), 17 deletions(-) > > diff --git a/src/gallium/state_trackers/dri/dri2.c > b/src/gallium/state_trackers/dri/dri2.c > index 91b4431..fae100e 100644 > --- a/src/gallium/state_trackers/dri/dri2.c > +++ b/src/gallium/state_trackers/dri/dri2.c > @@ -188,10 +188,10 @@ dri2_drawable_get_buffers(struct dri_drawable *drawable, > * may occur as the stvis->color_format. > */ > switch(format) { > - case PIPE_FORMAT_B8G8R8A8_UNORM: > + case PIPE_FORMAT_BGRA8888_UNORM: > depth = 32; > break; > - case PIPE_FORMAT_B8G8R8X8_UNORM: > + case PIPE_FORMAT_BGRX8888_UNORM: > depth = 24; > break; > case PIPE_FORMAT_B5G6R5_UNORM: > @@ -261,13 +261,13 @@ dri_image_drawable_get_buffers(struct dri_drawable > *drawable, > case PIPE_FORMAT_B5G6R5_UNORM: > image_format = __DRI_IMAGE_FORMAT_RGB565; > break; > - case PIPE_FORMAT_B8G8R8X8_UNORM: > + case PIPE_FORMAT_BGRX8888_UNORM: > image_format = __DRI_IMAGE_FORMAT_XRGB8888; > break; > - case PIPE_FORMAT_B8G8R8A8_UNORM: > + case PIPE_FORMAT_BGRA8888_UNORM: > image_format = __DRI_IMAGE_FORMAT_ARGB8888; > break; > - case PIPE_FORMAT_R8G8B8A8_UNORM: > + case PIPE_FORMAT_RGBA8888_UNORM: > image_format = __DRI_IMAGE_FORMAT_ABGR8888; > break; > default: > @@ -314,10 +314,10 @@ dri2_allocate_buffer(__DRIscreen *sPriv, > > switch (format) { > case 32: > - pf = PIPE_FORMAT_B8G8R8A8_UNORM; > + pf = PIPE_FORMAT_BGRA8888_UNORM; > break; > case 24: > - pf = PIPE_FORMAT_B8G8R8X8_UNORM; > + pf = PIPE_FORMAT_BGRX8888_UNORM; > break; > case 16: > pf = PIPE_FORMAT_Z16_UNORM; > @@ -724,13 +724,13 @@ dri2_create_image_from_winsys(__DRIscreen *_screen, > pf = PIPE_FORMAT_B5G6R5_UNORM; > break; > case __DRI_IMAGE_FORMAT_XRGB8888: > - pf = PIPE_FORMAT_B8G8R8X8_UNORM; > + pf = PIPE_FORMAT_BGRX8888_UNORM; > break; > case __DRI_IMAGE_FORMAT_ARGB8888: > - pf = PIPE_FORMAT_B8G8R8A8_UNORM; > + pf = PIPE_FORMAT_BGRA8888_UNORM; > break; > case __DRI_IMAGE_FORMAT_ABGR8888: > - pf = PIPE_FORMAT_R8G8B8A8_UNORM; > + pf = PIPE_FORMAT_RGBA8888_UNORM; > break; > default: > pf = PIPE_FORMAT_NONE; > @@ -845,13 +845,13 @@ dri2_create_image(__DRIscreen *_screen, > pf = PIPE_FORMAT_B5G6R5_UNORM; > break; > case __DRI_IMAGE_FORMAT_XRGB8888: > - pf = PIPE_FORMAT_B8G8R8X8_UNORM; > + pf = PIPE_FORMAT_BGRX8888_UNORM; > break; > case __DRI_IMAGE_FORMAT_ARGB8888: > - pf = PIPE_FORMAT_B8G8R8A8_UNORM; > + pf = PIPE_FORMAT_BGRA8888_UNORM; > break; > case __DRI_IMAGE_FORMAT_ABGR8888: > - pf = PIPE_FORMAT_R8G8B8A8_UNORM; > + pf = PIPE_FORMAT_RGBA8888_UNORM; > break; > default: > pf = PIPE_FORMAT_NONE; > diff --git a/src/gallium/state_trackers/dri/dri_drawable.c > b/src/gallium/state_trackers/dri/dri_drawable.c > index 0d2929a..f0cc4a2 100644 > --- a/src/gallium/state_trackers/dri/dri_drawable.c > +++ b/src/gallium/state_trackers/dri/dri_drawable.c > @@ -231,11 +231,11 @@ dri_set_tex_buffer2(__DRIcontext *pDRICtx, GLint target, > if (format == __DRI_TEXTURE_FORMAT_RGB) { > /* only need to cover the formats recognized by dri_fill_st_visual > */ > switch (internal_format) { > - case PIPE_FORMAT_B8G8R8A8_UNORM: > - internal_format = PIPE_FORMAT_B8G8R8X8_UNORM; > + case PIPE_FORMAT_BGRA8888_UNORM: > + internal_format = PIPE_FORMAT_BGRX8888_UNORM; > break; > - case PIPE_FORMAT_A8R8G8B8_UNORM: > - internal_format = PIPE_FORMAT_X8R8G8B8_UNORM; > + case PIPE_FORMAT_ARGB8888_UNORM: > + internal_format = PIPE_FORMAT_XRGB8888_UNORM; > break; > default: > break;
This dri_drawable.c hunk is unnecessary. I wrote the same patch for dri2.c though. Any reason it didn't get pushed? -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev