+ case GL_COMPRESSED_RED_RGTC1:
+ return MESA_FORMAT_R_RGTC1_UNORM;
+ case GL_COMPRESSED_SIGNED_RED_RGTC1:
+ return MESA_FORMAT_R_RGTC1_SNORM;
+ case GL_COMPRESSED_RG_RGTC2:
+ return MESA_FORMAT_RG_RGTC2_UNORM;
+ case GL_COMPRESSED_SIGNED_RG_RGTC2:
+ return MESA_FORMAT_RG_RGTC2_SNORM;
+
+ case GL_COMPRESSED_LUMINANCE_LATC1_EXT:
+ return MESA_FORMAT_L_LATC1_UNORM;
+ case GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT:
+ return MESA_FORMAT_L_LATC1_SNORM;
+ case GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT:
+ case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
+ return MESA_FORMAT_LA_LATC2_UNORM;
+ case GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT:
+ 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;
+