X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftexenv.c;h=c9fcce2faf3d47a06e972c24b79c47cd579d2f88;hb=a0d667036d8c8b77fa62f74263583b07909f8637;hp=8274b0b88a868fe8c48f634ec5a21fc9c143ab76;hpb=04b8e50bb89ed167fcaea0ac87c00ee0a09d9412;p=mesa.git diff --git a/src/mesa/main/texenv.c b/src/mesa/main/texenv.c index 8274b0b88a8..c9fcce2faf3 100644 --- a/src/mesa/main/texenv.c +++ b/src/mesa/main/texenv.c @@ -545,7 +545,6 @@ _mesa_TexEnvf( GLenum target, GLenum pname, GLfloat param ) } - void GLAPIENTRY _mesa_TexEnvi( GLenum target, GLenum pname, GLint param ) { @@ -574,6 +573,59 @@ _mesa_TexEnviv( GLenum target, GLenum pname, const GLint *param ) } +void GLAPIENTRY +_mesa_MultiTexEnvfEXT( GLenum texunit, GLenum target, + GLenum pname, GLfloat param ) +{ + GET_CURRENT_CONTEXT(ctx); + GLfloat p[4]; + p[0] = param; + p[1] = p[2] = p[3] = 0.0; + _mesa_texenvfv_indexed(ctx, texunit - GL_TEXTURE0, target, pname, p); +} + +void GLAPIENTRY +_mesa_MultiTexEnvfvEXT( GLenum texunit, GLenum target, + GLenum pname, const GLfloat *param ) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_texenvfv_indexed(ctx, texunit - GL_TEXTURE0, target, pname, param); +} + + +void GLAPIENTRY +_mesa_MultiTexEnviEXT( GLenum texunit, GLenum target, + GLenum pname, GLint param ) +{ + GET_CURRENT_CONTEXT(ctx); + GLfloat p[4]; + p[0] = (GLfloat) param; + p[1] = p[2] = p[3] = 0.0; + _mesa_texenvfv_indexed( ctx, texunit - GL_TEXTURE0, target, pname, p ); +} + + +void GLAPIENTRY +_mesa_MultiTexEnvivEXT( GLenum texunit, GLenum target, + GLenum pname, const GLint *param ) +{ + GET_CURRENT_CONTEXT(ctx); + GLfloat p[4]; + if (pname == GL_TEXTURE_ENV_COLOR) { + p[0] = INT_TO_FLOAT( param[0] ); + p[1] = INT_TO_FLOAT( param[1] ); + p[2] = INT_TO_FLOAT( param[2] ); + p[3] = INT_TO_FLOAT( param[3] ); + } + else { + p[0] = (GLfloat) param[0]; + p[1] = p[2] = p[3] = 0; /* init to zero, just to be safe */ + } + _mesa_texenvfv_indexed( ctx, texunit - GL_TEXTURE0, target, pname, p ); +} + + + /** * Helper for glGetTexEnvi/f() @@ -823,9 +875,25 @@ _mesa_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params ) } +void GLAPIENTRY +_mesa_GetMultiTexEnvfvEXT( GLenum texunit, GLenum target, + GLenum pname, GLfloat *params ) +{ + _mesa_gettexenvfv_indexed(texunit - GL_TEXTURE0, target, pname, params); +} + + void GLAPIENTRY _mesa_GetTexEnviv( GLenum target, GLenum pname, GLint *params ) { GET_CURRENT_CONTEXT(ctx); _mesa_gettexenviv_indexed(ctx->Texture.CurrentUnit, target, pname, params); } + + +void GLAPIENTRY +_mesa_GetMultiTexEnvivEXT( GLenum texunit, GLenum target, + GLenum pname, GLint *params ) +{ + _mesa_gettexenviv_indexed(texunit - GL_TEXTURE0, target, pname, params); +}