X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftexobj.h;h=1faae6f7e3032964e105112f3b92629f81549ac9;hb=986a9bb1806174b70b756165ece555856a705dfb;hp=2a2bde36017577e81465660e123e7905b2126c06;hpb=fd9d27e0686f5a15803d13d207e58be1972fdf31;p=mesa.git diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h index 2a2bde36017..1faae6f7e30 100644 --- a/src/mesa/main/texobj.h +++ b/src/mesa/main/texobj.h @@ -32,8 +32,10 @@ #define TEXTOBJ_H -#include "mtypes.h" +#include "compiler.h" +#include "glheader.h" +struct gl_context; /** * \name Internal functions @@ -41,35 +43,62 @@ /*@{*/ extern struct gl_texture_object * -_mesa_lookup_texture(GLcontext *ctx, GLuint id); +_mesa_lookup_texture(struct gl_context *ctx, GLuint id); extern struct gl_texture_object * -_mesa_new_texture_object( GLcontext *ctx, GLuint name, GLenum target ); +_mesa_new_texture_object( struct gl_context *ctx, GLuint name, GLenum target ); extern void _mesa_initialize_texture_object( struct gl_texture_object *obj, GLuint name, GLenum target ); extern void -_mesa_delete_texture_object( GLcontext *ctx, struct gl_texture_object *obj ); +_mesa_delete_texture_object( struct gl_context *ctx, + struct gl_texture_object *obj ); extern void _mesa_copy_texture_object( struct gl_texture_object *dest, const struct gl_texture_object *src ); extern void -_mesa_test_texobj_completeness( const GLcontext *ctx, +_mesa_clear_texture_object(struct gl_context *ctx, + struct gl_texture_object *obj); + +extern void +_mesa_reference_texobj_(struct gl_texture_object **ptr, + struct gl_texture_object *tex); + +static INLINE void +_mesa_reference_texobj(struct gl_texture_object **ptr, + struct gl_texture_object *tex) +{ + if (*ptr != tex) + _mesa_reference_texobj_(ptr, tex); +} + + +extern void +_mesa_test_texobj_completeness( const struct gl_context *ctx, struct gl_texture_object *obj ); +extern GLboolean +_mesa_cube_complete(const struct gl_texture_object *texObj); + +extern void +_mesa_dirty_texobj(struct gl_context *ctx, struct gl_texture_object *texObj, + GLboolean invalidate_state); + +extern struct gl_texture_object * +_mesa_get_fallback_texture(struct gl_context *ctx); + extern void -_mesa_unlock_context_textures( GLcontext *ctx ); +_mesa_unlock_context_textures( struct gl_context *ctx ); extern void -_mesa_lock_context_textures( GLcontext *ctx ); +_mesa_lock_context_textures( struct gl_context *ctx ); /*@}*/ - /** * \name API functions */