diff options
| -rw-r--r-- | indra/llplugin/llpluginclassmedia.h | 6 | ||||
| -rw-r--r-- | indra/llplugin/llplugininstance.h | 2 | ||||
| -rw-r--r-- | indra/llplugin/llpluginmessagepipe.h | 3 | ||||
| -rw-r--r-- | indra/llplugin/llpluginprocessparent.h | 2 | ||||
| -rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 31 | ||||
| -rw-r--r-- | indra/newview/lldrawpoolbump.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 19 | ||||
| -rw-r--r-- | indra/newview/llvovolume.h | 2 | 
8 files changed, 52 insertions, 17 deletions
| diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h index f8ed89f644..ade88a5623 100644 --- a/indra/llplugin/llpluginclassmedia.h +++ b/indra/llplugin/llpluginclassmedia.h @@ -41,16 +41,16 @@ class LLPluginClassMedia : public LLPluginProcessParentOwner  	LOG_CLASS(LLPluginClassMedia);
  public:
  	LLPluginClassMedia(LLPluginClassMediaOwner *owner);
 -	virtual ~LLPluginClassMedia();
 +	~LLPluginClassMedia();
  	// local initialization, called by the media manager when creating a source
 -	virtual bool init(const std::string &launcher_filename, 
 +	bool init(const std::string &launcher_filename, 
  					  const std::string &plugin_dir, 
  					  const std::string &plugin_filename, 
  					  bool debug);
  	// undoes everything init() didm called by the media manager when destroying a source
 -	virtual void reset();
 +	void reset();
  	void idle(void);
 diff --git a/indra/llplugin/llplugininstance.h b/indra/llplugin/llplugininstance.h index e6926c3e37..3643a15d8c 100644 --- a/indra/llplugin/llplugininstance.h +++ b/indra/llplugin/llplugininstance.h @@ -39,7 +39,7 @@  class LLPluginInstanceMessageListener  {  public: -	virtual ~LLPluginInstanceMessageListener(); +	~LLPluginInstanceMessageListener();     /** Plugin receives message from plugin loader shell. */  	virtual void receivePluginMessage(const std::string &message) = 0;  }; diff --git a/indra/llplugin/llpluginmessagepipe.h b/indra/llplugin/llpluginmessagepipe.h index 627577beb1..beb942c0fe 100644 --- a/indra/llplugin/llpluginmessagepipe.h +++ b/indra/llplugin/llpluginmessagepipe.h @@ -40,7 +40,8 @@ class LLPluginMessagePipeOwner  	LOG_CLASS(LLPluginMessagePipeOwner);  public:  	LLPluginMessagePipeOwner(); -	virtual ~LLPluginMessagePipeOwner(); +	~LLPluginMessagePipeOwner(); +  	// called with incoming messages  	virtual void receiveMessageRaw(const std::string &message) = 0;  	// called when the socket has an error diff --git a/indra/llplugin/llpluginprocessparent.h b/indra/llplugin/llpluginprocessparent.h index c66723f175..26c6b0c402 100644 --- a/indra/llplugin/llpluginprocessparent.h +++ b/indra/llplugin/llpluginprocessparent.h @@ -41,7 +41,7 @@  class LLPluginProcessParentOwner  {  public: -	virtual ~LLPluginProcessParentOwner(); +	~LLPluginProcessParentOwner();  	virtual void receivePluginMessage(const LLPluginMessage &message) = 0;  	virtual bool receivePluginMessageEarly(const LLPluginMessage &message) {return false;};  	// This will only be called when the plugin has died unexpectedly  diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 551d487cc8..1239e2d40b 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -1172,8 +1172,39 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO  		// First we try and get a 32 bit depth pixel format  		BOOL result = wglChoosePixelFormatARB(mhDC, attrib_list, NULL, 256, pixel_formats, &num_formats); +		 +		while(!result && mFSAASamples > 0)  +		{ +			llwarns << "FSAASamples: " << mFSAASamples << " not supported." << llendl ; + +			mFSAASamples /= 2 ; //try to decrease sample pixel number until to disable anti-aliasing +			if(mFSAASamples < 2) +			{ +				mFSAASamples = 0 ; +			} + +			if (mFSAASamples > 0) +			{ +				attrib_list[end_attrib + 3] = mFSAASamples; +			} +			else +			{ +				cur_attrib = end_attrib ; +				end_attrib = 0 ; +				attrib_list[cur_attrib++] = 0 ; //end +			} +			result = wglChoosePixelFormatARB(mhDC, attrib_list, NULL, 256, pixel_formats, &num_formats); + +			if(result) +			{ +				llwarns << "Only support FSAASamples: " << mFSAASamples << llendl ; +			} +		} +  		if (!result)  		{ +			llwarns << "mFSAASamples: " << mFSAASamples << llendl ; +  			close();  			show_window_creation_error("Error after wglChoosePixelFormatARB 32-bit");  			return FALSE; diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp index a0990ca645..6931ada7cd 100644 --- a/indra/newview/lldrawpoolbump.cpp +++ b/indra/newview/lldrawpoolbump.cpp @@ -1073,8 +1073,8 @@ LLViewerTexture* LLBumpImageList::getBrightnessDarknessImage(LLViewerFetchedText  		if (!src_image->hasCallbacks())  		{ //if image has no callbacks but resolutions don't match, trigger raw image loaded callback again  			if (src_image->getWidth() != bump->getWidth() || -				src_image->getHeight() != bump->getHeight() || -				(LLPipeline::sRenderDeferred && bump->getComponents() != 4)) +				src_image->getHeight() != bump->getHeight())// || +				//(LLPipeline::sRenderDeferred && bump->getComponents() != 4))  			{  				src_image->setBoostLevel(LLViewerTexture::BOOST_BUMP) ;  				src_image->setLoadedCallback( callback_func, 0, TRUE, FALSE, new LLUUID(src_image->getID()), NULL ); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 4c4ff26df8..61a8f604ba 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -704,19 +704,22 @@ BOOL LLVOVolume::isVisible() const  	return FALSE ;  } -void LLVOVolume::updateTextureVirtualSize() +void LLVOVolume::updateTextureVirtualSize(bool forced)  {  	LLFastTimer ftm(FTM_VOLUME_TEXTURES);  	// Update the pixel area of all faces -	if(!isVisible()) +	if(!forced)  	{ -		return ; -	} +		if(!isVisible()) +		{ +			return ; +		} -	if (!gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_SIMPLE)) -	{ -		return; +		if (!gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_SIMPLE)) +		{ +			return; +		}  	}  	static LLCachedControl<bool> dont_load_textures(gSavedSettings,"TextureDisable"); @@ -3993,7 +3996,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)  		}  		llassert_always(vobj); -		vobj->updateTextureVirtualSize(); +		vobj->updateTextureVirtualSize(true);  		vobj->preRebuild();  		drawablep->clearState(LLDrawable::HAS_ALPHA); diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index fc00f0c0d0..13565cb27c 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -206,7 +206,7 @@ public:  	/*virtual*/ BOOL	updateLOD();  				void	updateRadius();  	/*virtual*/ void	updateTextures(); -				void	updateTextureVirtualSize(); +				void	updateTextureVirtualSize(bool forced = false);  				void	updateFaceFlags();  				void	regenFaces(); | 
