i965: Support xrgb/argb2101010 formats for glx_texture_from_pixmap.

Makes compositing under X11/GLX work.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Mario Kleiner 2017-12-15 23:04:48 +01:00 committed by Marek Olšák
parent ad218754c7
commit 6945f313c4

View file

@ -464,11 +464,19 @@ intelSetTexBuffer2(__DRIcontext *pDRICtx, GLint target,
if (rb->mt->cpp == 4) {
if (texture_format == __DRI_TEXTURE_FORMAT_RGB) {
internal_format = GL_RGB;
texFormat = MESA_FORMAT_B8G8R8X8_UNORM;
if (rb->mt->format == MESA_FORMAT_B10G10R10X2_UNORM ||
rb->mt->format == MESA_FORMAT_B10G10R10A2_UNORM)
texFormat = MESA_FORMAT_B10G10R10X2_UNORM;
else
texFormat = MESA_FORMAT_B8G8R8X8_UNORM;
}
else {
internal_format = GL_RGBA;
texFormat = MESA_FORMAT_B8G8R8A8_UNORM;
if (rb->mt->format == MESA_FORMAT_B10G10R10X2_UNORM ||
rb->mt->format == MESA_FORMAT_B10G10R10A2_UNORM)
texFormat = MESA_FORMAT_B10G10R10A2_UNORM;
else
texFormat = MESA_FORMAT_B8G8R8A8_UNORM;
}
} else if (rb->mt->cpp == 2) {
internal_format = GL_RGB;