+ return MESA_FORMAT_LA_LATC2_SNORM;
+
+ case GL_ETC1_RGB8_OES:
+ return MESA_FORMAT_ETC1_RGB8;
+ case GL_COMPRESSED_RGB8_ETC2:
+ return MESA_FORMAT_ETC2_RGB8;
+ case GL_COMPRESSED_SRGB8_ETC2:
+ return MESA_FORMAT_ETC2_SRGB8;
+ case GL_COMPRESSED_RGBA8_ETC2_EAC:
+ return MESA_FORMAT_ETC2_RGBA8_EAC;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:
+ return MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC;
+ case GL_COMPRESSED_R11_EAC:
+ return MESA_FORMAT_ETC2_R11_EAC;
+ case GL_COMPRESSED_RG11_EAC:
+ return MESA_FORMAT_ETC2_RG11_EAC;
+ case GL_COMPRESSED_SIGNED_R11_EAC:
+ return MESA_FORMAT_ETC2_SIGNED_R11_EAC;
+ case GL_COMPRESSED_SIGNED_RG11_EAC:
+ return MESA_FORMAT_ETC2_SIGNED_RG11_EAC;
+ case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:
+ return MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1;
+ case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:
+ return MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1;
+
+ case GL_COMPRESSED_RGBA_BPTC_UNORM:
+ return MESA_FORMAT_BPTC_RGBA_UNORM;
+ case GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM:
+ return MESA_FORMAT_BPTC_SRGB_ALPHA_UNORM;
+ case GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT:
+ return MESA_FORMAT_BPTC_RGB_SIGNED_FLOAT;
+ case GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT:
+ return MESA_FORMAT_BPTC_RGB_UNSIGNED_FLOAT;
+
+ case GL_COMPRESSED_RGBA_ASTC_4x4_KHR:
+ return MESA_FORMAT_RGBA_ASTC_4x4;
+ case GL_COMPRESSED_RGBA_ASTC_5x4_KHR:
+ return MESA_FORMAT_RGBA_ASTC_5x4;
+ case GL_COMPRESSED_RGBA_ASTC_5x5_KHR:
+ return MESA_FORMAT_RGBA_ASTC_5x5;
+ case GL_COMPRESSED_RGBA_ASTC_6x5_KHR:
+ return MESA_FORMAT_RGBA_ASTC_6x5;
+ case GL_COMPRESSED_RGBA_ASTC_6x6_KHR:
+ return MESA_FORMAT_RGBA_ASTC_6x6;
+ case GL_COMPRESSED_RGBA_ASTC_8x5_KHR:
+ return MESA_FORMAT_RGBA_ASTC_8x5;
+ case GL_COMPRESSED_RGBA_ASTC_8x6_KHR:
+ return MESA_FORMAT_RGBA_ASTC_8x6;
+ case GL_COMPRESSED_RGBA_ASTC_8x8_KHR:
+ return MESA_FORMAT_RGBA_ASTC_8x8;
+ case GL_COMPRESSED_RGBA_ASTC_10x5_KHR:
+ return MESA_FORMAT_RGBA_ASTC_10x5;
+ case GL_COMPRESSED_RGBA_ASTC_10x6_KHR:
+ return MESA_FORMAT_RGBA_ASTC_10x6;
+ case GL_COMPRESSED_RGBA_ASTC_10x8_KHR:
+ return MESA_FORMAT_RGBA_ASTC_10x8;
+ case GL_COMPRESSED_RGBA_ASTC_10x10_KHR:
+ return MESA_FORMAT_RGBA_ASTC_10x10;
+ case GL_COMPRESSED_RGBA_ASTC_12x10_KHR:
+ return MESA_FORMAT_RGBA_ASTC_12x10;
+ case GL_COMPRESSED_RGBA_ASTC_12x12_KHR:
+ return MESA_FORMAT_RGBA_ASTC_12x12;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x4;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x4;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x5;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x5;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x6;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_8x5;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_8x6;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_8x8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_10x5;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_10x6;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_10x8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_10x10;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_12x10;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_12x12;
+ case GL_COMPRESSED_RGBA_ASTC_3x3x3_OES:
+ return MESA_FORMAT_RGBA_ASTC_3x3x3;
+ case GL_COMPRESSED_RGBA_ASTC_4x3x3_OES:
+ return MESA_FORMAT_RGBA_ASTC_4x3x3;
+ case GL_COMPRESSED_RGBA_ASTC_4x4x3_OES:
+ return MESA_FORMAT_RGBA_ASTC_4x4x3;
+ case GL_COMPRESSED_RGBA_ASTC_4x4x4_OES:
+ return MESA_FORMAT_RGBA_ASTC_4x4x4;
+ case GL_COMPRESSED_RGBA_ASTC_5x4x4_OES:
+ return MESA_FORMAT_RGBA_ASTC_5x4x4;
+ case GL_COMPRESSED_RGBA_ASTC_5x5x4_OES:
+ return MESA_FORMAT_RGBA_ASTC_5x5x4;
+ case GL_COMPRESSED_RGBA_ASTC_5x5x5_OES:
+ return MESA_FORMAT_RGBA_ASTC_5x5x5;
+ case GL_COMPRESSED_RGBA_ASTC_6x5x5_OES:
+ return MESA_FORMAT_RGBA_ASTC_6x5x5;
+ case GL_COMPRESSED_RGBA_ASTC_6x6x5_OES:
+ return MESA_FORMAT_RGBA_ASTC_6x6x5;
+ case GL_COMPRESSED_RGBA_ASTC_6x6x6_OES:
+ return MESA_FORMAT_RGBA_ASTC_6x6x6;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_3x3x3;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x3x3;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x4x3;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_4x4x4;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x4x4;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x5x4;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_5x5x5;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x5x5;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x6x5;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES:
+ return MESA_FORMAT_SRGB8_ALPHA8_ASTC_6x6x6;
+
+ case GL_ATC_RGB_AMD:
+ return MESA_FORMAT_ATC_RGB;
+ case GL_ATC_RGBA_EXPLICIT_ALPHA_AMD:
+ return MESA_FORMAT_ATC_RGBA_EXPLICIT;
+ case GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD:
+ return MESA_FORMAT_ATC_RGBA_INTERPOLATED;