From: Chad Versace Date: Thu, 22 Dec 2016 22:39:44 +0000 (-0800) Subject: mesa/texformat: Handle GL_RGBA + GL_UNSIGNED_SHORT_5_5_5_1 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f3739810e337d0f03514b9b967594c8dc010dfa4;p=mesa.git mesa/texformat: Handle GL_RGBA + GL_UNSIGNED_SHORT_5_5_5_1 _mesa_choose_tex_format() already handles GL_RGBA + GL_UNSIGNED_SHORT_1_5_5_5_REV by converting it to MESA_FORMAT_B5G5R5A1_UNORM. Teach it do the same for the non-reversed type. Otherwise, the switch's fallthrough converts it to an 8888 format, which has incompatible precision in the alpha channel. Patch 2/2 to fix dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8 on Intel. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99185 Cc: Haixia Shi Reviewed-by: Tapani Pälli Cc: "13.0" --- diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c index be2581b004f..baa3988f0a0 100644 --- a/src/mesa/main/texformat.c +++ b/src/mesa/main/texformat.c @@ -74,6 +74,8 @@ _mesa_choose_tex_format(struct gl_context *ctx, GLenum target, RETURN_IF_SUPPORTED(MESA_FORMAT_B4G4R4A4_UNORM); } else if (type == GL_UNSIGNED_SHORT_1_5_5_5_REV) { RETURN_IF_SUPPORTED(MESA_FORMAT_B5G5R5A1_UNORM); + } else if (type == GL_UNSIGNED_SHORT_5_5_5_1) { + RETURN_IF_SUPPORTED(MESA_FORMAT_B5G5R5A1_UNORM); } else if (type == GL_UNSIGNED_INT_2_10_10_10_REV) { RETURN_IF_SUPPORTED(MESA_FORMAT_B10G10R10A2_UNORM); }