X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fteximage.h;h=f2cad7eb2dae558c96a110646b96d2c1dce870da;hb=32ef6e75839d6be283e034436e5dd34eabb67958;hp=e90cd717052662cf8a19ea973b2a9ce7768931c5;hpb=6dc85575000127630489b407c50a4b3ea87c9acb;p=mesa.git diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h index e90cd717052..f2cad7eb2da 100644 --- a/src/mesa/main/teximage.h +++ b/src/mesa/main/teximage.h @@ -5,9 +5,9 @@ /* * Mesa 3-D graphics library - * Version: 5.1 + * Version: 6.5 * - * Copyright (C) 1999-2003 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -35,11 +35,22 @@ #include "mtypes.h" +extern void * +_mesa_alloc_texmemory(GLsizei bytes); + +extern void +_mesa_free_texmemory(void *m); + + /** \name Internal functions */ /*@{*/ extern GLint -_mesa_base_tex_format( GLcontext *ctx, GLint format ); +_mesa_base_tex_format( GLcontext *ctx, GLint internalFormat ); + + +extern GLboolean +_mesa_is_proxy_texture(GLenum target); extern struct gl_texture_image * @@ -47,7 +58,11 @@ _mesa_new_texture_image( GLcontext *ctx ); extern void -_mesa_delete_texture_image( struct gl_texture_image *teximage ); +_mesa_delete_texture_image( GLcontext *ctx, struct gl_texture_image *teximage ); + +extern void +_mesa_free_texture_image_data( GLcontext *ctx, + struct gl_texture_image *texImage ); extern void @@ -69,12 +84,12 @@ _mesa_select_tex_object(GLcontext *ctx, const struct gl_texture_unit *texUnit, extern struct gl_texture_image * -_mesa_select_tex_image(GLcontext *ctx, const struct gl_texture_unit *texUnit, +_mesa_select_tex_image(GLcontext *ctx, const struct gl_texture_object *texObj, GLenum target, GLint level); extern struct gl_texture_image * -_mesa_get_tex_image(GLcontext *ctx, const struct gl_texture_unit *texUnit, +_mesa_get_tex_image(GLcontext *ctx, struct gl_texture_object *texObj, GLenum target, GLint level); @@ -91,50 +106,68 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLenum format, GLenum type, GLint width, GLint height, GLint depth, GLint border); + +/** + * Lock a texture for updating. See also _mesa_lock_context_textures(). + */ +static INLINE void +_mesa_lock_texture(GLcontext *ctx, struct gl_texture_object *texObj) +{ + _glthread_LOCK_MUTEX(ctx->Shared->TexMutex); + ctx->Shared->TextureStateStamp++; + (void) texObj; +} + +static INLINE void +_mesa_unlock_texture(GLcontext *ctx, struct gl_texture_object *texObj) +{ + _glthread_UNLOCK_MUTEX(ctx->Shared->TexMutex); +} + /*@}*/ /** \name API entry point functions */ /*@{*/ -extern void +extern void GLAPIENTRY _mesa_TexImage1D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels ); -extern void +extern void GLAPIENTRY _mesa_TexImage2D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ); -extern void +extern void GLAPIENTRY _mesa_TexImage3D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels ); -extern void +extern void GLAPIENTRY _mesa_TexImage3DEXT( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels ); -extern void +extern void GLAPIENTRY _mesa_GetTexImage( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels ); -extern void +extern void GLAPIENTRY _mesa_TexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels ); -extern void +extern void GLAPIENTRY _mesa_TexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, @@ -142,7 +175,7 @@ _mesa_TexSubImage2D( GLenum target, GLint level, const GLvoid *pixels ); -extern void +extern void GLAPIENTRY _mesa_TexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, @@ -150,48 +183,48 @@ _mesa_TexSubImage3D( GLenum target, GLint level, const GLvoid *pixels ); -extern void +extern void GLAPIENTRY _mesa_CopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ); -extern void +extern void GLAPIENTRY _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ); -extern void +extern void GLAPIENTRY _mesa_CopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ); -extern void +extern void GLAPIENTRY _mesa_CopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ); -extern void +extern void GLAPIENTRY _mesa_CopyTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ); -extern void +extern void GLAPIENTRY _mesa_CompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); -extern void +extern void GLAPIENTRY _mesa_CompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); -extern void +extern void GLAPIENTRY _mesa_CompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, @@ -202,24 +235,24 @@ _mesa_CompressedTexImage3DARB(GLenum target, GLint level, #define _mesa_CompressedTexSubImage2DARB _mesa_CompressedTexSubImage2DAR #define _mesa_CompressedTexSubImage3DARB _mesa_CompressedTexSubImage3DAR #endif -extern void +extern void GLAPIENTRY _mesa_CompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); -extern void +extern void GLAPIENTRY _mesa_CompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); -extern void +extern void GLAPIENTRY _mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); -extern void +extern void GLAPIENTRY _mesa_GetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img); /*@}*/