X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftexstore.h;h=313f2d6a598fb7aa2db95c645e54e869d05f0753;hb=54f425b5cefd1e40f315a4f8747b9a3db29ab9d4;hp=bde790901851ce281a304a875755903c94ab180e;hpb=e4276667dafc8de0c6e64af8300fc7598437de6e;p=mesa.git diff --git a/src/mesa/main/texstore.h b/src/mesa/main/texstore.h index bde79090185..313f2d6a598 100644 --- a/src/mesa/main/texstore.h +++ b/src/mesa/main/texstore.h @@ -1,10 +1,9 @@ -/* $Id: texstore.h,v 1.9 2001/06/15 14:18:46 brianp Exp $ */ - /* * Mesa 3-D graphics library - * Version: 3.5 + * Version: 6.5.1 * - * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (c) 2008 VMware, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -24,9 +23,12 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* - * Authors: - * Brian Paul + +/** + * \file texstore.h + * Texture image storage routines. + * + * \author Brian Paul */ @@ -37,17 +39,60 @@ #include "mtypes.h" +extern GLboolean _mesa_texstore_rgba(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_color_index(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgba8888(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_argb8888(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgb888(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_bgr888(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgb565(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgb565_rev(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgba4444(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_argb4444(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_argb4444_rev(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgba5551(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_argb1555(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_argb1555_rev(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_al88(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_al88_rev(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgb332(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_a8(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_ci8(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_ycbcr(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_z24_s8(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_s8_z24(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_z16(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_z32(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgba_float32(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgba_float16(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgb_fxt1(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgba_fxt1(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgb_dxt1(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgba_dxt1(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgba_dxt3(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_rgba_dxt5(TEXSTORE_PARAMS); +#if FEATURE_EXT_texture_sRGB +extern GLboolean _mesa_texstore_srgb8(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_srgba8(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_sargb8(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_sl8(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_sla8(TEXSTORE_PARAMS); +#endif +extern GLboolean _mesa_texstore_dudv8(TEXSTORE_PARAMS); +extern GLboolean _mesa_texstore_signed_rgba8888(TEXSTORE_PARAMS); + +extern GLchan * +_mesa_make_temp_chan_image(GLcontext *ctx, GLuint dims, + GLenum logicalBaseFormat, + GLenum textureBaseFormat, + GLint srcWidth, GLint srcHeight, GLint srcDepth, + GLenum srcFormat, GLenum srcType, + const GLvoid *srcAddr, + const struct gl_pixelstore_attrib *srcPacking); + + extern void -_mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions, - GLenum baseInternalFormat, - const struct gl_texture_format *texDestFormat, - GLvoid *texDestAddr, - GLint srcWidth, GLint srcHeight, GLint srcDepth, - GLint dstXoffset, GLint dstYoffset, GLint dstZoffset, - GLint dstRowStride, GLint dstImageStride, - GLenum srcFormat, GLenum srcType, - const GLvoid *srcAddr, - const struct gl_pixelstore_attrib *srcPacking); +_mesa_set_fetch_functions(struct gl_texture_image *texImage, GLuint dims); extern void @@ -64,7 +109,7 @@ extern void _mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint height, GLint border, - GLenum format, GLenum type, const void *pixels, + GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage); @@ -74,7 +119,7 @@ extern void _mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint height, GLint depth, GLint border, - GLenum format, GLenum type, const void *pixels, + GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage); @@ -83,7 +128,7 @@ _mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level, extern void _mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint width, - GLenum format, GLenum type, const void *pixels, + GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage); @@ -93,7 +138,7 @@ extern void _mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint width, GLint height, - GLenum format, GLenum type, const void *pixels, + GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage); @@ -103,7 +148,7 @@ extern void _mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint width, GLint height, GLint depth, - GLenum format, GLenum type, const void *pixels, + GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage); @@ -136,21 +181,51 @@ _mesa_store_compressed_teximage3d(GLcontext *ctx, GLenum target, GLint level, extern void -_mesa_get_compressed_teximage(GLcontext *ctx, GLenum target, - GLint level, void *image, - const struct gl_texture_object *texObj, - struct gl_texture_image *texImage); - +_mesa_store_compressed_texsubimage1d(GLcontext *ctx, GLenum target, + GLint level, + GLint xoffset, GLsizei width, + GLenum format, + GLsizei imageSize, const GLvoid *data, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage); -extern GLboolean -_mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level, - GLint internalFormat, GLenum format, GLenum type, - GLint width, GLint height, GLint depth, GLint border); +extern void +_mesa_store_compressed_texsubimage2d(GLcontext *ctx, GLenum target, + GLint level, + GLint xoffset, GLint yoffset, + GLsizei width, GLsizei height, + GLenum format, + GLsizei imageSize, const GLvoid *data, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage); +extern void +_mesa_store_compressed_texsubimage3d(GLcontext *ctx, GLenum target, + GLint level, + GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, + GLenum format, + GLsizei imageSize, const GLvoid *data, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage); + + +extern const GLvoid * +_mesa_validate_pbo_teximage(GLcontext *ctx, GLuint dimensions, + GLsizei width, GLsizei height, GLsizei depth, + GLenum format, GLenum type, const GLvoid *pixels, + const struct gl_pixelstore_attrib *unpack, + const char *funcName); + +extern const GLvoid * +_mesa_validate_pbo_compressed_teximage(GLcontext *ctx, + GLsizei imageSize, const GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + const char *funcName); extern void -_mesa_generate_mipmap(GLcontext *ctx, - const struct gl_texture_unit *texUnit, - struct gl_texture_object *texObj); +_mesa_unmap_teximage_pbo(GLcontext *ctx, + const struct gl_pixelstore_attrib *unpack); + #endif