From 6945f313c4647d60b914dec7d201b807f2ebf271 Mon Sep 17 00:00:00 2001 From: Mario Kleiner Date: Fri, 15 Dec 2017 23:04:48 +0100 Subject: [PATCH] i965: Support xrgb/argb2101010 formats for glx_texture_from_pixmap. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Makes compositing under X11/GLX work. Signed-off-by: Mario Kleiner Reviewed-by: Tapani Pälli Signed-off-by: Marek Olšák --- src/mesa/drivers/dri/i965/intel_tex_image.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c index 37c8e24f032..2ee36583c46 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_image.c +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c @@ -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; -- 2.30.2