X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftexobj.h;h=9ca7a4c9e11834cdd3fbcff23340d1b145af9e8b;hb=9ec5050898877baa6120fd9a04464651c7cb28ad;hp=9bfebd45c818fdafad609ed041699ac50b38b18b;hpb=a89963cec1b5872d620c73ed8a5e54b10e3bf28b;p=mesa.git diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h index 9bfebd45c81..9ca7a4c9e11 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,45 +43,59 @@ /*@{*/ 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_clear_texture_object(GLcontext *ctx, struct gl_texture_object *obj); +_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); + struct gl_texture_object *tex) +{ + if (*ptr != tex) + _mesa_reference_texobj_(ptr, tex); +} + extern void -_mesa_test_texobj_completeness( const GLcontext *ctx, +_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(GLcontext *ctx, struct gl_texture_object *texObj, +_mesa_dirty_texobj(struct gl_context *ctx, struct gl_texture_object *texObj, GLboolean invalidate_state); extern struct gl_texture_object * -_mesa_get_fallback_texture(GLcontext *ctx); +_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 ); /*@}*/