[mupen64plus] 183/262: Allow to load rice on systems with missing opengl extensions

Sven Eckelmann ecsv-guest at moszumanska.debian.org
Thu Nov 26 05:59:33 UTC 2015


This is an automated email from the git hooks/post-receive script.

ecsv-guest pushed a commit to branch master
in repository mupen64plus.

commit 43f86df8bf0a9e397d0e9131aba28610d933508f
Author: Sven Eckelmann <sven.eckelmann at gmx.de>
Date:   Fri May 21 10:42:21 2010 +0200

    Allow to load rice on systems with missing opengl extensions
---
 debian/changelog                      |   2 +
 debian/patches/rice-ati-symbols.patch | 727 ++++++++++++++++++++++++++++++++++
 debian/patches/series                 |   1 +
 3 files changed, 730 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 4674997..eef15e3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ mupen64plus (1.5+dfsg1-11) UNRELEASED; urgency=low
   * debian/patches:
     - Rename ftbfs-gvariant-type-conflicts.path to
       ftbfs-gvariant-type-conflicts.patch
+    - Add rice-ati-symbols.patch, Allow to load rice on systems with missing
+      opengl extensions
 
  -- Sven Eckelmann <sven.eckelmann at gmx.de>  Fri, 07 May 2010 17:47:28 +0200
 
