X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftexstate.h;h=17ac68000c5092515c2602fff148ab92bd38170a;hb=8130375e775bd5ba6a47412b0ea8ec9f23dc5972;hp=343f289d82a39a2fef26bb612b786eff8467ef22;hpb=6cb5b3475d0d4a40479702e93b3c6a7a4129bb41;p=mesa.git diff --git a/src/mesa/main/texstate.h b/src/mesa/main/texstate.h index 343f289d82a..17ac68000c5 100644 --- a/src/mesa/main/texstate.h +++ b/src/mesa/main/texstate.h @@ -1,10 +1,13 @@ -/* $Id: texstate.h,v 1.10 2002/12/05 04:51:57 brianp Exp $ */ +/** + * \file texstate.h + * Texture state management. + */ /* * Mesa 3-D graphics library - * Version: 5.1 + * Version: 7.1 * - * Copyright (C) 1999-2002 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -32,139 +35,57 @@ #include "mtypes.h" -extern void -_mesa_copy_texture_state( const GLcontext *src, GLcontext *dst ); - -extern void -_mesa_print_texunit_state( GLcontext *ctx, GLuint unit ); - - -/*** Called from API ***/ - -extern void -_mesa_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params ); - -extern void -_mesa_GetTexEnviv( GLenum target, GLenum pname, GLint *params ); - -extern void -_mesa_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params ); - -extern void -_mesa_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params ); - -extern void -_mesa_GetTexGeniv( GLenum coord, GLenum pname, GLint *params ); - -extern void -_mesa_GetTexLevelParameterfv( GLenum target, GLint level, - GLenum pname, GLfloat *params ); - -extern void -_mesa_GetTexLevelParameteriv( GLenum target, GLint level, - GLenum pname, GLint *params ); - -extern void -_mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ); - -extern void -_mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params ); - - -extern void -_mesa_TexEnvf( GLenum target, GLenum pname, GLfloat param ); - -extern void -_mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ); - -extern void -_mesa_TexEnvi( GLenum target, GLenum pname, GLint param ); - -extern void -_mesa_TexEnviv( GLenum target, GLenum pname, const GLint *param ); - - -extern void -_mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ); - -extern void -_mesa_TexParameterf( GLenum target, GLenum pname, GLfloat param ); - - -extern void -_mesa_TexParameteri( GLenum target, GLenum pname, GLint param ); - -extern void -_mesa_TexParameteriv( GLenum target, GLenum pname, const GLint *params ); - - -extern void -_mesa_TexGend( GLenum coord, GLenum pname, GLdouble param ); +/** + * Return pointer to current texture unit. + * This the texture unit set by glActiveTexture(), not glClientActiveTexture(). + */ +static INLINE struct gl_texture_unit * +_mesa_get_current_tex_unit(GLcontext *ctx) +{ + ASSERT(ctx->Texture.CurrentUnit < Elements(ctx->Texture.Unit)); + return &(ctx->Texture.Unit[ctx->Texture.CurrentUnit]); +} -extern void -_mesa_TexGendv( GLenum coord, GLenum pname, const GLdouble *params ); extern void -_mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param ); - -extern void -_mesa_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params ); - -extern void -_mesa_TexGeni( GLenum coord, GLenum pname, GLint param ); +_mesa_copy_texture_state( const GLcontext *src, GLcontext *dst ); extern void -_mesa_TexGeniv( GLenum coord, GLenum pname, const GLint *params ); - +_mesa_print_texunit_state( GLcontext *ctx, GLuint unit ); -/* - * GL_ARB_multitexture +/** + * \name Called from API */ -extern void +/*@{*/ + +extern void GLAPIENTRY _mesa_ActiveTextureARB( GLenum target ); -extern void +extern void GLAPIENTRY _mesa_ClientActiveTextureARB( GLenum target ); +/*@}*/ -/* - * Pixel Texture Extensions - */ - -extern void -_mesa_PixelTexGenSGIX(GLenum mode); - -extern void -_mesa_PixelTexGenParameterfSGIS(GLenum target, GLfloat value); -#ifdef VMS -#define _mesa_PixelTexGenParameterfvSGIS _mesa_PixelTexGenParameterfv -#endif -extern void -_mesa_PixelTexGenParameterfvSGIS(GLenum target, const GLfloat *value); +/** + * \name Initialization, state maintenance + */ +/*@{*/ -extern void -_mesa_PixelTexGenParameteriSGIS(GLenum target, GLint value); +extern void +_mesa_update_texture( GLcontext *ctx, GLuint new_state ); -#ifdef VMS -#define _mesa_PixelTexGenParameterivSGIS _mesa_PixelTexGenParameteriv -#endif -extern void -_mesa_PixelTexGenParameterivSGIS(GLenum target, const GLint *value); +extern GLboolean +_mesa_init_texture( GLcontext *ctx ); -#ifdef VMS -#define _mesa_GetPixelTexGenParameterfvSGIS _mesa_GetPixelTexGenParameterfv -#endif -extern void -_mesa_GetPixelTexGenParameterfvSGIS(GLenum target, GLfloat *value); +extern void +_mesa_free_texture_data( GLcontext *ctx ); -#ifdef VMS -#define _mesa_GetPixelTexGenParameterivSGIS _mesa_GetPixelTexGenParameteriv -#endif extern void -_mesa_GetPixelTexGenParameterivSGIS(GLenum target, GLint *value); +_mesa_update_default_objects_texture(GLcontext *ctx); +/*@}*/ #endif