Imported the Savage DRI driver from the savage-2-0-0-branch of DRI CVS
[mesa.git] / src / mesa / main / texutil.h
index 03f7d28bf4d8b130220a6017963b55a9a5ef3fb7..97e629cfb483321676251bd93c9026ab252bf13c 100644 (file)
@@ -1,4 +1,3 @@
-/* $Id: texutil.h,v 1.8 2001/03/12 00:48:39 gareth Exp $ */
 
 /*
  * Mesa 3-D graphics library
  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors:
+ *    Gareth Hughes
  */
 
 
 #ifndef TEXUTIL_H
 #define TEXUTIL_H
 
-
 #include "mtypes.h"
-
-
-
-/*
- * NOTE: "FF" means fill with byte value 0xff
- */
-                           /* msb <------ TEXEL BITS -----------> lsb */
-typedef enum {             /* ---- ---- ---- ---- ---- ---- ---- ---- */
-   MESA_I8,                /*                               IIII IIII */
-   MESA_L8,                /*                               LLLL LLLL */
-   MESA_A8,                /*                               AAAA AAAA */
-   MESA_C8,                /*                               CCCC CCCC */
-   MESA_A8_L8,             /*                     AAAA AAAA LLLL LLLL */
-   MESA_R5_G6_B5,          /*                     RRRR RGGG GGGB BBBB */
-   MESA_A4_R4_G4_B4,       /*                     AAAA RRRR GGGG BBBB */
-   MESA_A1_R5_G5_B5,       /*                     ARRR RRGG GGGB BBBB */
-   MESA_A8_R8_G8_B8,       /* AAAA AAAA RRRR RRRR GGGG GGGG BBBB BBBB */
-   MESA_FF_R8_G8_B8        /* FFFF FFFF RRRR RRRR GGGG GGGG BBBB BBBB */
-} MesaIntTexFormat;
-
-
-
+#include "texformat.h"
 
 extern GLboolean
-_mesa_convert_teximage(MesaIntTexFormat dstFormat,
-                       GLint dstWidth, GLint dstHeight, GLvoid *dstImage,
-                       GLint dstRowStride,
-                       GLint srcWidth, GLint srcHeight,
-                       GLenum srcFormat, GLenum srcType,
-                       const GLvoid *srcImage,
-                       const struct gl_pixelstore_attrib *packing);
-
-
+_mesa_convert_texsubimage1d( GLint mesaFormat,
+                            GLint xoffset,
+                            GLint width,
+                            GLenum format, GLenum type,
+                            const struct gl_pixelstore_attrib *packing,
+                            const GLvoid *srcImage, GLvoid *dstImage );
 
 extern GLboolean
-_mesa_convert_texsubimage(MesaIntTexFormat dstFormat,
-                          GLint dstXoffset, GLint dstYoffset,
-                          GLint dstWidth, GLint dstHeight, GLvoid *dstImage,
-                          GLint dstRowStride,
-                          GLint width, GLint height,
-                          GLint srcWidth, GLint srcHeight,
-                          GLenum srcFormat, GLenum srcType,
-                          const GLvoid *srcImage,
-                          const struct gl_pixelstore_attrib *packing);
-
-
-extern void
-_mesa_unconvert_teximage(MesaIntTexFormat srcFormat,
-                         GLint srcWidth, GLint srcHeight,
-                         const GLvoid *srcImage, GLint srcRowStride,
-                         GLint dstWidth, GLint dstHeight,
-                         GLenum dstFormat, GLubyte *dstImage);
-
+_mesa_convert_texsubimage2d( GLint mesaFormat,
+                            GLint xoffset, GLint yoffset,
+                            GLint width, GLint height,
+                            GLint imageWidth,
+                            GLenum format, GLenum type,
+                            const struct gl_pixelstore_attrib *packing,
+                            const GLvoid *srcImage, GLvoid *dstImage );
 
+extern GLboolean
+_mesa_convert_texsubimage3d( GLint mesaFormat,
+                            GLint xoffset, GLint yoffset, GLint zoffset,
+                            GLint width, GLint height, GLint depth,
+                            GLint imageWidth, GLint imageHeight,
+                            GLenum format, GLenum type,
+                            const struct gl_pixelstore_attrib *packing,
+                            const GLvoid *srcImage, GLvoid *dstImage );
+
+/* Nearest filtering only (for broken hardware that can't support
+ * all aspect ratios).  FIXME: Make this a subimage update as well...
+ */
 extern void
-_mesa_set_teximage_component_sizes(MesaIntTexFormat mesaFormat,
-                                   struct gl_texture_image *texImage);
+_mesa_rescale_teximage2d( GLuint bytesPerPixel, GLuint dstRowStride,
+                         GLint srcWidth, GLint srcHeight,
+                         GLint dstWidth, GLint dstHeight,
+                         const GLvoid *srcImage, GLvoid *dstImage );
 
 
 #endif