core  array_cache  math  swrast  swrast_setup  tnl  tnl_dd 
Main Page   Data Structures   File List   Data Fields   Globals   Related Pages  

texstate.c File Reference

Texture state handling. More...

#include "glheader.h"
#include "colormac.h"
#include "colortab.h"
#include "context.h"
#include "enums.h"
#include "extensions.h"
#include "macros.h"
#include "nvfragprog.h"
#include "texobj.h"
#include "teximage.h"
#include "texstate.h"
#include "mtypes.h"
#include "math/m_xform.h"
#include "math/m_matrix.h"

Defines

#define ENUM_TO_FLOAT(X)   ((GLfloat)(X))
#define ENUM_TO_DOUBLE(X)   ((GLdouble)(X))
#define TE_ERROR(errCode, msg, value)   _mesa_error(ctx, errCode, msg, _mesa_lookup_enum_by_nr(value));

Functions

void _mesa_copy_texture_state (const GLcontext *src, GLcontext *dst)
void _mesa_print_texunit_state (GLcontext *ctx, GLuint unit)
void calculate_derived_texenv (struct gl_tex_env_combine_state *state, GLenum mode, GLenum texBaseFormat)
 Convert "classic" texture environment to ARB_texture_env_combine style environments. More...

void GLAPIENTRY _mesa_TexEnvfv (GLenum target, GLenum pname, const GLfloat *param)
void GLAPIENTRY _mesa_TexEnvf (GLenum target, GLenum pname, GLfloat param)
void GLAPIENTRY _mesa_TexEnvi (GLenum target, GLenum pname, GLint param)
void GLAPIENTRY _mesa_TexEnviv (GLenum target, GLenum pname, const GLint *param)
void GLAPIENTRY _mesa_GetTexEnvfv (GLenum target, GLenum pname, GLfloat *params)
void GLAPIENTRY _mesa_GetTexEnviv (GLenum target, GLenum pname, GLint *params)
GLboolean _mesa_validate_texture_wrap_mode (GLcontext *ctx, GLenum target, GLenum eparam)
void GLAPIENTRY _mesa_TexParameterf (GLenum target, GLenum pname, GLfloat param)
void GLAPIENTRY _mesa_TexParameterfv (GLenum target, GLenum pname, const GLfloat *params)
void GLAPIENTRY _mesa_TexParameteri (GLenum target, GLenum pname, GLint param)
void GLAPIENTRY _mesa_TexParameteriv (GLenum target, GLenum pname, const GLint *params)
void GLAPIENTRY _mesa_GetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params)
GLuint tex_image_dimensions (GLcontext *ctx, GLenum target)
void GLAPIENTRY _mesa_GetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params)
void GLAPIENTRY _mesa_GetTexParameterfv (GLenum target, GLenum pname, GLfloat *params)
void GLAPIENTRY _mesa_GetTexParameteriv (GLenum target, GLenum pname, GLint *params)
void GLAPIENTRY _mesa_TexGenfv (GLenum coord, GLenum pname, const GLfloat *params)
void GLAPIENTRY _mesa_TexGeniv (GLenum coord, GLenum pname, const GLint *params)
void GLAPIENTRY _mesa_TexGend (GLenum coord, GLenum pname, GLdouble param)
void GLAPIENTRY _mesa_TexGendv (GLenum coord, GLenum pname, const GLdouble *params)
void GLAPIENTRY _mesa_TexGenf (GLenum coord, GLenum pname, GLfloat param)
void GLAPIENTRY _mesa_TexGeni (GLenum coord, GLenum pname, GLint param)
void GLAPIENTRY _mesa_GetTexGendv (GLenum coord, GLenum pname, GLdouble *params)
void GLAPIENTRY _mesa_GetTexGenfv (GLenum coord, GLenum pname, GLfloat *params)
void GLAPIENTRY _mesa_GetTexGeniv (GLenum coord, GLenum pname, GLint *params)
void GLAPIENTRY _mesa_ActiveTextureARB (GLenum target)
void GLAPIENTRY _mesa_ClientActiveTextureARB (GLenum target)
void GLAPIENTRY _mesa_PixelTexGenSGIX (GLenum mode)
void GLAPIENTRY _mesa_PixelTexGenParameterfSGIS (GLenum target, GLfloat value)
void GLAPIENTRY _mesa_PixelTexGenParameterfvSGIS (GLenum target, const GLfloat *value)
void GLAPIENTRY _mesa_PixelTexGenParameteriSGIS (GLenum target, GLint value)
void GLAPIENTRY _mesa_PixelTexGenParameterivSGIS (GLenum target, const GLint *value)
void GLAPIENTRY _mesa_GetPixelTexGenParameterfvSGIS (GLenum target, GLfloat *value)
void GLAPIENTRY _mesa_GetPixelTexGenParameterivSGIS (GLenum target, GLint *value)
void update_texture_matrices (GLcontext *ctx)
void update_texture_state (GLcontext *ctx)
void _mesa_update_texture (GLcontext *ctx, GLuint new_state)
GLboolean alloc_proxy_textures (GLcontext *ctx)
 Allocate the proxy textures for the given context. More...

