1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00

Switch from glActiveTextureARB to glActiveTexture

This commit is contained in:
Sergey Lipskiy 2013-11-07 16:01:40 +07:00
parent 2c5266eef3
commit 14f5a92da3
9 changed files with 68 additions and 118 deletions

View File

@ -432,7 +432,7 @@ void Combiner_Destroy()
for (int i = 0; i < OGL.maxTextureUnits; i++)
{
glActiveTextureARB( GL_TEXTURE0_ARB + i );
glActiveTexture( GL_TEXTURE0 + i );
glDisable( GL_TEXTURE_2D );
}
}

View File

@ -460,11 +460,11 @@ void FrameBuffer_RenderBuffer( u32 address )
{
for (int i = 0; i < OGL.maxTextureUnits; i++)
{
glActiveTextureARB( GL_TEXTURE0_ARB + i );
glActiveTexture( GL_TEXTURE0 + i );
glDisable( GL_TEXTURE_2D );
}
glActiveTextureARB( GL_TEXTURE0_ARB );
glActiveTexture( GL_TEXTURE0 );
}
TextureCache_ActivateTexture( 0, current->texture );
@ -512,7 +512,7 @@ void FrameBuffer_RenderBuffer( u32 address )
#endif
/* glEnable( GL_TEXTURE_2D );
glActiveTextureARB( GL_TEXTURE0_ARB );
glActiveTexture( GL_TEXTURE0 );
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB );*/
glLoadIdentity();
glPopAttrib();

View File

