From 8f6c32bd69dc262a66910f2b6432e96785366fc1 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 29 Mar 2014 12:45:22 +0100 Subject: [PATCH] Backed out changeset: 3937923211ec --HG-- branch : compatibility --- .../opengl/driver_opengl_vertex_program.cpp | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp index bab700f04..5470ec5c5 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp @@ -46,20 +46,20 @@ CVertexProgamDrvInfosGL::CVertexProgamDrvInfosGL(CDriverGL *drv, ItGPUPrgDrvInfo H_AUTO_OGL(CVertexProgamDrvInfosGL_CVertexProgamDrvInfosGL); // Extension must exist - nlassert (drv->_Extensions.ARBVertexProgram - || drv->_Extensions.NVVertexProgram + nlassert (drv->_Extensions.NVVertexProgram || drv->_Extensions.EXTVertexShader + || drv->_Extensions.ARBVertexProgram ); #ifndef USE_OPENGLES - // Generate a program - if (drv->_Extensions.ARBVertexProgram) // ARB implementation + if (drv->_Extensions.NVVertexProgram) // NVIDIA implemntation { - 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 { @@ -74,7 +74,7 @@ bool CDriverGL::supportVertexProgram(CVertexProgram::TProfile profile) const { H_AUTO_OGL(CVertexProgamDrvInfosGL_supportVertexProgram) 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) { H_AUTO_OGL(CDriverGL_activeVertexProgram) @@ -1782,13 +1783,13 @@ bool CDriverGL::activeVertexProgram(CVertexProgram *program) if (program && !CDriverGL::compileVertexProgram(program)) return false; // 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) { @@ -1807,31 +1808,32 @@ void CDriverGL::enableVertexProgramDoubleSidedColor(bool doubleSided) #ifndef USE_OPENGLES // Vertex program exist ? - if (_Extensions.ARBVertexProgram) + if (_Extensions.NVVertexProgram) { // change mode (not cached because supposed to be rare) if(doubleSided) - glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); + glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); 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) if(doubleSided) - glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); + glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); else - glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); + glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); } #endif } + // *************************************************************************** bool CDriverGL::supportVertexProgramDoubleSidedColor() const { H_AUTO_OGL(CDriverGL_supportVertexProgramDoubleSidedColor) // currently only supported by NV_VERTEX_PROGRAM && ARB_VERTEX_PROGRAM - return _Extensions.ARBVertexProgram || _Extensions.NVVertexProgram; + return _Extensions.NVVertexProgram || _Extensions.ARBVertexProgram; } #ifdef NL_STATIC