home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mesa5.zip / mesa5src.zip / texstore.h < prev    next >
C/C++ Source or Header  |  2002-09-27  |  8KB  |  180 lines

  1. /* $Id: texstore.h,v 1.11 2002/09/27 02:45:38 brianp Exp $ */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  4.1
  6.  *
  7.  * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
  8.  *
  9.  * Permission is hereby granted, free of charge, to any person obtaining a
  10.  * copy of this software and associated documentation files (the "Software"),
  11.  * to deal in the Software without restriction, including without limitation
  12.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  13.  * and/or sell copies of the Software, and to permit persons to whom the
  14.  * Software is furnished to do so, subject to the following conditions:
  15.  *
  16.  * The above copyright notice and this permission notice shall be included
  17.  * in all copies or substantial portions of the Software.
  18.  *
  19.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  20.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  21.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  22.  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  23.  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  24.  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  25.  */
  26.  
  27. /*
  28.  * Authors:
  29.  *   Brian Paul
  30.  */
  31.  
  32.  
  33. #ifndef TEXSTORE_H
  34. #define TEXSTORE_H
  35.  
  36.  
  37. #include "mtypes.h"
  38.  
  39.  
  40. extern void
  41. _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
  42.                         GLenum baseInternalFormat,
  43.                         const struct gl_texture_format *texDestFormat,
  44.                         GLvoid *texDestAddr,
  45.                         GLint srcWidth, GLint srcHeight, GLint srcDepth,
  46.                         GLint dstXoffset, GLint dstYoffset, GLint dstZoffset,
  47.                         GLint dstRowStride, GLint dstImageStride,
  48.                         GLenum srcFormat, GLenum srcType,
  49.                         const GLvoid *srcAddr,
  50.                         const struct gl_pixelstore_attrib *srcPacking);
  51.  
  52.  
  53. extern void
  54. _mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
  55.                        GLint internalFormat,
  56.                        GLint width, GLint border,
  57.                        GLenum format, GLenum type, const GLvoid *pixels,
  58.                        const struct gl_pixelstore_attrib *packing,
  59.                        struct gl_texture_object *texObj,
  60.                        struct gl_texture_image *texImage);
  61.  
  62.  
  63. extern void
  64. _mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level,
  65.                        GLint internalFormat,
  66.                        GLint width, GLint height, GLint border,
  67.                        GLenum format, GLenum type, const void *pixels,
  68.                        const struct gl_pixelstore_attrib *packing,
  69.                        struct gl_texture_object *texObj,
  70.                        struct gl_texture_image *texImage);
  71.  
  72.  
  73. extern void
  74. _mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level,
  75.                        GLint internalFormat,
  76.                        GLint width, GLint height, GLint depth, GLint border,
  77.                        GLenum format, GLenum type, const void *pixels,
  78.                        const struct gl_pixelstore_attrib *packing,
  79.                        struct gl_texture_object *texObj,
  80.                        struct gl_texture_image *texImage);
  81.  
  82.  
  83. extern void
  84. _mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level,
  85.                           GLint xoffset, GLint width,
  86.                           GLenum format, GLenum type, const void *pixels,
  87.                           const struct gl_pixelstore_attrib *packing,
  88.                           struct gl_texture_object *texObj,
  89.                           struct gl_texture_image *texImage);
  90.  
  91.  
  92. extern void
  93. _mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level,
  94.                           GLint xoffset, GLint yoffset,
  95.                           GLint width, GLint height,
  96.                           GLenum format, GLenum type, const void *pixels,
  97.                           const struct gl_pixelstore_attrib *packing,
  98.                           struct gl_texture_object *texObj,
  99.                           struct gl_texture_image *texImage);
  100.  
  101.  
  102. extern void
  103. _mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level,
  104.                           GLint xoffset, GLint yoffset, GLint zoffset,
  105.                           GLint width, GLint height, GLint depth,
  106.                           GLenum format, GLenum type, const void *pixels,
  107.                           const struct gl_pixelstore_attrib *packing,
  108.                           struct gl_texture_object *texObj,
  109.                           struct gl_texture_image *texImage);
  110.  
  111.  
  112. extern void
  113. _mesa_store_compressed_teximage1d(GLcontext *ctx, GLenum target, GLint level,
  114.                                   GLint internalFormat,
  115.                                   GLint width, GLint border,
  116.                                   GLsizei imageSize, const GLvoid *data,
  117.                                   struct gl_texture_object *texObj,
  118.                                   struct gl_texture_image *texImage);
  119.  
  120. extern void
  121. _mesa_store_compressed_teximage2d(GLcontext *ctx, GLenum target, GLint level,
  122.                                   GLint internalFormat,
  123.                                   GLint width, GLint height, GLint border,
  124.                                   GLsizei imageSize, const GLvoid *data,
  125.                                   struct gl_texture_object *texObj,
  126.                                   struct gl_texture_image *texImage);
  127.  
  128. extern void
  129. _mesa_store_compressed_teximage3d(GLcontext *ctx, GLenum target, GLint level,
  130.                                   GLint internalFormat,
  131.                                   GLint width, GLint height, GLint depth,
  132.                                   GLint border,
  133.                                   GLsizei imageSize, const GLvoid *data,
  134.                                   struct gl_texture_object *texObj,
  135.                                   struct gl_texture_image *texImage);
  136.  
  137.  
  138. extern void
  139. _mesa_store_compressed_texsubimage1d(GLcontext *ctx, GLenum target,
  140.                                      GLint level,
  141.                                      GLint xoffset, GLsizei width,
  142.                                      GLenum format,
  143.                                      GLsizei imageSize, const GLvoid *data,
  144.                                      struct gl_texture_object *texObj,
  145.                                      struct gl_texture_image *texImage);
  146.  
  147. extern void
  148. _mesa_store_compressed_texsubimage2d(GLcontext *ctx, GLenum target,
  149.                                      GLint level,
  150.                                      GLint xoffset, GLint yoffset,
  151.                                      GLsizei width, GLsizei height,
  152.                                      GLenum format,
  153.                                      GLsizei imageSize, const GLvoid *data,
  154.                                      struct gl_texture_object *texObj,
  155.                                      struct gl_texture_image *texImage);
  156.  
  157. extern void
  158. _mesa_store_compressed_texsubimage3d(GLcontext *ctx, GLenum target,
  159.                                 GLint level,
  160.                                 GLint xoffset, GLint yoffset, GLint zoffset,
  161.                                 GLsizei width, GLsizei height, GLsizei depth,
  162.                                 GLenum format,
  163.                                 GLsizei imageSize, const GLvoid *data,
  164.                                 struct gl_texture_object *texObj,
  165.                                 struct gl_texture_image *texImage);
  166.  
  167.  
  168. extern GLboolean
  169. _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level,
  170.                          GLint internalFormat, GLenum format, GLenum type,
  171.                          GLint width, GLint height, GLint depth, GLint border);
  172.  
  173.  
  174. extern void
  175. _mesa_generate_mipmap(GLcontext *ctx, GLenum target,
  176.                       const struct gl_texture_unit *texUnit,
  177.                       struct gl_texture_object *texObj);
  178.  
  179. #endif
  180.