ui/console-gl: Add support for big endian display surfaces

This is required for running QEMU on big endian hosts (like
PowerPC machines) that use RGB instead of BGR byte ordering.

Ticket: https://bugs.launchpad.net/qemu/+bug/1581796
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-id: 1465243261-26731-1-git-send-email-thuth@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Thomas Huth 2016-06-06 22:01:01 +02:00 committed by Gerd Hoffmann
parent 4d5942332f
commit 2c2311c545

View File

@ -88,6 +88,11 @@ void surface_gl_create_texture(ConsoleGLState *gls,
surface->glformat = GL_BGRA_EXT; surface->glformat = GL_BGRA_EXT;
surface->gltype = GL_UNSIGNED_BYTE; surface->gltype = GL_UNSIGNED_BYTE;
break; break;
case PIXMAN_BE_x8r8g8b8:
case PIXMAN_BE_a8r8g8b8:
surface->glformat = GL_RGBA;
surface->gltype = GL_UNSIGNED_BYTE;
break;
case PIXMAN_r5g6b5: case PIXMAN_r5g6b5:
surface->glformat = GL_RGB; surface->glformat = GL_RGB;
surface->gltype = GL_UNSIGNED_SHORT_5_6_5; surface->gltype = GL_UNSIGNED_SHORT_5_6_5;