void init_texture_unit (GLcontext *ctx, GLuint unit)
 Initialize a texture unit. More...

GLboolean _mesa_init_texture (GLcontext *ctx)
void _mesa_free_texture_data (GLcontext *ctx)

Variables

const struct gl_tex_env_combine_state default_combine_state
 Default texture combine environment state. More...


Detailed Description

Texture state handling.


Define Documentation

#define ENUM_TO_DOUBLE X       ((GLdouble)(X))
 

#define ENUM_TO_FLOAT X       ((GLfloat)(X))
 

#define TE_ERROR errCode,
msg,
value       _mesa_error(ctx, errCode, msg, _mesa_lookup_enum_by_nr(value));
 


Function Documentation

void GLAPIENTRY _mesa_ActiveTextureARB GLenum    target
 

void GLAPIENTRY _mesa_ClientActiveTextureARB GLenum    target
 

void _mesa_copy_texture_state const GLcontext   src,
GLcontext   dst
 

void _mesa_free_texture_data GLcontext   ctx
 

void GLAPIENTRY _mesa_GetPixelTexGenParameterfvSGIS GLenum    target,
GLfloat *    value
 

void GLAPIENTRY _mesa_GetPixelTexGenParameterivSGIS GLenum    target,
GLint *    value
 

void GLAPIENTRY _mesa_GetTexEnvfv GLenum    target,
GLenum    pname,
GLfloat *    params
 

void GLAPIENTRY _mesa_GetTexEnviv GLenum    target,
GLenum    pname,
GLint *    params
 

void GLAPIENTRY _mesa_GetTexGendv GLenum    coord,
GLenum    pname,
GLdouble *    params
 

void GLAPIENTRY _mesa_GetTexGenfv GLenum    coord,
GLenum    pname,
GLfloat *    params
 

void GLAPIENTRY _mesa_GetTexGeniv GLenum    coord,
GLenum    pname,
GLint *    params
 

void GLAPIENTRY _mesa_GetTexLevelParameterfv GLenum    target,
GLint    level,
GLenum    pname,
GLfloat *    params
 

void GLAPIENTRY _mesa_GetTexLevelParameteriv GLenum    target,
GLint    level,
GLenum    pname,
GLint *    params
 

void GLAPIENTRY _mesa_GetTexParameterfv GLenum    target,
GLenum    pname,
GLfloat *    params
 

void GLAPIENTRY _mesa_GetTexParameteriv GLenum    target,
GLenum    pname,
GLint *    params
 

GLboolean _mesa_init_texture GLcontext   ctx
 

void GLAPIENTRY _mesa_PixelTexGenParameterfSGIS GLenum    target,
GLfloat    value
 

void GLAPIENTRY _mesa_PixelTexGenParameterfvSGIS GLenum    target,
const GLfloat *    value
 

void GLAPIENTRY _mesa_PixelTexGenParameteriSGIS GLenum    target,
GLint    value
 

void GLAPIENTRY _mesa_PixelTexGenParameterivSGIS GLenum    target,
const GLint *    value
 

void GLAPIENTRY _mesa_PixelTexGenSGIX GLenum    mode
 

void _mesa_print_texunit_state GLcontext   ctx,
GLuint    unit
 

void GLAPIENTRY _mesa_TexEnvf GLenum    target,
GLenum    pname,
GLfloat    param
 

void GLAPIENTRY _mesa_TexEnvfv GLenum    target,
GLenum    pname,
const GLfloat *    param
 