diff --git a/debian/patches/rice-ati-symbols.patch b/debian/patches/rice-ati-symbols.patch
new file mode 100644
index 0000000..14b458f
--- /dev/null
+++ b/debian/patches/rice-ati-symbols.patch
@@ -0,0 +1,727 @@
+Description: Allow to load rice on systems with missing opengl extensions
+Origin: backport, http://bitbucket.org/richard42/mupen64plus-video-rice/changeset/9bdc17890e34
+
+---
+diff --git a/rice_video/Makefile b/rice_video/Makefile
+index 324891e2e464449b9e4e43676970adc9723c821c..d1bc2be6e8bb88d6fe62830f66f685377f873063 100644
+--- a/rice_video/Makefile
++++ b/rice_video/Makefile
+@@ -58,6 +58,7 @@ OBJECTS = OGLGraphicsContext.o \
+ 	OGLCombinerNV.o \
+ 	OGLCombinerTNT2.o \
+ 	OGLExtCombiner.o \
++	OGLExtensions.o \
+ 	OGLCombiner.o \
+ 	OGLExtRender.o \
+ 	blender.o \
+diff --git a/rice_video/OGLCombinerNV.cpp b/rice_video/OGLCombinerNV.cpp
+index 5197de5b358ec241fd8e00e0ab48948074d1554d..cd5905e508d181dec5fc324cabc62d2ff7e97e6b 100644
+--- a/rice_video/OGLCombinerNV.cpp
++++ b/rice_video/OGLCombinerNV.cpp
+@@ -16,8 +16,7 @@ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+ 
+-#define GL_GLEXT_PROTOTYPES
+-#include <SDL_opengl.h>
++#include "OGLExtensions.h"
+ 
+ #include "stdafx.h"
+ 
+@@ -772,18 +771,18 @@ void COGLColorCombinerNvidia::GenerateNVRegisterCombinerSettingConstants(int ind
+         {
+         case MUX_PRIM:
+             pf = GetPrimitiveColorfv();
+-            glCombinerParameterfvNV(GL_CONSTANT_COLOR0_NV+i,pf);
++            pglCombinerParameterfvNV(GL_CONSTANT_COLOR0_NV+i,pf);
+             break;
+         case MUX_ENV:
+             pf = GetEnvColorfv();
+-            glCombinerParameterfvNV(GL_CONSTANT_COLOR0_NV+i,pf);
++            pglCombinerParameterfvNV(GL_CONSTANT_COLOR0_NV+i,pf);
+             break;
+         case MUX_LODFRAC:
+         case MUX_PRIMLODFRAC:
+             {
+                 float frac = gRDP.primLODFrac / 255.0f;
+                 float tempf[4] = {frac,frac,frac,frac};
+-                glCombinerParameterfvNV(GL_CONSTANT_COLOR0_NV+i,tempf);
++                pglCombinerParameterfvNV(GL_CONSTANT_COLOR0_NV+i,tempf);
+                 break;
+             }
+         }
+@@ -800,7 +799,7 @@ void COGLColorCombinerNvidia::GenerateNVRegisterCombinerSetting(int index)
+ 
+     NVRegisterCombinerSettingType &info = m_vCompiledSettings[index];
+ 
+-    glCombinerParameteriNV(GL_NUM_GENERAL_COMBINERS_NV,info.numOfStages);
++    pglCombinerParameteriNV(GL_NUM_GENERAL_COMBINERS_NV,info.numOfStages);
+ 
+     uint32 i;
+     
+@@ -808,21 +807,21 @@ void COGLColorCombinerNvidia::GenerateNVRegisterCombinerSetting(int index)
+     {
+         for( i=0; i<4; i++ )
+         {
+-            glCombinerInputNV(GL_COMBINER0_NV, GL_RGB, info.stage1RGB[i].variable, info.stage1RGB[i].input, 
++            pglCombinerInputNV(GL_COMBINER0_NV, GL_RGB, info.stage1RGB[i].variable, info.stage1RGB[i].input, 
+                 info.stage1RGB[i].mapping, info.stage1RGB[i].componentUsage );
+         }
+ 
+         for( i=0; i<4; i++ )
+         {
+-            glCombinerInputNV(GL_COMBINER0_NV, GL_ALPHA, info.stage1Alpha[i].variable, info.stage1Alpha[i].input, 
++            pglCombinerInputNV(GL_COMBINER0_NV, GL_ALPHA, info.stage1Alpha[i].variable, info.stage1Alpha[i].input, 
+                 info.stage1Alpha[i].mapping, info.stage1Alpha[i].componentUsage );
+         }
+ 
+-        glCombinerOutputNV(GL_COMBINER0_NV, GL_RGB, info.stage1outputRGB.abOutput, info.stage1outputRGB.cdOutput,
++        pglCombinerOutputNV(GL_COMBINER0_NV, GL_RGB, info.stage1outputRGB.abOutput, info.stage1outputRGB.cdOutput,
+             info.stage1outputRGB.sumOutput, info.stage1outputRGB.scale, info.stage1outputRGB.bias, info.stage1outputRGB.abDotProduct,
+             info.stage1outputRGB.cdDotProduct, info.stage1outputRGB.muxSum);
+ 
+-        glCombinerOutputNV(GL_COMBINER0_NV, GL_ALPHA, info.stage2outputAlpha.abOutput, info.stage2outputAlpha.cdOutput,
++        pglCombinerOutputNV(GL_COMBINER0_NV, GL_ALPHA, info.stage2outputAlpha.abOutput, info.stage2outputAlpha.cdOutput,
+             info.stage2outputAlpha.sumOutput, info.stage2outputAlpha.scale, info.stage2outputAlpha.bias, info.stage2outputAlpha.abDotProduct,
+             info.stage2outputAlpha.cdDotProduct, info.stage2outputAlpha.muxSum);
+ 
+@@ -830,21 +829,21 @@ void COGLColorCombinerNvidia::GenerateNVRegisterCombinerSetting(int index)
+         {
+             for( i=0; i<4; i++ )
+             {
+-                glCombinerInputNV(GL_COMBINER1_NV, GL_RGB, info.stage2RGB[i].variable, 
++                pglCombinerInputNV(GL_COMBINER1_NV, GL_RGB, info.stage2RGB[i].variable, 
+                     info.stage2RGB[i].input, info.stage2RGB[i].mapping, info.stage2RGB[i].componentUsage );
+             }
+ 
+             for( i=0; i<4; i++ )
+             {
+-                glCombinerInputNV(GL_COMBINER1_NV, GL_ALPHA, info.stage2Alpha[i].variable, info.stage2Alpha[i].input, 
++                pglCombinerInputNV(GL_COMBINER1_NV, GL_ALPHA, info.stage2Alpha[i].variable, info.stage2Alpha[i].input, 
+                     info.stage2Alpha[i].mapping, info.stage2Alpha[i].componentUsage );
+             }
+ 
+-            glCombinerOutputNV(GL_COMBINER1_NV, GL_RGB, info.stage2outputRGB.abOutput, info.stage2outputRGB.cdOutput,
++            pglCombinerOutputNV(GL_COMBINER1_NV, GL_RGB, info.stage2outputRGB.abOutput, info.stage2outputRGB.cdOutput,
+                 info.stage2outputRGB.sumOutput, info.stage2outputRGB.scale, info.stage2outputRGB.bias, info.stage2outputRGB.abDotProduct,
+                 info.stage2outputRGB.cdDotProduct, info.stage2outputRGB.muxSum);
+ 
+-            glCombinerOutputNV(GL_COMBINER1_NV, GL_ALPHA, info.stage2outputAlpha.abOutput, info.stage2outputAlpha.cdOutput,
++            pglCombinerOutputNV(GL_COMBINER1_NV, GL_ALPHA, info.stage2outputAlpha.abOutput, info.stage2outputAlpha.cdOutput,
+                 info.stage2outputAlpha.sumOutput, info.stage2outputAlpha.scale, info.stage2outputAlpha.bias, info.stage2outputAlpha.abDotProduct,
+                 info.stage2outputAlpha.cdDotProduct, info.stage2outputAlpha.muxSum);
+         }
+@@ -852,7 +851,7 @@ void COGLColorCombinerNvidia::GenerateNVRegisterCombinerSetting(int index)
+ 
+     for( i=0; i<7; i++ )
+     {
+-        glFinalCombinerInputNV(info.finalStage[i].variable, info.finalStage[i].input, 
++        pglFinalCombinerInputNV(info.finalStage[i].variable, info.finalStage[i].input, 
+             info.finalStage[i].mapping, info.finalStage[i].componentUsage );
+     }
+ }
+@@ -1064,10 +1063,10 @@ void COGLColorCombinerNvidia::ApplyFogAtFinalStage()
+     if( glIsEnabled(GL_FOG) )
+     {
+         // Use final stage as: cmb*fogfactor+fog*(1-fogfactor)
+-        glFinalCombinerInputNV(GL_VARIABLE_A_NV, GL_FOG, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA );
+-        glFinalCombinerInputNV(GL_VARIABLE_B_NV, GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB );
+-        glFinalCombinerInputNV(GL_VARIABLE_C_NV, GL_FOG, GL_UNSIGNED_IDENTITY_NV, GL_RGB );
+-        glFinalCombinerInputNV(GL_VARIABLE_D_NV, GL_ZERO, GL_UNSIGNED_IDENTITY_NV, GL_RGB );
++        pglFinalCombinerInputNV(GL_VARIABLE_A_NV, GL_FOG, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA );
++        pglFinalCombinerInputNV(GL_VARIABLE_B_NV, GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB );
++        pglFinalCombinerInputNV(GL_VARIABLE_C_NV, GL_FOG, GL_UNSIGNED_IDENTITY_NV, GL_RGB );
++        pglFinalCombinerInputNV(GL_VARIABLE_D_NV, GL_ZERO, GL_UNSIGNED_IDENTITY_NV, GL_RGB );
+     }
+ }
+ 
+diff --git a/rice_video/OGLCombinerTNT2.cpp b/rice_video/OGLCombinerTNT2.cpp
+index fafdfe1419660776b713e57ccc2469028ee47dd0..a45e6e57af4dd3342cf399fb28c4d036b84a1a91 100644
+--- a/rice_video/OGLCombinerTNT2.cpp
++++ b/rice_video/OGLCombinerTNT2.cpp
+@@ -16,8 +16,7 @@ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+ 
+-#define GL_GLEXT_PROTOTYPES
+-#include <SDL_opengl.h>
++#include "OGLExtensions.h"
+ 
+ #include "stdafx.h"
+ 
+@@ -206,7 +205,7 @@ void COGLColorCombinerTNT2::GenerateCombinerSetting(int index)
+     if( pTexture1 ) m_pOGLRender->BindTexture(pTexture1->m_dwTextureName, 1);
+ 
+     // Texture unit 0
+-    glActiveTexture(GL_TEXTURE0_ARB);
++    pglActiveTexture(GL_TEXTURE0_ARB);
+     glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE4_NV);
+     m_pOGLRender->EnableTexUnit(0,TRUE);
+     glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB, res.unit1.rgbOp);
+@@ -252,7 +251,7 @@ void COGLColorCombinerTNT2::GenerateCombinerSetting(int index)
+     glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE3_ALPHA_EXT, MapRGBArgs(res.unit1.rgbArg3));
+     glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND3_ALPHA_EXT, MapAlphaArgFlags(res.unit1.rgbArg3));
+ 
+-    glActiveTexture(GL_TEXTURE1_ARB);
++    pglActiveTexture(GL_TEXTURE1_ARB);
+     glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE4_NV);
+ 
+     if( m_maxTexUnits > 1 && res.numOfUnits > 1 )
+@@ -298,7 +297,7 @@ void COGLColorCombinerTNT2::GenerateCombinerSettingConstants(int index)
+     for( int i=0; i<2; i++ )
+     {
+         float *fv;
+-        glActiveTextureARB(GL_TEXTURE0_ARB+i);
++        pglActiveTextureARB(GL_TEXTURE0_ARB+i);
+         switch( res.units[i].constant & MUX_MASK )
+         {
+         case MUX_PRIM:
+diff --git a/rice_video/OGLExtCombiner.cpp b/rice_video/OGLExtCombiner.cpp
+index ee9e4effa8b98a15928aa2511e34c8aecf227501..3ba5ea433422279bfa26893bcc5a39355109a999 100644
+--- a/rice_video/OGLExtCombiner.cpp
++++ b/rice_video/OGLExtCombiner.cpp
+@@ -16,8 +16,8 @@ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+ 
+-#define GL_GLEXT_PROTOTYPES
+-#include <SDL_opengl.h>
++#include "OGLExtensions.h"
++
+ 
+ #include "stdafx.h"
+ 
+@@ -120,13 +120,13 @@ void COGLColorCombiner4::InitCombinerCycleFill(void)
+ {
+     for( int i=0; i<m_supportedStages; i++ )
+     {
+-        glActiveTexture(GL_TEXTURE0_ARB+i);
++        pglActiveTexture(GL_TEXTURE0_ARB+i);
+         m_pOGLRender->EnableTexUnit(i,FALSE);
+     }
+ 
+-    //glActiveTexture(GL_TEXTURE0_ARB);
++    //pglActiveTexture(GL_TEXTURE0_ARB);
+     //m_pOGLRender->EnableTexUnit(0,FALSE);
+-    //glActiveTexture(GL_TEXTURE1_ARB);
++    //pglActiveTexture(GL_TEXTURE1_ARB);
+     //m_pOGLRender->EnableTexUnit(1,FALSE);
+ }
+ 
+@@ -913,7 +913,7 @@ void COGLColorCombiner4::GenerateCombinerSetting(int index)
+ 
+     for( int i=0; i<res.numOfUnits; i++ )
+     {
+-        glActiveTexture(GL_TEXTURE0_ARB+i);
++        pglActiveTexture(GL_TEXTURE0_ARB+i);
+         m_pOGLRender->EnableTexUnit(i,TRUE);
+         glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
+         ApplyFor1Unit(res.units[i]);
+@@ -923,7 +923,7 @@ void COGLColorCombiner4::GenerateCombinerSetting(int index)
+     {
+         for( int i=res.numOfUnits; i<m_maxTexUnits; i++ )
+         {
+-            glActiveTexture(GL_TEXTURE0_ARB+i);
++            pglActiveTexture(GL_TEXTURE0_ARB+i);
+             m_pOGLRender->DisBindTexture(0, i);
+             m_pOGLRender->EnableTexUnit(i,FALSE);
+         }
+@@ -963,7 +963,7 @@ void COGLColorCombiner4::GenerateCombinerSettingConstants(int index)
+     {
+         for( int i=0; i<res.numOfUnits; i++ )
+         {
+-            glActiveTexture(GL_TEXTURE0_ARB+i);
++            pglActiveTexture(GL_TEXTURE0_ARB+i);
+             glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR,fv);
+         }
+     }
+@@ -983,7 +983,7 @@ void COGLColorCombiner4v2::GenerateCombinerSettingConstants(int index)
+         float *fv = GetPrimitiveColorfv();  // CONSTANT COLOR
+         for( int i=0; i<res.numOfUnits; i++ )
+         {
+-            glActiveTexture(GL_TEXTURE0_ARB+i);
++            pglActiveTexture(GL_TEXTURE0_ARB+i);
+             glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR,fv);
+         }
+     }
+@@ -991,7 +991,7 @@ void COGLColorCombiner4v2::GenerateCombinerSettingConstants(int index)
+     if( res.envIsUsed )
+     {
+         // Set Texture unit 2 to ENV
+-        glActiveTexture(GL_TEXTURE2_ARB);
++        pglActiveTexture(GL_TEXTURE2_ARB);
+         prender->EnableTexUnit(2,TRUE);
+         TxtrCacheEntry *pEntry = gTextureManager.GetConstantColorTexture(MUX_ENV);
+         prender->SetCurrentTexture( (gRSP.curTile+2)%7, pEntry->pTexture, 4, 4, pEntry);
+@@ -1005,7 +1005,7 @@ void COGLColorCombiner4v2::GenerateCombinerSettingConstants(int index)
+             unit = 2;
+ 
+         // Set Texture unit 3 to LODFRAC
+-        glActiveTexture(GL_TEXTURE0_ARB+unit);
++        pglActiveTexture(GL_TEXTURE0_ARB+unit);
+         prender->EnableTexUnit(unit,TRUE);
+         TxtrCacheEntry *pEntry = gTextureManager.GetConstantColorTexture(MUX_LODFRAC);
+         prender->SetCurrentTexture( (gRSP.curTile+unit)%7, pEntry->pTexture, 4, 4, pEntry);
+@@ -1018,7 +1018,7 @@ void COGLColorCombiner4v2::GenerateCombinerSettingConstants(int index)
+             unit = 2;
+ 
+         // Disable texture unit 3
+-        glActiveTexture(GL_TEXTURE0_ARB+unit);
++        pglActiveTexture(GL_TEXTURE0_ARB+unit);
+         prender->EnableTexUnit(unit,FALSE);
+         prender->SetTextureToTextureUnitMap(-1,unit);
+     }
+@@ -1138,7 +1138,7 @@ void COGLColorCombiner2::GenerateCombinerSettingConstants(int index)
+     {
+         for( int i=0; i<res.numOfUnits; i++ )
+         {
+-            glActiveTextureARB(GL_TEXTURE0_ARB+i);
++            pglActiveTextureARB(GL_TEXTURE0_ARB+i);
+             glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR,fv);
+         }
+     }
+@@ -1150,7 +1150,7 @@ void COGLColorCombiner2::GenerateCombinerSetting(int index)
+ 
+     for( int i=0; i<res.numOfUnits; i++ )
+     {
+-        glActiveTextureARB(GL_TEXTURE0_ARB+i);
++        pglActiveTextureARB(GL_TEXTURE0_ARB+i);
+         //if(res.units[i].textureIsUsed)
+         {
+             prender->SetTextureToTextureUnitMap(res.units[i].tex,i);
+@@ -1176,7 +1176,7 @@ void COGLColorCombiner2::GenerateCombinerSetting(int index)
+     {
+         for( int i=res.numOfUnits; i<m_maxTexUnits; i++ )
+         {
+-            glActiveTextureARB(GL_TEXTURE0_ARB+i);
++            pglActiveTextureARB(GL_TEXTURE0_ARB+i);
+             m_pOGLRender->EnableTexUnit(i,FALSE);
+             prender->SetTextureToTextureUnitMap(-1,i);
+         }
+diff --git a/rice_video/OGLExtRender.cpp b/rice_video/OGLExtRender.cpp
+index 710af166a4ae96535860fc645ae3a9faf3f67dde..8086344ed0f654a1ab918267a5fb9ed6f85784af 100644
+--- a/rice_video/OGLExtRender.cpp
++++ b/rice_video/OGLExtRender.cpp
+@@ -16,8 +16,7 @@ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+ 
+-#define GL_GLEXT_PROTOTYPES
+-#include <SDL_opengl.h>
++#include "OGLExtensions.h"
+ 
+ #include "stdafx.h"
+ 
+@@ -43,7 +42,7 @@ void COGLExtRender::BindTexture(GLuint texture, int unitno)
+         {
+             if( m_curBoundTex[unitno] != texture )
+             {
+-                glActiveTexture(GL_TEXTURE0_ARB+unitno);
++                pglActiveTexture(GL_TEXTURE0_ARB+unitno);
+                 glBindTexture(GL_TEXTURE_2D,texture);
+                 m_curBoundTex[unitno] = texture;
+             }
+@@ -59,7 +58,7 @@ void COGLExtRender::DisBindTexture(GLuint texture, int unitno)
+ {
+     if( m_bEnableMultiTexture )
+     {
+-        glActiveTexture(GL_TEXTURE0_ARB+unitno);
++        pglActiveTexture(GL_TEXTURE0_ARB+unitno);
+         glBindTexture(GL_TEXTURE_2D, 0);    //Not to bind any texture
+     }
+     else
+@@ -74,7 +73,7 @@ void COGLExtRender::TexCoord2f(float u, float v)
+         {
+             if( m_textureUnitMap[i] >= 0 )
+             {
+-                glMultiTexCoord2f(GL_TEXTURE0_ARB+i, u, v);
++                pglMultiTexCoord2f(GL_TEXTURE0_ARB+i, u, v);
+             }
+         }
+     }
+@@ -90,7 +89,7 @@ void COGLExtRender::TexCoord(TLITVERTEX &vtxInfo)
+         {
+             if( m_textureUnitMap[i] >= 0 )
+             {
+-                glMultiTexCoord2fv(GL_TEXTURE0_ARB+i, &(vtxInfo.tcord[m_textureUnitMap[i]].u));
++                pglMultiTexCoord2fv(GL_TEXTURE0_ARB+i, &(vtxInfo.tcord[m_textureUnitMap[i]].u));
+             }
+         }
+     }
+@@ -154,7 +153,7 @@ void COGLExtRender::SetTextureUFlag(TextureUVFlag dwFlag, uint32 dwTile)
+     {
+         if( m_textureUnitMap[textureNo] == tex )
+         {
+-            glActiveTexture(GL_TEXTURE0_ARB+textureNo);
++            pglActiveTexture(GL_TEXTURE0_ARB+textureNo);
+             COGLTexture* pTexture = g_textures[(gRSP.curTile+tex)&7].m_pCOGLTexture;
+             if( pTexture ) 
+             {
+@@ -214,7 +213,7 @@ void COGLExtRender::EnableTexUnit(int unitno, BOOL flag)
+     if( m_texUnitEnabled[unitno] != flag )
+     {
+         m_texUnitEnabled[unitno] = flag;
+-        glActiveTexture(GL_TEXTURE0_ARB+unitno);
++        pglActiveTexture(GL_TEXTURE0_ARB+unitno);
+         if( flag == TRUE )
+             glEnable(GL_TEXTURE_2D);
+         else
+@@ -235,7 +234,7 @@ void COGLExtRender::ApplyTextureFilter()
+             if( mtex[i] != m_curBoundTex[i] )
+             {
+                 mtex[i] = m_curBoundTex[i];
+-                glActiveTexture(GL_TEXTURE0_ARB+i);
++                pglActiveTexture(GL_TEXTURE0_ARB+i);
+                 minflag[i] = m_dwMinFilter;
+                 magflag[i] = m_dwMagFilter;
+                 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iMinFilter);
+@@ -246,13 +245,13 @@ void COGLExtRender::ApplyTextureFilter()
+                 if( minflag[i] != (unsigned int)m_dwMinFilter )
+                 {
+                     minflag[i] = m_dwMinFilter;
+-                    glActiveTexture(GL_TEXTURE0_ARB+i);
++                    pglActiveTexture(GL_TEXTURE0_ARB+i);
+                     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iMinFilter);
+                 }
+                 if( magflag[i] != (unsigned int)m_dwMagFilter )
+                 {
+                     magflag[i] = m_dwMagFilter;
+-                    glActiveTexture(GL_TEXTURE0_ARB+i);
++                    pglActiveTexture(GL_TEXTURE0_ARB+i);
+                     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iMagFilter);
+                 }
+             }
+diff --git a/rice_video/OGLExtensions.cpp b/rice_video/OGLExtensions.cpp
+new file mode 100644
+index 0000000000000000000000000000000000000000..cb88696f8c78a4121c05e444c02f8df355908367
+--- /dev/null
++++ b/rice_video/OGLExtensions.cpp
+@@ -0,0 +1,73 @@
++/* OGLExtensions.cpp
++Copyright (C) 2009 Richard Goedeken
++
++This program is free software; you can redistribute it and/or
++modify it under the terms of the GNU General Public License
++as published by the Free Software Foundation; either version 2
++of the License, or (at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
++*/
++
++/* This source file contains code for assigning function pointers to some OpenGL functions */
++/* This is only necessary because Windows does not contain development support for OpenGL versions beyond 1.1 */
++
++#include <SDL.h>
++#include <SDL_opengl.h>
++#include <stdio.h>
++#include "OGLExtensions.h"
++
++static void APIENTRY EmptyFunc(void) { return; }
++
++PFUNCGLCOMBINERPARAMETERFVNVPROC     pglCombinerParameterfvNV = (PFUNCGLCOMBINERPARAMETERFVNVPROC) EmptyFunc;
++PFUNCGLFINALCOMBINERINPUTNVPROC      pglFinalCombinerInputNV = (PFUNCGLFINALCOMBINERINPUTNVPROC) EmptyFunc;
++PFUNCGLCOMBINEROUTPUTNVPROC          pglCombinerOutputNV = (PFUNCGLCOMBINEROUTPUTNVPROC) EmptyFunc;
++PFUNCGLCOMBINERINPUTNVPROC           pglCombinerInputNV = (PFUNCGLCOMBINERINPUTNVPROC) EmptyFunc;
++PFUNCGLCOMBINERPARAMETERINVPROC      pglCombinerParameteriNV = (PFUNCGLCOMBINERPARAMETERINVPROC) EmptyFunc;
++
++PFUNCGLACTIVETEXTUREPROC             pglActiveTexture = (PFUNCGLACTIVETEXTUREPROC) EmptyFunc;
++PFUNCGLACTIVETEXTUREARBPROC          pglActiveTextureARB = (PFUNCGLACTIVETEXTUREARBPROC) EmptyFunc;
++PFUNCGLMULTITEXCOORD2FPROC           pglMultiTexCoord2f = (PFUNCGLMULTITEXCOORD2FPROC) EmptyFunc;
++PFUNCGLMULTITEXCOORD2FVPROC          pglMultiTexCoord2fv = (PFUNCGLMULTITEXCOORD2FVPROC) EmptyFunc;
++PFUNCGLDELETEPROGRAMSARBPROC         pglDeleteProgramsARB = (PFUNCGLDELETEPROGRAMSARBPROC) EmptyFunc;
++PFUNCGLPROGRAMSTRINGARBPROC          pglProgramStringARB = (PFUNCGLPROGRAMSTRINGARBPROC) EmptyFunc;
++PFUNCGLBINDPROGRAMARBPROC            pglBindProgramARB = (PFUNCGLBINDPROGRAMARBPROC) EmptyFunc;
++PFUNCGLGENPROGRAMSARBPROC            pglGenProgramsARB = (PFUNCGLGENPROGRAMSARBPROC) EmptyFunc;
++PFUNCGLPROGRAMENVPARAMETER4FVARBPROC pglProgramEnvParameter4fvARB = (PFUNCGLPROGRAMENVPARAMETER4FVARBPROC) EmptyFunc;
++PFUNCGLFOGCOORDPOINTEREXTPROC        pglFogCoordPointerEXT = (PFUNCGLFOGCOORDPOINTEREXTPROC) EmptyFunc;
++PFUNCGLCLIENTACTIVETEXTUREARBPROC    pglClientActiveTextureARB = (PFUNCGLCLIENTACTIVETEXTUREARBPROC) EmptyFunc;
++
++#define INIT_ENTRY_POINT(type, funcname) \
++  p##funcname = (type) SDL_GL_GetProcAddress(#funcname); \
++  if (p##funcname == NULL) { printf(\
++  "Couldn't get address of OpenGL function: '%s'\n", #funcname); p##funcname = (type) EmptyFunc; }
++
++void OGLExtensions_Init(void)
++{
++    INIT_ENTRY_POINT(PFUNCGLCOMBINERPARAMETERFVNVPROC,     glCombinerParameterfvNV);
++    INIT_ENTRY_POINT(PFUNCGLFINALCOMBINERINPUTNVPROC,      glFinalCombinerInputNV);
++    INIT_ENTRY_POINT(PFUNCGLCOMBINEROUTPUTNVPROC,          glCombinerOutputNV);
++    INIT_ENTRY_POINT(PFUNCGLCOMBINERINPUTNVPROC,           glCombinerInputNV);
++    INIT_ENTRY_POINT(PFUNCGLCOMBINERPARAMETERINVPROC,      glCombinerParameteriNV);
++
++    INIT_ENTRY_POINT(PFUNCGLACTIVETEXTUREPROC,             glActiveTexture);
++    INIT_ENTRY_POINT(PFUNCGLACTIVETEXTUREARBPROC,          glActiveTextureARB);
++    INIT_ENTRY_POINT(PFUNCGLMULTITEXCOORD2FPROC,           glMultiTexCoord2f);
++    INIT_ENTRY_POINT(PFUNCGLMULTITEXCOORD2FVPROC,          glMultiTexCoord2fv);
++    INIT_ENTRY_POINT(PFUNCGLDELETEPROGRAMSARBPROC,         glDeleteProgramsARB);
++    INIT_ENTRY_POINT(PFUNCGLPROGRAMSTRINGARBPROC,          glProgramStringARB);
++    INIT_ENTRY_POINT(PFUNCGLBINDPROGRAMARBPROC,            glBindProgramARB);
++    INIT_ENTRY_POINT(PFUNCGLGENPROGRAMSARBPROC,            glGenProgramsARB);
++    INIT_ENTRY_POINT(PFUNCGLPROGRAMENVPARAMETER4FVARBPROC, glProgramEnvParameter4fvARB);
++    INIT_ENTRY_POINT(PFUNCGLFOGCOORDPOINTEREXTPROC,        glFogCoordPointerEXT);
++    INIT_ENTRY_POINT(PFUNCGLCLIENTACTIVETEXTUREARBPROC,    glClientActiveTextureARB);
++}
++
++
+diff --git a/rice_video/OGLExtensions.h b/rice_video/OGLExtensions.h
+new file mode 100644
+index 0000000000000000000000000000000000000000..da9c985f5602a62d7b5857d7320ba994736c26b0
+--- /dev/null
++++ b/rice_video/OGLExtensions.h
+@@ -0,0 +1,70 @@
++/* OGLExtensions.h
++Copyright (C) 2009 Richard Goedeken
++
++This program is free software; you can redistribute it and/or
++modify it under the terms of the GNU General Public License
++as published by the Free Software Foundation; either version 2
++of the License, or (at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
++*/
++
++/* This header file contains function pointers to some OpenGL functions */
++/* This is only necessary because Windows does not contain development support for OpenGL versions beyond 1.1 */
++
++#if !defined(OGL_EXTENSIONS_H)
++#define OGL_EXTENSIONS_H
++
++#include <SDL_opengl.h>
++
++/* Just call this one function to load up the function pointers. */
++void OGLExtensions_Init(void);
++
++/* The function pointer types are defined here because as of 2009 some OpenGL drivers under Linux do 'incorrect' things which
++   mess up the SDL_opengl.h header, resulting in no function pointer typedefs at all, and thus compilation errors.
++*/
++typedef void (APIENTRYP PFUNCGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
++typedef void (APIENTRYP PFUNCGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
++typedef void (APIENTRYP PFUNCGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
++typedef void (APIENTRYP PFUNCGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
++typedef void (APIENTRYP PFUNCGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
++
++typedef void (APIENTRYP PFUNCGLACTIVETEXTUREPROC) (GLenum texture);
++typedef void (APIENTRYP PFUNCGLACTIVETEXTUREARBPROC) (GLenum texture);
++typedef void (APIENTRYP PFUNCGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
++typedef void (APIENTRYP PFUNCGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
++typedef void (APIENTRYP PFUNCGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
++typedef void (APIENTRYP PFUNCGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
++typedef void (APIENTRYP PFUNCGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
++typedef void (APIENTRYP PFUNCGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
++typedef void (APIENTRYP PFUNCGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
++typedef void (APIENTRYP PFUNCGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
++typedef void (APIENTRYP PFUNCGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
++
++extern PFUNCGLCOMBINERPARAMETERFVNVPROC     pglCombinerParameterfvNV;
++extern PFUNCGLFINALCOMBINERINPUTNVPROC      pglFinalCombinerInputNV;
++extern PFUNCGLCOMBINEROUTPUTNVPROC          pglCombinerOutputNV;
++extern PFUNCGLCOMBINERINPUTNVPROC           pglCombinerInputNV;
++extern PFUNCGLCOMBINERPARAMETERINVPROC      pglCombinerParameteriNV;
++
++extern PFUNCGLACTIVETEXTUREPROC             pglActiveTexture;
++extern PFUNCGLACTIVETEXTUREARBPROC          pglActiveTextureARB;
++extern PFUNCGLMULTITEXCOORD2FPROC           pglMultiTexCoord2f;
++extern PFUNCGLMULTITEXCOORD2FVPROC          pglMultiTexCoord2fv;
++extern PFUNCGLDELETEPROGRAMSARBPROC         pglDeleteProgramsARB;
++extern PFUNCGLPROGRAMSTRINGARBPROC          pglProgramStringARB;
++extern PFUNCGLBINDPROGRAMARBPROC            pglBindProgramARB;
++extern PFUNCGLGENPROGRAMSARBPROC            pglGenProgramsARB;
++extern PFUNCGLPROGRAMENVPARAMETER4FVARBPROC pglProgramEnvParameter4fvARB;
++extern PFUNCGLFOGCOORDPOINTEREXTPROC        pglFogCoordPointerEXT;
++extern PFUNCGLCLIENTACTIVETEXTUREARBPROC    pglClientActiveTextureARB;
++
++#endif  // OGL_EXTENSIONS_H
++
+diff --git a/rice_video/OGLFragmentShaders.cpp b/rice_video/OGLFragmentShaders.cpp
+index 81ae480c6045a58bd53fe486adb3b69acf5ba8a6..40918fd7c50017a2560be743e2d975109fe54369 100644
+--- a/rice_video/OGLFragmentShaders.cpp
++++ b/rice_video/OGLFragmentShaders.cpp
+@@ -16,8 +16,7 @@ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+ 
+-#define GL_GLEXT_PROTOTYPES
+-#include <SDL_opengl.h>
++#include "OGLExtensions.h"
+ 
+ #include "stdafx.h"
+ 
+@@ -88,7 +87,7 @@ COGL_FragmentProgramCombiner::~COGL_FragmentProgramCombiner()
+     for (int i=0; i<size; i++)
+     {
+         GLuint ID = m_vCompiledShaders[i].programID;
+-        glDeleteProgramsARB(1, &ID);
++        pglDeleteProgramsARB(1, &ID);
+         m_vCompiledShaders[i].programID = 0;
+     }
+ 
+@@ -272,12 +271,12 @@ int COGL_FragmentProgramCombiner::ParseDecodedMux()
+ 
+     OGLShaderCombinerSaveType res;
+ 
+-    glGenProgramsARB( 1, &res.programID);
+-    glBindProgramARB( GL_FRAGMENT_PROGRAM_ARB, res.programID);
++    pglGenProgramsARB( 1, &res.programID);
++    pglBindProgramARB( GL_FRAGMENT_PROGRAM_ARB, res.programID);
+     GenerateProgramStr();
+ 
+-    glProgramStringARB( GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, strlen(oglNewFP), oglNewFP);
+-    //glProgramStringARB(   GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, strlen(oglFPTest), oglFPTest);
++    pglProgramStringARB( GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, strlen(oglNewFP), oglNewFP);
++    //pglProgramStringARB(   GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, strlen(oglFPTest), oglFPTest);
+ 
+     if (glGetError() != 0)
+     {
+@@ -311,7 +310,7 @@ int COGL_FragmentProgramCombiner::ParseDecodedMux()
+ void COGL_FragmentProgramCombiner::GenerateCombinerSetting(int index)
+ {
+     GLuint ID = m_vCompiledShaders[index].programID;
+-    glBindProgramARB( GL_FRAGMENT_PROGRAM_ARB, ID );
++    pglBindProgramARB( GL_FRAGMENT_PROGRAM_ARB, ID );
+     glEnable(GL_FRAGMENT_PROGRAM_ARB);
+ }
+ 
+@@ -319,21 +318,21 @@ void COGL_FragmentProgramCombiner::GenerateCombinerSettingConstants(int index)
+ {
+     float *pf;
+     pf = GetEnvColorfv();
+-    glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 1, pf);
++    pglProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 1, pf);
+     pf = GetPrimitiveColorfv();
+-    glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 2, pf);
++    pglProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 2, pf);
+ 
+     float frac = gRDP.LODFrac / 255.0f;
+     float tempf[4] = {frac,frac,frac,frac};
+-    glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 3, tempf);
++    pglProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 3, tempf);
+ 
+     float frac2 = gRDP.primLODFrac / 255.0f;
+     float tempf2[4] = {frac2,frac2,frac2,frac2};
+-    glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 4, tempf2);
++    pglProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 4, tempf2);
+ 
+     float tempf3[4] = {0,0,0,0};
+-    glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 0, tempf3);
+-    glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 6, tempf3);
++    pglProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 0, tempf3);
++    pglProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 6, tempf3);
+ }
+ 
+ int COGL_FragmentProgramCombiner::FindCompiledMux()
+diff --git a/rice_video/OGLGraphicsContext.cpp b/rice_video/OGLGraphicsContext.cpp
+index 617723eecae48f935e0f50b6f41ffbfe196d6dcf..b5f7e663978ea410a14ed1974a493631c5f9fe75 100644
+--- a/rice_video/OGLGraphicsContext.cpp
++++ b/rice_video/OGLGraphicsContext.cpp
+@@ -24,6 +24,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ 
+ #include "../main/version.h"
+ 
++#include "OGLExtensions.h"
++
+ COGLGraphicsContext::COGLGraphicsContext() :
+     m_pScreen(0),
+     m_bSupportMultiTexture(false),
+@@ -120,6 +122,9 @@ bool COGLGraphicsContext::Initialize(HWND hWnd, HWND hWndStatus, uint32 dwWidth,
+     SDL_QuitSubSystem(SDL_INIT_VIDEO);
+     return false;
+      }
++
++   /* Get function pointers to OpenGL extensions */
++   OGLExtensions_Init();
+    
+    char caption[500];
+    sprintf(caption, "RiceVideoLinux N64 Plugin %s", MUPEN_VERSION);
+diff --git a/rice_video/OGLRender.cpp b/rice_video/OGLRender.cpp
+index f4e2e32f8d7a2eb1f4ea57029e6e44e434b107f0..740ca641b431d9cb413236f1cce56731813dfb77 100644
+--- a/rice_video/OGLRender.cpp
++++ b/rice_video/OGLRender.cpp
+@@ -16,8 +16,7 @@ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+ 
+-#define GL_GLEXT_PROTOTYPES
+-#include <SDL_opengl.h>
++#include "OGLExtensions.h"
+ 
+ #include "stdafx.h"
+ 
+@@ -103,11 +102,11 @@ void OGLRender::Initialize(void)
+ 
+     if( m_bMultiTexture )
+     {
+-        glClientActiveTextureARB( GL_TEXTURE0_ARB );
++        pglClientActiveTextureARB( GL_TEXTURE0_ARB );
+         glTexCoordPointer( 2, GL_FLOAT, sizeof( TLITVERTEX ), &(g_vtxBuffer[0].tcord[0].u) );
+         glEnableClientState( GL_TEXTURE_COORD_ARRAY );
+ 
+-        glClientActiveTextureARB( GL_TEXTURE1_ARB );
++        pglClientActiveTextureARB( GL_TEXTURE1_ARB );
+         glTexCoordPointer( 2, GL_FLOAT, sizeof( TLITVERTEX ), &(g_vtxBuffer[0].tcord[1].u) );
+         glEnableClientState( GL_TEXTURE_COORD_ARRAY );
+     }
+@@ -119,7 +118,7 @@ void OGLRender::Initialize(void)
+ 
+     if (m_bSupportFogCoordExt)
+     {
+-        glFogCoordPointerEXT( GL_FLOAT, sizeof(float)*5, &(g_vtxProjected5[0][4]) );
++        pglFogCoordPointerEXT( GL_FLOAT, sizeof(float)*5, &(g_vtxProjected5[0][4]) );
+         glEnableClientState( GL_FOG_COORDINATE_ARRAY_EXT );
+         glFogi( GL_FOG_COORDINATE_SOURCE_EXT, GL_FOG_COORDINATE_EXT );
+         glFogi(GL_FOG_MODE, GL_LINEAR); // Fog Mode
+@@ -546,22 +545,22 @@ bool OGLRender::RenderFlushTris()
+         glVertexPointer( 4, GL_FLOAT, sizeof(float)*5, &(g_vtxProjected5Clipped[0][0]) );
+         glEnableClientState( GL_VERTEX_ARRAY );
+ 
+-        glClientActiveTextureARB( GL_TEXTURE0_ARB );
++        pglClientActiveTextureARB( GL_TEXTURE0_ARB );
+         glTexCoordPointer( 2, GL_FLOAT, sizeof( TLITVERTEX ), &(g_clippedVtxBuffer[0].tcord[0].u) );
+         glEnableClientState( GL_TEXTURE_COORD_ARRAY );
+ 
+-        glClientActiveTextureARB( GL_TEXTURE1_ARB );
++        pglClientActiveTextureARB( GL_TEXTURE1_ARB );
+         glTexCoordPointer( 2, GL_FLOAT, sizeof( TLITVERTEX ), &(g_clippedVtxBuffer[0].tcord[1].u) );
+         glEnableClientState( GL_TEXTURE_COORD_ARRAY );
+ 
+         glDrawElements( GL_TRIANGLES, gRSP.numVertices, GL_UNSIGNED_INT, g_vtxIndex );
+ 
+         // Reset the array
+-        glClientActiveTextureARB( GL_TEXTURE0_ARB );
++        pglClientActiveTextureARB( GL_TEXTURE0_ARB );
+         glTexCoordPointer( 2, GL_FLOAT, sizeof( TLITVERTEX ), &(g_vtxBuffer[0].tcord[0].u) );
+         glEnableClientState( GL_TEXTURE_COORD_ARRAY );
+ 
+-        glClientActiveTextureARB( GL_TEXTURE1_ARB );
++        pglClientActiveTextureARB( GL_TEXTURE1_ARB );
+         glTexCoordPointer( 2, GL_FLOAT, sizeof( TLITVERTEX ), &(g_vtxBuffer[0].tcord[1].u) );
+         glEnableClientState( GL_TEXTURE_COORD_ARRAY );
+ 
+@@ -860,11 +859,11 @@ void OGLRender::SetFogColor(uint32 r, uint32 g, uint32 b, uint32 a)
+ 
+ void OGLRender::DisableMultiTexture()
+ {
+-    glActiveTexture(GL_TEXTURE1_ARB);
++    pglActiveTextureARB(GL_TEXTURE1_ARB);
+     EnableTexUnit(1,FALSE);
+-    glActiveTexture(GL_TEXTURE0_ARB);
++    pglActiveTextureARB(GL_TEXTURE0_ARB);
+     EnableTexUnit(0,FALSE);
+-    glActiveTexture(GL_TEXTURE0_ARB);
++    pglActiveTextureARB(GL_TEXTURE0_ARB);
+     EnableTexUnit(0,TRUE);
+ }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index c30f890..f49b8cb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -40,3 +40,4 @@ dont-install-unneeded.patch
 rsp_ucode2_reset.patch
 rsp_hle_bigendian.patch
 rice-crash-vendorstring.patch
+rice-ati-symbols.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus.git



More information about the Pkg-games-commits mailing list