Home | History | Annotate | Download | only in main
      1 /*
      2  * Mesa 3-D graphics library
      3  *
      4  * Copyright (C) 1999-2008  Brian Paul   All Rights Reserved.
      5  * Copyright (c) 2009 VMware, Inc.
      6  *
      7  * Permission is hereby granted, free of charge, to any person obtaining a
      8  * copy of this software and associated documentation files (the "Software"),
      9  * to deal in the Software without restriction, including without limitation
     10  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
     11  * and/or sell copies of the Software, and to permit persons to whom the
     12  * Software is furnished to do so, subject to the following conditions:
     13  *
     14  * The above copyright notice and this permission notice shall be included
     15  * in all copies or substantial portions of the Software.
     16  *
     17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     18  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     20  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
     21  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     22  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     23  * OTHER DEALINGS IN THE SOFTWARE.
     24  */
     25 
     26 
     27 #ifndef TEXGETIMAGE_H
     28 #define TEXGETIMAGE_H
     29 
     30 #include "glheader.h"
     31 
     32 struct gl_context;
     33 struct gl_texture_image;
     34 struct gl_texture_object;
     35 
     36 extern GLenum
     37 _mesa_base_pack_format(GLenum format);
     38 
     39 extern void
     40 _mesa_GetTexSubImage_sw(struct gl_context *ctx,
     41                         GLint xoffset, GLint yoffset, GLint zoffset,
     42                         GLsizei width, GLsizei height, GLint depth,
     43                         GLenum format, GLenum type, GLvoid *pixels,
     44                         struct gl_texture_image *texImage);
     45 
     46 extern void
     47 _mesa_GetCompressedTexSubImage_sw(struct gl_context *ctx,
     48                                   struct gl_texture_image *texImage,
     49                                   GLint xoffset, GLint yoffset,
     50                                   GLint zoffset, GLsizei width,
     51                                   GLint height, GLint depth,
     52                                   GLvoid *data);
     53 
     54 extern void
     55 _mesa_get_compressed_texture_image( struct gl_context *ctx,
     56                                     struct gl_texture_object *texObj,
     57                                     struct gl_texture_image *texImage,
     58                                     GLenum target, GLint level,
     59                                     GLsizei bufSize, GLvoid *pixels,
     60                                     bool dsa );
     61 
     62 
     63 extern void GLAPIENTRY
     64 _mesa_GetTexImage( GLenum target, GLint level,
     65                    GLenum format, GLenum type, GLvoid *pixels );
     66 extern void GLAPIENTRY
     67 _mesa_GetnTexImageARB( GLenum target, GLint level, GLenum format,
     68                        GLenum type, GLsizei bufSize, GLvoid *pixels );
     69 extern void GLAPIENTRY
     70 _mesa_GetTextureImage(GLuint texture, GLint level, GLenum format,
     71                       GLenum type, GLsizei bufSize, GLvoid *pixels);
     72 
     73 extern void GLAPIENTRY
     74 _mesa_GetTextureSubImage(GLuint texture, GLint level,
     75                          GLint xoffset, GLint yoffset, GLint zoffset,
     76                          GLsizei width, GLsizei height, GLsizei depth,
     77                          GLenum format, GLenum type, GLsizei bufSize,
     78                          void *pixels);
     79 
     80 
     81 extern void GLAPIENTRY
     82 _mesa_GetCompressedTexImage(GLenum target, GLint lod, GLvoid *img);
     83 
     84 extern void GLAPIENTRY
     85 _mesa_GetnCompressedTexImageARB(GLenum target, GLint level, GLsizei bufSize,
     86                                 GLvoid *img);
     87 
     88 extern void GLAPIENTRY
     89 _mesa_GetCompressedTextureImage(GLuint texture, GLint level, GLsizei bufSize,
     90                                 GLvoid *pixels);
     91 
     92 extern void APIENTRY
     93 _mesa_GetCompressedTextureSubImage(GLuint texture, GLint level,
     94                                    GLint xoffset, GLint yoffset,
     95                                    GLint zoffset, GLsizei width,
     96                                    GLsizei height, GLsizei depth,
     97                                    GLsizei bufSize, void *pixels);
     98 
     99 #endif /* TEXGETIMAGE_H */
    100