mesa: remove gl_texture_format
[mesa.git] / src / mesa / main / formats.c
index 5c2bf5ece3e61748442763b33807fb7b369c0862..2ad5685883ef51a5bc027babed98344cdf8b3e37 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 
+#include "imports.h"
 #include "formats.h"
 #include "config.h"
 #include "texstore.h"
@@ -593,6 +594,45 @@ _mesa_get_format_bytes(gl_format format)
 }
 
 
+GLint
+_mesa_get_format_bits(gl_format format, GLenum pname)
+{
+   const struct gl_format_info *info = _mesa_get_format_info(format);
+
+   switch (pname) {
+   case GL_TEXTURE_RED_SIZE:
+      return info->RedBits;
+   case GL_TEXTURE_GREEN_SIZE:
+      return info->GreenBits;
+   case GL_TEXTURE_BLUE_SIZE:
+      return info->BlueBits;
+   case GL_TEXTURE_ALPHA_SIZE:
+      return info->AlphaBits;
+   case GL_TEXTURE_INTENSITY_SIZE:
+      return info->IntensityBits;
+   case GL_TEXTURE_LUMINANCE_SIZE:
+      return info->LuminanceBits;
+   case GL_TEXTURE_INDEX_SIZE_EXT:
+      return info->IndexBits;
+   case GL_TEXTURE_DEPTH_SIZE_ARB:
+      return info->DepthBits;
+   case GL_TEXTURE_STENCIL_SIZE_EXT:
+      return info->StencilBits;
+   default:
+      _mesa_problem(NULL, "bad pname in _mesa_get_format_bits()");
+      return 0;
+   }
+}
+
+
+GLenum
+_mesa_get_format_datatype(gl_format format)
+{
+   const struct gl_format_info *info = _mesa_get_format_info(format);
+   return info->DataType;
+}
+
+
 GLenum
 _mesa_get_format_base_format(gl_format format)
 {
@@ -784,4 +824,3 @@ _mesa_format_to_type_and_comps2(gl_format format,
       *datatype = GL_UNSIGNED_BYTE;
    }
 }
-