124edd9015951dd41898902b6c3973fe605e5871aBrian Paul/*
224edd9015951dd41898902b6c3973fe605e5871aBrian Paul * Mesa 3-D graphics library
324edd9015951dd41898902b6c3973fe605e5871aBrian Paul * Version:  6.5.2
424edd9015951dd41898902b6c3973fe605e5871aBrian Paul *
524edd9015951dd41898902b6c3973fe605e5871aBrian Paul * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
624edd9015951dd41898902b6c3973fe605e5871aBrian Paul *
724edd9015951dd41898902b6c3973fe605e5871aBrian Paul * Permission is hereby granted, free of charge, to any person obtaining a
824edd9015951dd41898902b6c3973fe605e5871aBrian Paul * copy of this software and associated documentation files (the "Software"),
924edd9015951dd41898902b6c3973fe605e5871aBrian Paul * to deal in the Software without restriction, including without limitation
1024edd9015951dd41898902b6c3973fe605e5871aBrian Paul * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1124edd9015951dd41898902b6c3973fe605e5871aBrian Paul * and/or sell copies of the Software, and to permit persons to whom the
1224edd9015951dd41898902b6c3973fe605e5871aBrian Paul * Software is furnished to do so, subject to the following conditions:
1324edd9015951dd41898902b6c3973fe605e5871aBrian Paul *
1424edd9015951dd41898902b6c3973fe605e5871aBrian Paul * The above copyright notice and this permission notice shall be included
1524edd9015951dd41898902b6c3973fe605e5871aBrian Paul * in all copies or substantial portions of the Software.
1624edd9015951dd41898902b6c3973fe605e5871aBrian Paul *
1724edd9015951dd41898902b6c3973fe605e5871aBrian Paul * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1824edd9015951dd41898902b6c3973fe605e5871aBrian Paul * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1924edd9015951dd41898902b6c3973fe605e5871aBrian Paul * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
2024edd9015951dd41898902b6c3973fe605e5871aBrian Paul * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
2124edd9015951dd41898902b6c3973fe605e5871aBrian Paul * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
2224edd9015951dd41898902b6c3973fe605e5871aBrian Paul * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2324edd9015951dd41898902b6c3973fe605e5871aBrian Paul */
2424edd9015951dd41898902b6c3973fe605e5871aBrian Paul
2524edd9015951dd41898902b6c3973fe605e5871aBrian Paul
2624edd9015951dd41898902b6c3973fe605e5871aBrian Paul#ifndef MIPMAP_H
2724edd9015951dd41898902b6c3973fe605e5871aBrian Paul#define MIPMAP_H
2824edd9015951dd41898902b6c3973fe605e5871aBrian Paul
2924edd9015951dd41898902b6c3973fe605e5871aBrian Paul#include "mtypes.h"
3024edd9015951dd41898902b6c3973fe605e5871aBrian Paul
31abb465cdc71da566d431f44feeec31594e01086fBrian
32abb465cdc71da566d431f44feeec31594e01086fBrianextern void
33abb465cdc71da566d431f44feeec31594e01086fBrian_mesa_generate_mipmap_level(GLenum target,
34abb465cdc71da566d431f44feeec31594e01086fBrian                            GLenum datatype, GLuint comps,
35abb465cdc71da566d431f44feeec31594e01086fBrian                            GLint border,
36abb465cdc71da566d431f44feeec31594e01086fBrian                            GLint srcWidth, GLint srcHeight, GLint srcDepth,
37e0304180c32227342dbb67b707bfae446543bb48Brian Paul                            const GLubyte **srcData,
3874c64fa748c833a9688d3a141a7807686701e24fBrian                            GLint srcRowStride,
39abb465cdc71da566d431f44feeec31594e01086fBrian                            GLint dstWidth, GLint dstHeight, GLint dstDepth,
40e0304180c32227342dbb67b707bfae446543bb48Brian Paul                            GLubyte **dstData,
4174c64fa748c833a9688d3a141a7807686701e24fBrian                            GLint dstRowStride);
42abb465cdc71da566d431f44feeec31594e01086fBrian
43abb465cdc71da566d431f44feeec31594e01086fBrian
44d77b963245fd286aecd6c04f7beb748ad22129cfBrian Paulextern GLboolean
45d77b963245fd286aecd6c04f7beb748ad22129cfBrian Paul_mesa_prepare_mipmap_level(struct gl_context *ctx,
46d77b963245fd286aecd6c04f7beb748ad22129cfBrian Paul                           struct gl_texture_object *texObj, GLuint level,
47d77b963245fd286aecd6c04f7beb748ad22129cfBrian Paul                           GLsizei width, GLsizei height, GLsizei depth,
48d77b963245fd286aecd6c04f7beb748ad22129cfBrian Paul                           GLsizei border, GLenum intFormat, gl_format format);
49d77b963245fd286aecd6c04f7beb748ad22129cfBrian Paul
5024edd9015951dd41898902b6c3973fe605e5871aBrian Paulextern void
51f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_generate_mipmap(struct gl_context *ctx, GLenum target,
5224edd9015951dd41898902b6c3973fe605e5871aBrian Paul                      struct gl_texture_object *texObj);
5324edd9015951dd41898902b6c3973fe605e5871aBrian Paul
5424edd9015951dd41898902b6c3973fe605e5871aBrian Paul
5524edd9015951dd41898902b6c3973fe605e5871aBrian Paul#endif /* MIPMAP_H */
56