texstore.h revision 709892459922a32096fe9dd8261d0d92337bb02f
1/* $Id: texstore.h,v 1.3 2001/03/19 02:25:35 keithw Exp $ */ 2 3/* 4 * Mesa 3-D graphics library 5 * Version: 3.5 6 * 7 * Copyright (C) 1999-2001 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 40extern void 41_mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions, 42 GLenum texFormat, GLchan *texAddr, 43 GLint srcWidth, GLint srcHeight, GLint srcDepth, 44 GLint dstXoffset, GLint dstYoffset, GLint dstZoffset, 45 GLint dstRowStride, GLint dstImageStride, 46 GLenum srcFormat, GLenum srcType, 47 const GLvoid *srcAddr, 48 const struct gl_pixelstore_attrib *srcPacking); 49 50 51extern void 52_mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level, 53 GLint internalFormat, 54 GLint width, GLint border, 55 GLenum format, GLenum type, const GLvoid *pixels, 56 const struct gl_pixelstore_attrib *packing, 57 struct gl_texture_object *texObj, 58 struct gl_texture_image *texImage); 59 60 61extern void 62_mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level, 63 GLint internalFormat, 64 GLint width, GLint height, GLint border, 65 GLenum format, GLenum type, const void *pixels, 66 const struct gl_pixelstore_attrib *packing, 67 struct gl_texture_object *texObj, 68 struct gl_texture_image *texImage); 69 70 71extern void 72_mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level, 73 GLint internalFormat, 74 GLint width, GLint height, GLint depth, GLint border, 75 GLenum format, GLenum type, const void *pixels, 76 const struct gl_pixelstore_attrib *packing, 77 struct gl_texture_object *texObj, 78 struct gl_texture_image *texImage); 79 80 81extern void 82_mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level, 83 GLint xoffset, GLint width, 84 GLenum format, GLenum type, const void *pixels, 85 const struct gl_pixelstore_attrib *packing, 86 struct gl_texture_object *texObj, 87 struct gl_texture_image *texImage); 88 89 90extern void 91_mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level, 92 GLint xoffset, GLint yoffset, 93 GLint width, GLint height, 94 GLenum format, GLenum type, const void *pixels, 95 const struct gl_pixelstore_attrib *packing, 96 struct gl_texture_object *texObj, 97 struct gl_texture_image *texImage); 98 99 100extern void 101_mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level, 102 GLint xoffset, GLint yoffset, GLint zoffset, 103 GLint width, GLint height, GLint depth, 104 GLenum format, GLenum type, const void *pixels, 105 const struct gl_pixelstore_attrib *packing, 106 struct gl_texture_object *texObj, 107 struct gl_texture_image *texImage); 108 109 110extern void 111_mesa_store_compressed_teximage1d(GLcontext *ctx, GLenum target, GLint level, 112 GLint internalFormat, 113 GLint width, GLint border, 114 GLsizei imageSize, const GLvoid *data, 115 struct gl_texture_object *texObj, 116 struct gl_texture_image *texImage); 117 118extern void 119_mesa_store_compressed_teximage2d(GLcontext *ctx, GLenum target, GLint level, 120 GLint internalFormat, 121 GLint width, GLint height, GLint border, 122 GLsizei imageSize, const GLvoid *data, 123 struct gl_texture_object *texObj, 124 struct gl_texture_image *texImage); 125 126extern void 127_mesa_store_compressed_teximage3d(GLcontext *ctx, GLenum target, GLint level, 128 GLint internalFormat, 129 GLint width, GLint height, GLint depth, 130 GLint border, 131 GLsizei imageSize, const GLvoid *data, 132 struct gl_texture_object *texObj, 133 struct gl_texture_image *texImage); 134 135 136extern GLboolean 137_mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level, 138 GLint internalFormat, GLenum format, GLenum type, 139 GLint width, GLint height, GLint depth, GLint border); 140 141 142#endif 143