diff options
| author | Rider Linden <rider@lindenlab.com> | 2018-09-12 17:27:04 -0700 | 
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2018-09-12 17:27:04 -0700 | 
| commit | f31b35cb5cba5cdf4985fa411ff45c43afa695b5 (patch) | |
| tree | fdff2d80ac187846d7cf70f6a8e150b58c77a766 | |
| parent | 27a76a7e731bd13fb5d0862a932f40ea5c9c7119 (diff) | |
| parent | a21fa8664b596a6d3dd08d6d9a52bb41515bd159 (diff) | |
Merge
| -rw-r--r-- | indra/newview/featuretable.txt | 4 | ||||
| -rw-r--r-- | indra/newview/featuretable_linux.txt | 4 | ||||
| -rw-r--r-- | indra/newview/featuretable_mac.txt | 4 | ||||
| -rw-r--r-- | indra/newview/llvosky.cpp | 57 | ||||
| -rw-r--r-- | indra/newview/llvosky.h | 12 | 
5 files changed, 58 insertions, 23 deletions
| diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 1d6fb82d10..e6ee458719 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -66,7 +66,7 @@ RenderCompressTextures		1	1  RenderShaderLightingMaxLevel	1	3  RenderDeferred				1	1  RenderDeferredSSAO			1	1 -RenderUseAdvancedAtmospherics 1 1 +RenderUseAdvancedAtmospherics 1 0  RenderShadowDetail			1	2  RenderUseStreamVBO			1	1  RenderFSAASamples			1	16 @@ -317,7 +317,7 @@ WindLightUseAtmosShaders	1	1  WLSkyDetail					1	128  RenderDeferred				1	1  RenderDeferredSSAO			1	1 -RenderUseAdvancedAtmospherics 1 1 +RenderUseAdvancedAtmospherics 1 0  RenderShadowDetail			1	2  RenderFSAASamples			1	2 diff --git a/indra/newview/featuretable_linux.txt b/indra/newview/featuretable_linux.txt index 18feae162f..bc836a99ca 100644 --- a/indra/newview/featuretable_linux.txt +++ b/indra/newview/featuretable_linux.txt @@ -66,7 +66,7 @@ RenderCompressTextures		1	1  RenderShaderLightingMaxLevel	1	3  RenderDeferred				1	1  RenderDeferredSSAO			1	1 -RenderUseAdvancedAtmospherics 1 1 +RenderUseAdvancedAtmospherics 1 0  RenderShadowDetail			1	2  RenderFSAASamples			1	16  RenderMaxTextureIndex		1	16 @@ -316,7 +316,7 @@ WindLightUseAtmosShaders	1	1  WLSkyDetail					1	128  RenderDeferred				1	1  RenderDeferredSSAO			1	1 -RenderUseAdvancedAtmospherics 1 1 +RenderUseAdvancedAtmospherics 1 0  RenderShadowDetail			1	2  RenderFSAASamples			1	2 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 3f5edede98..68202a571f 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -66,7 +66,7 @@ RenderCompressTextures		1	1  RenderShaderLightingMaxLevel	1	3  RenderDeferred				1	1  RenderDeferredSSAO			1	1 -RenderUseAdvancedAtmospherics 1 1 +RenderUseAdvancedAtmospherics 1 0  RenderShadowDetail			1	2  RenderUseStreamVBO			1	1  RenderFSAASamples			1	16 @@ -317,7 +317,7 @@ WindLightUseAtmosShaders	1	1  WLSkyDetail					1	128  RenderDeferred				1	1  RenderDeferredSSAO			1	1 -RenderUseAdvancedAtmospherics 1 1 +RenderUseAdvancedAtmospherics 1 0  RenderShadowDetail			1	2  RenderFSAASamples			1	2 diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp index 52e47ab6ba..231fec46a9 100644 --- a/indra/newview/llvosky.cpp +++ b/indra/newview/llvosky.cpp @@ -56,6 +56,8 @@  #include "lltrace.h"  #include "llfasttimer.h" +#pragma optimize("", off) +  #undef min  #undef max @@ -139,6 +141,32 @@ LLSkyTex::~LLSkyTex()  	mSkyDirs = NULL;  } +S32 LLSkyTex::getResolution() +{ +    return sResolution; +} + +S32 LLSkyTex::getCurrent() +{ +    return sCurrent; +} + +S32 LLSkyTex::stepCurrent() { +    sCurrent++; +    sCurrent &= 1; +    return sCurrent; +} + +S32 LLSkyTex::getNext() +{ +    return ((sCurrent+1) & 1); +} + +S32 LLSkyTex::getWhich(const BOOL curr) +{ +    int tex = curr ? sCurrent : getNext(); +    return tex; +}  void LLSkyTex::initEmpty(const S32 tex)  { @@ -179,9 +207,6 @@ void LLSkyTex::create(const F32 brightness)  	createGLImage(sCurrent);  } - - -  void LLSkyTex::createGLImage(S32 which)  {	  	mTexture[which]->createGLTexture(0, mImageRaw[which], 0, TRUE, LLGLTexture::LOCAL); @@ -190,7 +215,14 @@ void LLSkyTex::createGLImage(S32 which)  void LLSkyTex::bindTexture(BOOL curr)  { -	gGL.getTexUnit(0)->bind(mTexture[getWhich(curr)], true); +    int tex = getWhich(curr); +	gGL.getTexUnit(0)->bind(mTexture[tex], true); +} + +LLImageRaw* LLSkyTex::getImageRaw(BOOL curr) +{ +    int tex = getWhich(curr); +    return mImageRaw[tex];  }  /*************************************** @@ -458,6 +490,7 @@ void LLVOSky::init()  	}  	initCubeMap(); +  	mInitialized = true;  	mHeavenlyBodyUpdated = FALSE ; @@ -673,7 +706,7 @@ bool LLVOSky::updateSky()              mForceUpdateThrottle.setTimerExpirySec(UPDATE_EXPRY); -			LLSkyTex::stepCurrent();			 +			LLSkyTex::stepCurrent();  			if (!direction.isExactlyZero())  			{ @@ -714,6 +747,8 @@ bool LLVOSky::updateSky()  						}  					} +                    int tex = mSkyTex[0].getWhich(TRUE); +  					for (int side = 0; side < 6; side++)   					{                          LLImageRaw* raw1 = nullptr; @@ -721,12 +756,12 @@ bool LLVOSky::updateSky()  						raw1 = mSkyTex[side].getImageRaw(TRUE);  						raw2 = mSkyTex[side].getImageRaw(FALSE);  						raw2->copy(raw1); -						mSkyTex[side].createGLImage(mSkyTex[side].getWhich(FALSE)); +						mSkyTex[side].createGLImage(tex);  						raw1 = mShinyTex[side].getImageRaw(TRUE);  						raw2 = mShinyTex[side].getImageRaw(FALSE);  						raw2->copy(raw1); -						mShinyTex[side].createGLImage(mShinyTex[side].getWhich(FALSE)); +						mShinyTex[side].createGLImage(tex);  					}  					next_frame = 0;	 @@ -748,7 +783,7 @@ bool LLVOSky::updateSky()  				        }  				        mCubeMap->init(images);  				        gGL.getTexUnit(0)->disable(); -			        } +			        }                      				}              } @@ -1504,7 +1539,7 @@ void LLVOSky::setSunAndMoonDirectionsCFR(const LLVector3 &sun_dir_cfr, const LLV  	updateDirections(); -    LLSkyTex::stepCurrent(); +    mForceUpdate = true;  }  void LLVOSky::setSunDirectionCFR(const LLVector3 &sun_dir_cfr) @@ -1531,7 +1566,7 @@ void LLVOSky::setSunDirectionCFR(const LLVector3 &sun_dir_cfr)  	updateDirections(); -    LLSkyTex::stepCurrent(); +    mForceUpdate = true;  }  void LLVOSky::setMoonDirectionCFR(const LLVector3 &moon_dir_cfr) @@ -1540,5 +1575,5 @@ void LLVOSky::setMoonDirectionCFR(const LLVector3 &moon_dir_cfr)  	updateDirections(); -    LLSkyTex::stepCurrent(); +    mForceUpdate = true;  } diff --git a/indra/newview/llvosky.h b/indra/newview/llvosky.h index a6f361f5be..ed190892fe 100644 --- a/indra/newview/llvosky.h +++ b/indra/newview/llvosky.h @@ -74,11 +74,11 @@ protected:  	~LLSkyTex(); -	static S32 getResolution()					{ return sResolution; } -	static S32 getCurrent()						{ return sCurrent; } -	static S32 stepCurrent()					{ sCurrent++; sCurrent &= 1; return sCurrent; } -	static S32 getNext()						{ return ((sCurrent+1) & 1); } -	static S32 getWhich(const BOOL curr)		{ return curr ? sCurrent : getNext(); } +	static S32 getResolution(); +	static S32 getCurrent(); +	static S32 stepCurrent(); +	static S32 getNext(); +	static S32 getWhich(const BOOL curr);  	void initEmpty(const S32 tex); @@ -118,7 +118,7 @@ protected:  		return col;  	} -	LLImageRaw* getImageRaw(BOOL curr=TRUE)			{ return mImageRaw[getWhich(curr)]; } +	LLImageRaw* getImageRaw(BOOL curr=TRUE);  	void createGLImage(BOOL curr=TRUE);  }; | 
