From 4a08d8daaab31cfb13a7854bccacd0bd1f0814fa Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 14 Jan 2008 11:44:04 +0000 Subject: [PATCH] Added geometry shader extension supported check to geometry shader parameter calls --- src/osg/Program.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/osg/Program.cpp b/src/osg/Program.cpp index 5e78a6cac..073fd27a0 100644 --- a/src/osg/Program.cpp +++ b/src/osg/Program.cpp @@ -2664,10 +2664,13 @@ void Program::PerContextProgram::linkProgram() << " contextID=" << _contextID << std::endl; - _extensions->glProgramParameteri( _glProgramHandle, GL_GEOMETRY_VERTICES_OUT_EXT, _program->_geometryVerticesOut ); - _extensions->glProgramParameteri( _glProgramHandle, GL_GEOMETRY_INPUT_TYPE_EXT, _program->_geometryInputType ); - _extensions->glProgramParameteri( _glProgramHandle, GL_GEOMETRY_OUTPUT_TYPE_EXT, _program->_geometryOutputType ); - + if (_extensions->isGeometryShader4Supported()) + { + _extensions->glProgramParameteri( _glProgramHandle, GL_GEOMETRY_VERTICES_OUT_EXT, _program->_geometryVerticesOut ); + _extensions->glProgramParameteri( _glProgramHandle, GL_GEOMETRY_INPUT_TYPE_EXT, _program->_geometryInputType ); + _extensions->glProgramParameteri( _glProgramHandle, GL_GEOMETRY_OUTPUT_TYPE_EXT, _program->_geometryOutputType ); + } + // Detach removed shaders for( unsigned int i=0; i < _shadersToDetach.size(); ++i ) {