@ -170,9 +170,9 @@ void DestroyShadowMapShader()
void InitGLSLCombiner()
{
glActiveTextureARB(GL_TEXTURE0_ARB);
glActiveTexture(GL_TEXTURE0);
glEnable(GL_TEXTURE_2D);
glActiveTextureARB(GL_TEXTURE1_ARB);
glActiveTexture(GL_TEXTURE1);
glEnable(GL_TEXTURE_2D);
g_vertex_shader_object = glCreateShader(GL_VERTEX_SHADER);
@ -674,7 +674,7 @@ void GLSL_RenderDepth() {
return;
glPushAttrib( GL_ENABLE_BIT | GL_VIEWPORT_BIT );
glActiveTextureARB( GL_TEXTURE0_ARB );
glActiveTexture( GL_TEXTURE0 );
glBindTexture(GL_TEXTURE_2D, frameBuffer.top->depth_texture->glName);
// glBindTexture(GL_TEXTURE_2D, g_zlut_tex);

View File

@ -15,9 +15,9 @@ static CombinerInput CombinerInputs[] =
// CMB
{ GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
// T0
{ GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
{ GL_TEXTURE0, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
// T1
{ GL_TEXTURE1_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
{ GL_TEXTURE1, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
// PRIM
{ GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
// SHADE
@ -31,9 +31,9 @@ static CombinerInput CombinerInputs[] =
// CMBALPHA
{ GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
// T0ALPHA
{ GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
{ GL_TEXTURE0, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
// T1ALPHA
{ GL_TEXTURE1_ARB, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
{ GL_TEXTURE1, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
// PRIMALPHA
{ GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
// SHADEALPHA
@ -45,7 +45,7 @@ static CombinerInput CombinerInputs[] =
// PRIMLODFRAC
{ GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
// NOISE
{ GL_TEXTURE1_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
{ GL_TEXTURE1, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
// K4
{ GL_ZERO, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
// K5
@ -219,7 +219,7 @@ void Init_NV_register_combiners()
for (int i = 0; i < OGL.maxTextureUnits; i++)
{
glActiveTextureARB( GL_TEXTURE0_ARB + i );
glActiveTexture( GL_TEXTURE0 + i );
glDisable( GL_TEXTURE_2D );
}
}
@ -552,10 +552,10 @@ void RegisterCombiners::Set()
combiner.vertex.secondaryColor = m_vertex.secondaryColor;
combiner.vertex.alpha = m_vertex.alpha;
glActiveTextureARB( GL_TEXTURE0_ARB );
glActiveTexture( GL_TEXTURE0 );
if (combiner.usesT0) glEnable( GL_TEXTURE_2D ); else glDisable( GL_TEXTURE_2D );
glActiveTextureARB( GL_TEXTURE1_ARB );
glActiveTexture( GL_TEXTURE1 );
if (combiner.usesT1) glEnable( GL_TEXTURE_2D ); else glDisable( GL_TEXTURE_2D );
glCombinerParameteriNV( GL_NUM_GENERAL_COMBINERS_NV, m_numCombiners );

View File

@ -51,10 +51,10 @@ PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glGetCombinerOutputParameterivNV;
PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfvNV;
PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameterivNV;
// ARB_multitexture functions
PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB;
// multitexture functions
PFNGLACTIVETEXTUREPROC glActiveTexture;
PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture;
PFNGLMULTITEXCOORD2FPROC glMultiTexCoord2f;
// EXT_fog_coord functions
PFNGLFOGCOORDFEXTPROC glFogCoordfEXT;
@ -197,17 +197,14 @@ void OGL_InitExtensions()
glGetIntegerv( GL_MAX_GENERAL_COMBINERS_NV, &OGL.maxGeneralCombiners );
}
if (OGL.ARB_multitexture = isExtensionSupported( "GL_ARB_multitexture" ))
{
#ifndef __LINUX__
glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC)wglGetProcAddress( "glActiveTextureARB" );
glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC)wglGetProcAddress( "glClientActiveTextureARB" );
glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC)wglGetProcAddress( "glMultiTexCoord2fARB" );
glActiveTexture = (PFNGLACTIVETEXTUREPROC)wglGetProcAddress( "glActiveTexture" );
glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)wglGetProcAddress( "glClientActiveTexture" );
glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC)wglGetProcAddress( "glMultiTexCoord2f" );
#endif // !__LINUX__
glGetIntegerv( GL_MAX_TEXTURE_UNITS_ARB, &OGL.maxTextureUnits );
OGL.maxTextureUnits = min( 8, OGL.maxTextureUnits ); // The plugin only supports 8, and 4 is really enough
}
glGetIntegerv( GL_MAX_TEXTURE_UNITS, &OGL.maxTextureUnits );
OGL.maxTextureUnits = min( 8, OGL.maxTextureUnits ); // The plugin only supports 8, and 4 is really enough
if (OGL.EXT_fog_coord = isExtensionSupported( "GL_EXT_fog_coord" ))
{
@ -315,21 +312,13 @@ void OGL_InitStates()
glEnableClientState( GL_SECONDARY_COLOR_ARRAY_EXT );
}
if (OGL.ARB_multitexture)
{
glClientActiveTextureARB( GL_TEXTURE0_ARB );
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s0 );
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
glClientActiveTexture( GL_TEXTURE0 );
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s0 );
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
glClientActiveTextureARB( GL_TEXTURE1_ARB );
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s1 );
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
}
else
{
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s0 );
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
}
glClientActiveTexture( GL_TEXTURE1 );
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s1 );
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
if (OGL.EXT_fog_coord)
{
@ -1032,8 +1021,7 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
rect[1].t0 = cache.current[0]->offsetT - rect[1].t0;
}
if (OGL.ARB_multitexture)
glActiveTextureARB( GL_TEXTURE0_ARB );
glActiveTexture( GL_TEXTURE0 );
if ((rect[0].s0 >= 0.0f) && (rect[1].s0 <= cache.current[0]->width))
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
@ -1053,7 +1041,7 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
rect[1].t0 *= cache.current[0]->scaleT;
}
if (combiner.usesT1 && OGL.ARB_multitexture)
if (combiner.usesT1)
{
rect[0].s1 = rect[0].s1 * cache.current[1]->shiftScaleS - gSP.textureTile[1]->fuls;
rect[0].t1 = rect[0].t1 * cache.current[1]->shiftScaleT - gSP.textureTile[1]->fult;
@ -1080,7 +1068,7 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
rect[1].t1 = cache.current[1]->offsetT - rect[1].t1;
}
glActiveTextureARB( GL_TEXTURE1_ARB );
glActiveTexture( GL_TEXTURE1 );
if ((rect[0].s1 == 0.0f) && (rect[1].s1 <= cache.current[1]->width))
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
@ -1096,9 +1084,7 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
if ((gDP.otherMode.cycleType == G_CYC_COPY) && !OGL.forceBilinear)
{
if (OGL.ARB_multitexture)
glActiveTextureARB( GL_TEXTURE0_ARB );
glActiveTexture( GL_TEXTURE0 );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
}
@ -1113,45 +1099,21 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
if (OGL.EXT_secondary_color)
glSecondaryColor3fEXT( rect[0].secondaryColor.r, rect[0].secondaryColor.g, rect[0].secondaryColor.b );
if (OGL.ARB_multitexture)
{
glMultiTexCoord2fARB( GL_TEXTURE0_ARB, rect[0].s0, rect[0].t0 );
glMultiTexCoord2fARB( GL_TEXTURE1_ARB, rect[0].s1, rect[0].t1 );
glVertex4f( rect[0].x, rect[0].y, rect[0].z, 1.0f );
glMultiTexCoord2f( GL_TEXTURE0, rect[0].s0, rect[0].t0 );
glMultiTexCoord2f( GL_TEXTURE1, rect[0].s1, rect[0].t1 );
glVertex4f( rect[0].x, rect[0].y, rect[0].z, 1.0f );
glMultiTexCoord2fARB( GL_TEXTURE0_ARB, rect[1].s0, rect[0].t0 );
glMultiTexCoord2fARB( GL_TEXTURE1_ARB, rect[1].s1, rect[0].t1 );
glVertex4f( rect[1].x, rect[0].y, rect[0].z, 1.0f );
glMultiTexCoord2f( GL_TEXTURE0, rect[1].s0, rect[0].t0 );
glMultiTexCoord2f( GL_TEXTURE1, rect[1].s1, rect[0].t1 );
glVertex4f( rect[1].x, rect[0].y, rect[0].z, 1.0f );
glMultiTexCoord2fARB( GL_TEXTURE0_ARB, rect[1].s0, rect[1].t0 );
glMultiTexCoord2fARB( GL_TEXTURE1_ARB, rect[1].s1, rect[1].t1 );
glVertex4f( rect[1].x, rect[1].y, rect[0].z, 1.0f );
glMultiTexCoord2f( GL_TEXTURE0, rect[1].s0, rect[1].t0 );
glMultiTexCoord2f( GL_TEXTURE1, rect[1].s1, rect[1].t1 );
glVertex4f( rect[1].x, rect[1].y, rect[0].z, 1.0f );
glMultiTexCoord2fARB( GL_TEXTURE0_ARB, rect[0].s0, rect[1].t0 );
glMultiTexCoord2fARB( GL_TEXTURE1_ARB, rect[0].s1, rect[1].t1 );
glVertex4f( rect[0].x, rect[1].y, rect[0].z, 1.0f );
}
else
{
glTexCoord2f( rect[0].s0, rect[0].t0 );
glVertex4f( rect[0].x, rect[0].y, rect[0].z, 1.0f );
if (flip)
glTexCoord2f( rect[1].s0, rect[0].t0 );
else
glTexCoord2f( rect[0].s0, rect[1].t0 );
glVertex4f( rect[1].x, rect[0].y, rect[0].z, 1.0f );
glTexCoord2f( rect[1].s0, rect[1].t0 );
glVertex4f( rect[1].x, rect[1].y, rect[0].z, 1.0f );
if (flip)
glTexCoord2f( rect[1].s0, rect[0].t0 );
else
glTexCoord2f( rect[1].s0, rect[0].t0 );
glVertex4f( rect[0].x, rect[1].y, rect[0].z, 1.0f );
}
glMultiTexCoord2f( GL_TEXTURE0, rect[0].s0, rect[1].t0 );
glMultiTexCoord2f( GL_TEXTURE1, rect[0].s1, rect[1].t1 );
glVertex4f( rect[0].x, rect[1].y, rect[0].z, 1.0f );
glEnd();
glLoadIdentity();

View File

@ -48,7 +48,6 @@ struct GLInfo
BOOL ATI_texture_env_combine3; // Radeon
BOOL ATIX_texture_env_route; // Radeon
BOOL ARB_multitexture; // TNT, GeForce, Rage 128, Radeon
BOOL ARB_texture_env_combine; // GeForce, Rage 128, Radeon
BOOL ARB_texture_env_crossbar; // Radeon (GeForce supports it, but doesn't report it)
@ -136,9 +135,9 @@ extern PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glGetCombinerOutputParameterivNV;
extern PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfvNV;
extern PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameterivNV;
extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
extern PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB;
extern PFNGLACTIVETEXTUREPROC glActiveTexture;
extern PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture;
extern PFNGLMULTITEXCOORD2FPROC glMultiTexCoord2f;
extern PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT;

View File

@ -735,9 +735,7 @@ u32 TextureCache_CalculateCRC( u32 t, u32 width, u32 height )
void TextureCache_ActivateTexture( u32 t, CachedTexture *texture )
{
// If multitexturing, set the appropriate texture
if (OGL.ARB_multitexture)
glActiveTextureARB( GL_TEXTURE0_ARB + t );
glActiveTexture( GL_TEXTURE0 + t );
// Bind the cached texture
glBindTexture( GL_TEXTURE_2D, texture->glName );
@ -767,9 +765,7 @@ void TextureCache_ActivateTexture( u32 t, CachedTexture *texture )
void TextureCache_ActivateDummy( u32 t )
{
//TextureCache_ActivateTexture( t, cache.dummy );
if (OGL.ARB_multitexture)
glActiveTextureARB( GL_TEXTURE0_ARB + t );
glActiveTexture( GL_TEXTURE0 + t );
glBindTexture( GL_TEXTURE_2D, cache.dummy->glName );
@ -813,9 +809,7 @@ void TextureCache_UpdateBackground()
cache.misses++;
// If multitexturing, set the appropriate texture
if (OGL.ARB_multitexture)
glActiveTextureARB( GL_TEXTURE0_ARB );
glActiveTexture( GL_TEXTURE0 );
cache.current[0] = TextureCache_AddTop();
@ -1041,9 +1035,7 @@ void TextureCache_Update( u32 t )
cache.misses++;
// If multitexturing, set the appropriate texture
if (OGL.ARB_multitexture)
glActiveTextureARB( GL_TEXTURE0_ARB + t );
glActiveTexture( GL_TEXTURE0 + t );
cache.current[t] = TextureCache_AddTop();
@ -1134,8 +1126,7 @@ void TextureCache_Update( u32 t )
void TextureCache_ActivateNoise( u32 t )
{
if (OGL.ARB_multitexture)
glActiveTextureARB( GL_TEXTURE0_ARB + t );
glActiveTexture( GL_TEXTURE0 + t );
glBindTexture( GL_TEXTURE_2D, cache.glNoiseNames[RSP.DList & 0x1F] );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );

View File

@ -162,9 +162,7 @@ void TexEnv::Set()
combiner.vertex.secondaryColor = COMBINED;
combiner.vertex.alpha = m_fragment.alpha;
// Shouldn't ever happen, but who knows?
if (OGL.ARB_multitexture)
glActiveTextureARB( GL_TEXTURE0_ARB );
glActiveTexture( GL_TEXTURE0 );
if (m_usesT0 || m_usesT1)
glEnable( GL_TEXTURE_2D );

View File

@ -101,8 +101,8 @@ static TexEnvCombinerArg TexEnvArgs[] =
/* if ((TexEnvArgs[i].source == GL_PREVIOUS_ARB) && (OGL.ATIX_texture_env_route)) \
{ \
m_alpha[combinedUnit].outputTexture = GL_TEXTURE0_ARB + n; \
m_alpha[n].a.source = GL_TEXTURE0_ARB + n; \
m_alpha[combinedUnit].outputTexture = GL_TEXTURE0 + n; \
m_alpha[n].a.source = GL_TEXTURE0 + n; \
m_alpha[n].a.operand = GL_SRC_ALPHA; \
} \
else*/
@ -139,7 +139,7 @@ void Init_texture_env_combine()
for (int i = 0; i < OGL.maxTextureUnits; i++)
{
TextureCache_ActivateDummy( i );
//glActiveTextureARB( GL_TEXTURE0_ARB + i );
//glActiveTexture( GL_TEXTURE0 + i );
//glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB );
//glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, tex );
//glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
@ -148,11 +148,11 @@ void Init_texture_env_combine()
if ((OGL.ARB_texture_env_crossbar) || (OGL.NV_texture_env_combine4) || (OGL.ATIX_texture_env_route))
{
TexEnvArgs[TEXEL0].source = GL_TEXTURE0_ARB;
TexEnvArgs[TEXEL0_ALPHA].source = GL_TEXTURE0_ARB;
TexEnvArgs[TEXEL0].source = GL_TEXTURE0;
TexEnvArgs[TEXEL0_ALPHA].source = GL_TEXTURE0;
TexEnvArgs[TEXEL1].source = GL_TEXTURE1_ARB;
TexEnvArgs[TEXEL1_ALPHA].source = GL_TEXTURE1_ARB;
TexEnvArgs[TEXEL1].source = GL_TEXTURE1;
TexEnvArgs[TEXEL1_ALPHA].source = GL_TEXTURE1;
}
if (OGL.ATI_texture_env_combine3)
@ -166,7 +166,7 @@ void Uninit_texture_env_combine()
{
for (int i = 0; i < OGL.maxTextureUnits; i++)
{
glActiveTextureARB( GL_TEXTURE0_ARB + i );
glActiveTexture( GL_TEXTURE0 + i );
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE );
}
}
@ -179,7 +179,7 @@ void TexEnvCombiner::UpdateColors()
{
SetConstant( color, m_color[i].constant, m_alpha[i].constant );
glActiveTextureARB( GL_TEXTURE0_ARB + i );
glActiveTexture( GL_TEXTURE0 + i );
glTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, &color.r );
}
}
@ -197,13 +197,13 @@ TexEnvCombiner::TexEnvCombiner( Combiner *color, Combiner *alpha )
SetColorCombinerValues( i, arg1, GL_PREVIOUS_ARB, GL_SRC_COLOR );
SetColorCombinerValues( i, arg2, GL_PREVIOUS_ARB, GL_SRC_COLOR );
m_color[i].constant = COMBINED;
m_color[i].outputTexture = GL_TEXTURE0_ARB + i;
m_color[i].outputTexture = GL_TEXTURE0 + i;
SetAlphaCombinerValues( i, arg0, GL_PREVIOUS_ARB, GL_SRC_ALPHA );
SetAlphaCombinerValues( i, arg1, GL_PREVIOUS_ARB, GL_SRC_ALPHA );
SetAlphaCombinerValues( i, arg2, GL_PREVIOUS_ARB, GL_SRC_ALPHA );
m_alpha[i].constant = COMBINED;
m_alpha[i].outputTexture = GL_TEXTURE0_ARB + i;
m_alpha[i].outputTexture = GL_TEXTURE0 + i;
}
m_usesT0 = FALSE;
@ -541,7 +541,7 @@ void BeginTextureUpdate_texture_env_combine()
{
for (int i = 0; i < OGL.maxTextureUnits; i++)
{
glActiveTextureARB( GL_TEXTURE0_ARB + i );
glActiveTexture( GL_TEXTURE0 + i );
glDisable( GL_TEXTURE_2D );
}
}
@ -558,7 +558,7 @@ void TexEnvCombiner::Set()
for (int i = 0; i < OGL.maxTextureUnits; i++)
{
glActiveTextureARB( GL_TEXTURE0_ARB + i );
glActiveTexture( GL_TEXTURE0 + i );
if ((i < m_usedUnits ) || ((i < 2) && m_usesT1))
{