diff options
| -rw-r--r-- | indra/llrender/llgl.cpp | 14 | ||||
| -rw-r--r-- | indra/llrender/llrendertarget.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/lldynamictexture.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llfloaterpreference.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 17 | 
5 files changed, 14 insertions, 28 deletions
diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index 18168d1c3f..df7c84e761 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -747,6 +747,14 @@ bool LLGLManager::initGL()  		LL_WARNS("RenderInit") << "GL Drivers do not support GL_ARB_multitexture" << LL_ENDL;  		return false;  	} + +    if (!mHasFramebufferObject) +    { +        mHasRequirements = FALSE; + +        LL_WARNS("RenderInit") << "GL Drivers do not support GL_ARB_framebuffer_object" << LL_ENDL; +        return false; +    }  	stop_glerror(); @@ -762,12 +770,6 @@ bool LLGLManager::initGL()  	//HACK always disable texture multisample, use FXAA instead  	mHasTextureMultisample = FALSE; -#if LL_WINDOWS -	if (mIsIntel && mGLVersion <= 3.f) -	{ //never try to use framebuffer objects on older intel drivers (crashy) -		mHasFramebufferObject = FALSE; -	} -#endif  	if (mHasFramebufferObject)  	{ diff --git a/indra/llrender/llrendertarget.cpp b/indra/llrender/llrendertarget.cpp index 0408010513..fffc15efc3 100644 --- a/indra/llrender/llrendertarget.cpp +++ b/indra/llrender/llrendertarget.cpp @@ -133,7 +133,7 @@ bool LLRenderTarget::allocate(U32 resx, U32 resy, U32 color_fmt, bool depth, boo  	mUsage = usage;  	mUseDepth = depth; -	if ((sUseFBO || use_fbo) && gGLManager.mHasFramebufferObject) +	if (sUseFBO || use_fbo)  	{  		if (depth)  		{ diff --git a/indra/newview/lldynamictexture.cpp b/indra/newview/lldynamictexture.cpp index 63e7887d81..361a7666fa 100644 --- a/indra/newview/lldynamictexture.cpp +++ b/indra/newview/lldynamictexture.cpp @@ -125,7 +125,7 @@ void LLViewerDynamicTexture::preRender(BOOL clear_depth)  		llassert(mFullHeight <= static_cast<S32>(gPipeline.mPhysicsDisplay.getHeight()));  	} -	if (gGLManager.mHasFramebufferObject && gPipeline.mPhysicsDisplay.isComplete() && !gGLManager.mIsAMD) +	if (gPipeline.mPhysicsDisplay.isComplete() && !gGLManager.mIsAMD)  	{ //using offscreen render target, just use the bottom left corner  		mOrigin.set(0, 0);  	} @@ -212,7 +212,7 @@ BOOL LLViewerDynamicTexture::updateAllInstances()  		return TRUE;  	} -	bool use_fbo = gGLManager.mHasFramebufferObject && gPipeline.mBake.isComplete() && !gGLManager.mIsAMD; +	bool use_fbo = gPipeline.mBake.isComplete() && !gGLManager.mIsAMD;  	if (use_fbo)  	{ diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 8d19aa36bb..1a76766322 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -1200,7 +1200,6 @@ void LLFloaterPreference::refreshEnabledState()  	BOOL enabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&  						bumpshiny &&  						shaders &&  -						gGLManager.mHasFramebufferObject &&  						(ctrl_wind_light->get()) ? TRUE : FALSE;  	ctrl_deferred->setEnabled(enabled); @@ -1251,7 +1250,6 @@ void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState()      BOOL enabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&                          ((bumpshiny_ctrl && bumpshiny_ctrl->get()) ? TRUE : FALSE) && -                        gGLManager.mHasFramebufferObject &&                          (ctrl_wind_light->get()) ? TRUE : FALSE;      ctrl_deferred->setEnabled(enabled); @@ -1385,8 +1383,7 @@ void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings()  	}  	// disabled deferred -	if (!LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") || -		!gGLManager.mHasFramebufferObject) +	if (!LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred"))  	{  		ctrl_shadows->setEnabled(FALSE);  		ctrl_shadows->setValue(0); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index e3de4267dc..5b300e96c6 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2312,25 +2312,13 @@ class LLAdvancedEnableObjectObjectOcclusion: public view_listener_t  };  ///////////////////////////////////// -// Enable Framebuffer Objects	  /// -///////////////////////////////////// -class LLAdvancedEnableRenderFBO: public view_listener_t -{ -	bool handleEvent(const LLSD& userdata) -	{ -		bool new_value = gGLManager.mHasFramebufferObject; -		return new_value; -	} -}; - -/////////////////////////////////////  // Enable Deferred Rendering	  ///  /////////////////////////////////////  class LLAdvancedEnableRenderDeferred: public view_listener_t  {  	bool handleEvent(const LLSD& userdata)  	{ -		bool new_value = gGLManager.mHasFramebufferObject && LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_WINDLIGHT) > 1 && +		bool new_value = LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_WINDLIGHT) > 1 &&  			LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_AVATAR) > 0;  		return new_value;  	} @@ -2343,7 +2331,7 @@ class LLAdvancedEnableRenderDeferredOptions: public view_listener_t  {  	bool handleEvent(const LLSD& userdata)  	{ -		bool new_value = gGLManager.mHasFramebufferObject && LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_WINDLIGHT) > 1 && +		bool new_value = LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_WINDLIGHT) > 1 &&  			LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_AVATAR) > 0 && gSavedSettings.getBOOL("RenderDeferred");  		return new_value;  	} @@ -9264,7 +9252,6 @@ void initialize_menus()  	view_listener_t::addMenu(new LLAdvancedCheckWireframe(), "Advanced.CheckWireframe");  	// Develop > Render  	view_listener_t::addMenu(new LLAdvancedEnableObjectObjectOcclusion(), "Advanced.EnableObjectObjectOcclusion"); -	view_listener_t::addMenu(new LLAdvancedEnableRenderFBO(), "Advanced.EnableRenderFBO");  	view_listener_t::addMenu(new LLAdvancedEnableRenderDeferred(), "Advanced.EnableRenderDeferred");  	view_listener_t::addMenu(new LLAdvancedEnableRenderDeferredOptions(), "Advanced.EnableRenderDeferredOptions");  	view_listener_t::addMenu(new LLAdvancedToggleRandomizeFramerate(), "Advanced.ToggleRandomizeFramerate");  | 
