Backed out changeset: 3937923211ec

--HG--
branch : compatibility
hg/compatibility
kervala 11 years ago
parent c83afd649d
commit 8f6c32bd69

@ -46,20 +46,20 @@ CVertexProgamDrvInfosGL::CVertexProgamDrvInfosGL(CDriverGL *drv, ItGPUPrgDrvInfo
H_AUTO_OGL(CVertexProgamDrvInfosGL_CVertexProgamDrvInfosGL); H_AUTO_OGL(CVertexProgamDrvInfosGL_CVertexProgamDrvInfosGL);
// Extension must exist // Extension must exist
nlassert (drv->_Extensions.ARBVertexProgram nlassert (drv->_Extensions.NVVertexProgram
|| drv->_Extensions.NVVertexProgram
|| drv->_Extensions.EXTVertexShader || drv->_Extensions.EXTVertexShader
|| drv->_Extensions.ARBVertexProgram
); );
#ifndef USE_OPENGLES #ifndef USE_OPENGLES
// Generate a program if (drv->_Extensions.NVVertexProgram) // NVIDIA implemntation
if (drv->_Extensions.ARBVertexProgram) // ARB implementation
{ {
nglGenProgramsARB(1, &ID); // Generate a program
nglGenProgramsNV (1, &ID);
} }
else if (drv->_Extensions.NVVertexProgram) // NVIDIA implementation else if (drv->_Extensions.ARBVertexProgram) // ARB implementation
{ {
nglGenProgramsNV(1, &ID); nglGenProgramsARB(1, &ID);
} }
else else
{ {
@ -74,7 +74,7 @@ bool CDriverGL::supportVertexProgram(CVertexProgram::TProfile profile) const
{ {
H_AUTO_OGL(CVertexProgamDrvInfosGL_supportVertexProgram) H_AUTO_OGL(CVertexProgamDrvInfosGL_supportVertexProgram)
return (profile == CVertexProgram::nelvp) return (profile == CVertexProgram::nelvp)
&& (_Extensions.ARBVertexProgram || _Extensions.NVVertexProgram || _Extensions.EXTVertexShader); && (_Extensions.NVVertexProgram || _Extensions.EXTVertexShader || _Extensions.ARBVertexProgram);
} }
// *************************************************************************** // ***************************************************************************
@ -1774,6 +1774,7 @@ bool CDriverGL::compileVertexProgram(NL3D::CVertexProgram *program)
} }
// *************************************************************************** // ***************************************************************************
bool CDriverGL::activeVertexProgram(CVertexProgram *program) bool CDriverGL::activeVertexProgram(CVertexProgram *program)
{ {
H_AUTO_OGL(CDriverGL_activeVertexProgram) H_AUTO_OGL(CDriverGL_activeVertexProgram)
@ -1782,13 +1783,13 @@ bool CDriverGL::activeVertexProgram(CVertexProgram *program)
if (program && !CDriverGL::compileVertexProgram(program)) return false; if (program && !CDriverGL::compileVertexProgram(program)) return false;
// Extension // Extension
if (_Extensions.ARBVertexProgram) if (_Extensions.NVVertexProgram)
{ {
return activeARBVertexProgram(program); return activeNVVertexProgram(program);
} }
else if (_Extensions.NVVertexProgram) else if (_Extensions.ARBVertexProgram)
{ {
return activeNVVertexProgram(program); return activeARBVertexProgram(program);
} }
else if (_Extensions.EXTVertexShader) else if (_Extensions.EXTVertexShader)
{ {
@ -1807,31 +1808,32 @@ void CDriverGL::enableVertexProgramDoubleSidedColor(bool doubleSided)
#ifndef USE_OPENGLES #ifndef USE_OPENGLES
// Vertex program exist ? // Vertex program exist ?
if (_Extensions.ARBVertexProgram) if (_Extensions.NVVertexProgram)
{ {
// change mode (not cached because supposed to be rare) // change mode (not cached because supposed to be rare)
if(doubleSided) if(doubleSided)
glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_NV);
else else
glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_NV);
} }
else if (_Extensions.NVVertexProgram) else if (_Extensions.ARBVertexProgram)
{ {
// change mode (not cached because supposed to be rare) // change mode (not cached because supposed to be rare)
if(doubleSided) if(doubleSided)
glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB);
else else
glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB);
} }
#endif #endif
} }
// *************************************************************************** // ***************************************************************************
bool CDriverGL::supportVertexProgramDoubleSidedColor() const bool CDriverGL::supportVertexProgramDoubleSidedColor() const
{ {
H_AUTO_OGL(CDriverGL_supportVertexProgramDoubleSidedColor) H_AUTO_OGL(CDriverGL_supportVertexProgramDoubleSidedColor)
// currently only supported by NV_VERTEX_PROGRAM && ARB_VERTEX_PROGRAM // currently only supported by NV_VERTEX_PROGRAM && ARB_VERTEX_PROGRAM
return _Extensions.ARBVertexProgram || _Extensions.NVVertexProgram; return _Extensions.NVVertexProgram || _Extensions.ARBVertexProgram;
} }
#ifdef NL_STATIC #ifdef NL_STATIC

Loading…
Cancel
Save