void GLAPIENTRY _mesa_TexEnvi GLenum    target,
GLenum    pname,
GLint    param
 

void GLAPIENTRY _mesa_TexEnviv GLenum    target,
GLenum    pname,
const GLint *    param
 

void GLAPIENTRY _mesa_TexGend GLenum    coord,
GLenum    pname,
GLdouble    param
 

void GLAPIENTRY _mesa_TexGendv GLenum    coord,
GLenum    pname,
const GLdouble *    params
 

void GLAPIENTRY _mesa_TexGenf GLenum    coord,
GLenum    pname,
GLfloat    param
 

void GLAPIENTRY _mesa_TexGenfv GLenum    coord,
GLenum    pname,
const GLfloat *    params
 

void GLAPIENTRY _mesa_TexGeni GLenum    coord,
GLenum    pname,
GLint    param
 

void GLAPIENTRY _mesa_TexGeniv GLenum    coord,
GLenum    pname,
const GLint *    params
 

void GLAPIENTRY _mesa_TexParameterf GLenum    target,
GLenum    pname,
GLfloat    param
 

void GLAPIENTRY _mesa_TexParameterfv GLenum    target,
GLenum    pname,
const GLfloat *    params
 

void GLAPIENTRY _mesa_TexParameteri GLenum    target,
GLenum    pname,
GLint    param
 

void GLAPIENTRY _mesa_TexParameteriv GLenum    target,
GLenum    pname,
const GLint *    params
 

void _mesa_update_texture GLcontext   ctx,
GLuint    new_state
 

GLboolean _mesa_validate_texture_wrap_mode GLcontext   ctx,
GLenum    target,
GLenum    eparam
[static]
 

GLboolean alloc_proxy_textures GLcontext   ctx [static]
 

Allocate the proxy textures for the given context.

Parameters:
ctx  the context to allocate proxies for.
Returns:
GL_TRUE on success, or GL_FALSE on failure
If run out of memory part way through the allocations, clean up and return GL_FALSE.

void calculate_derived_texenv struct gl_tex_env_combine_state   state,
GLenum    mode,
GLenum    texBaseFormat
[static]
 

Convert "classic" texture environment to ARB_texture_env_combine style environments.

Parameters:
state  texture_env_combine state vector to be filled-in.
mode  Classic texture environment mode (i.e., GL_REPLACE, GL_BLEND, GL_DECAL, etc.).
texBaseFormat  Base format of the texture associated with the texture unit.

void init_texture_unit GLcontext   ctx,
GLuint    unit
[static]
 

Initialize a texture unit.

Parameters:
ctx  GL context.
unit  texture unit number to be initialized.

GLuint tex_image_dimensions GLcontext   ctx,
GLenum    target
[static]
 

void update_texture_matrices GLcontext   ctx [static]
 

Note:
This routine refers to derived texture attribute values to compute the ENABLE_TEXMAT flags, but is only called on _NEW_TEXTURE_MATRIX. On changes to _NEW_TEXTURE, the ENABLE_TEXMAT flags are updated by _mesa_update_textures(), below.
Parameters:
ctx  GL context.

void update_texture_state GLcontext   ctx [static]
 

Note:
This routine refers to derived texture matrix values to compute the ENABLE_TEXMAT flags, but is only called on _NEW_TEXTURE. On changes to _NEW_TEXTURE_MATRIX, the ENABLE_TEXMAT flags are updated by _mesa_update_texture_matrices, above.
Parameters:
ctx  GL context.


Variable Documentation

const struct gl_tex_env_combine_state default_combine_state [static]
 

Initial value:

 {
   GL_MODULATE, GL_MODULATE,
   { GL_TEXTURE, GL_PREVIOUS, GL_CONSTANT },
   { GL_TEXTURE, GL_PREVIOUS, GL_CONSTANT },
   { GL_SRC_COLOR, GL_SRC_COLOR, GL_SRC_ALPHA },
   { GL_SRC_ALPHA, GL_SRC_ALPHA, GL_SRC_ALPHA },
   0, 0,
   2, 2
}
Default texture combine environment state.

This is used to initialize a context's texture units and as the basis for converting "classic" texture environmnets to ARB_texture_env_combine style values.


Generated on Sun May 16 15:55:12 2004 for Mesa Core by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001