+ return MESA_FORMAT_SRGB_DXT1;
+
+ /* i915 could also do this */
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ return MESA_FORMAT_DUDV8;
+ case GL_RGBA_SNORM:
+ case GL_RGBA8_SNORM:
+ return MESA_FORMAT_SIGNED_RGBA8888_REV;
+
+ /* i915 can do a RG16, but it can't do any of the other RED or RG formats.
+ * In addition, it only implements the broken D3D mode where undefined
+ * components are read as 1.0. I'm not sure who thought reading
+ * { R, G, 1.0, 1.0 } from a red-green texture would be useful.
+ */
+ case GL_RED:
+ case GL_R8:
+ return MESA_FORMAT_R8;
+ case GL_R16:
+ return MESA_FORMAT_R16;
+ case GL_RG:
+ case GL_RG8:
+ return MESA_FORMAT_RG88;
+ case GL_RG16:
+ return MESA_FORMAT_RG1616;