mipmap.h revision 3464ebd5
17117f1b4Smrg/*
27117f1b4Smrg * Mesa 3-D graphics library
37117f1b4Smrg * Version:  6.5.2
47117f1b4Smrg *
57117f1b4Smrg * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
67117f1b4Smrg *
77117f1b4Smrg * Permission is hereby granted, free of charge, to any person obtaining a
87117f1b4Smrg * copy of this software and associated documentation files (the "Software"),
97117f1b4Smrg * to deal in the Software without restriction, including without limitation
107117f1b4Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
117117f1b4Smrg * and/or sell copies of the Software, and to permit persons to whom the
127117f1b4Smrg * Software is furnished to do so, subject to the following conditions:
137117f1b4Smrg *
147117f1b4Smrg * The above copyright notice and this permission notice shall be included
157117f1b4Smrg * in all copies or substantial portions of the Software.
167117f1b4Smrg *
177117f1b4Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
187117f1b4Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
197117f1b4Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
207117f1b4Smrg * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
217117f1b4Smrg * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
227117f1b4Smrg * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
237117f1b4Smrg */
247117f1b4Smrg
257117f1b4Smrg
267117f1b4Smrg#ifndef MIPMAP_H
277117f1b4Smrg#define MIPMAP_H
287117f1b4Smrg
297117f1b4Smrg#include "mtypes.h"
307117f1b4Smrg
31c1f859d4Smrg
32c1f859d4Smrgextern void
33c1f859d4Smrg_mesa_generate_mipmap_level(GLenum target,
34c1f859d4Smrg                            GLenum datatype, GLuint comps,
35c1f859d4Smrg                            GLint border,
36c1f859d4Smrg                            GLint srcWidth, GLint srcHeight, GLint srcDepth,
37c1f859d4Smrg                            const GLubyte *srcData,
38c1f859d4Smrg                            GLint srcRowStride,
39c1f859d4Smrg                            GLint dstWidth, GLint dstHeight, GLint dstDepth,
40c1f859d4Smrg                            GLubyte *dstData,
41c1f859d4Smrg                            GLint dstRowStride);
42c1f859d4Smrg
43c1f859d4Smrg
447117f1b4Smrgextern void
453464ebd5Sriastradh_mesa_generate_mipmap(struct gl_context *ctx, GLenum target,
467117f1b4Smrg                      struct gl_texture_object *texObj);
477117f1b4Smrg
487117f1b4Smrg
497117f1b4Smrgextern void
507117f1b4Smrg_mesa_rescale_teximage2d(GLuint bytesPerPixel,
517117f1b4Smrg                         GLuint srcStrideInPixels,
527117f1b4Smrg                         GLuint dstRowStride,
537117f1b4Smrg                         GLint srcWidth, GLint srcHeight,
547117f1b4Smrg                         GLint dstWidth, GLint dstHeight,
557117f1b4Smrg                         const GLvoid *srcImage, GLvoid *dstImage);
567117f1b4Smrg
577117f1b4Smrgextern void
587117f1b4Smrg_mesa_upscale_teximage2d(GLsizei inWidth, GLsizei inHeight,
597117f1b4Smrg                         GLsizei outWidth, GLsizei outHeight,
607117f1b4Smrg                         GLint comps, const GLchan *src, GLint srcRowStride,
617117f1b4Smrg                         GLchan *dest);
627117f1b4Smrg
637117f1b4Smrg
647117f1b4Smrg#endif /* MIPMAP_H */
65