diff options
| -rwxr-xr-x | .hgtags | 6 | ||||
| -rw-r--r-- | doc/contributions.txt | 7 | ||||
| -rw-r--r-- | indra/llui/llscrolllistctrl.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/featuretable.txt | 136 | ||||
| -rw-r--r-- | indra/newview/featuretable_linux.txt | 137 | ||||
| -rw-r--r-- | indra/newview/featuretable_mac.txt | 143 | ||||
| -rw-r--r-- | indra/newview/featuretable_xp.txt | 137 | ||||
| -rw-r--r-- | indra/newview/llautoreplace.cpp | 40 | ||||
| -rw-r--r-- | indra/newview/llautoreplace.h | 3 | ||||
| -rw-r--r-- | indra/newview/lldrawpoolavatar.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llfeaturemanager.cpp | 19 | ||||
| -rw-r--r-- | indra/newview/llfloaterautoreplacesettings.cpp | 46 | ||||
| -rwxr-xr-x | indra/newview/llmeshrepository.cpp | 33 | ||||
| -rw-r--r-- | indra/newview/llmeshrepository.h | 3 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 3 | 
15 files changed, 578 insertions, 146 deletions
| @@ -325,7 +325,6 @@ b61afe175b829c149d369524a4e974dfda99facf DRTVWR-219  e6e553761829dc0270eaaa712b7cb0622535b076 3.4.1-beta3  f00068a66a2e2f72acbe3f690b98b323e740b289 DRTVWR-222  305950187c628a5d6743ee9ea711cc5b9177a18e 3.4.1-beta4 -dd23d4da3bcb2ffda58569e759feb7c119982973 DRTVWR-224  0bd3744ff060452aa13ff4992eafb381df7b1012 3.4.1-beta5  29075f8c1abed53dcf195a59f61744e27a91108f DRTVWR-226  fba99f381b8d4ad1b7b42fa4993b29998d95be18 DRTVWR-179 @@ -379,6 +378,9 @@ c23d734065ed593b2413385aecd8366d8e0ee96b DRTVWR-257  452ce96d4046dc05a3ecaecc203e2cc8ddd72e76 DRTVWR-259  5cba5f39d0a81d659f24ebc4b5efd025a39e3db1 3.4.3-release  9aa1aa9f1fe13c194695a0b8f0af298296241dc2 DRTVWR-260 +daca610d840625b5bebb966a57cb49581852c417 DRTVWR-265 +9afbdc4e24cc04feacfb2b7a10b78a64f780901a DRTVWR-266 +73280db02501f5ad041fc18b1eba68e73a81996c DRTVWR-267 +870e2d79e0063fda87187f17bbc2747766733194 3.4.3-beta3  18c5f76ac07937e0b64bb874edba0d60a28cec56 DRTVWR-244 -dd23d4da3bcb2ffda58569e759feb7c119982973 DRTVWR-224  12655fb818f3b0b08a4638d0cda1ad1f01e5f52f DRTVWR-224 diff --git a/doc/contributions.txt b/doc/contributions.txt index f18985adcd..f53d9f5cfd 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -321,6 +321,7 @@ Dale Glass  	VWR-1358  	VWR-2041  Darien Caldwell +	SH-3055  Dartagan Shepherd  Debs Regent  Decro Schmooz @@ -890,6 +891,8 @@ Nicholaz Beresford  	VWR-2682  	VWR-2684  Nick Rhodes +NickyD +	MAINT-873  Nicky Dasmijn  	VWR-29228  Nicky Perian @@ -1059,9 +1062,12 @@ Shawn Kaufmat  	SNOW-240  Sheet Spotter  Shnurui Troughton +Shyotl Kuhr +	MAINT-1138  Siana Gearz  	STORM-960  	STORM-1088 +	MAINT-1138  sicarius Thorne  Sicarius Toxx  SignpostMarv Martin @@ -1243,6 +1249,7 @@ Westley Streeter  Whimsy Winx  Whirly Fizzle  	STORM-1895 +	MAINT-873  Whoops Babii  	VWR-631  	VWR-1640 diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp index 3e0653e9a4..d332aa933e 100644 --- a/indra/llui/llscrolllistctrl.cpp +++ b/indra/llui/llscrolllistctrl.cpp @@ -580,6 +580,15 @@ BOOL LLScrollListCtrl::addItem( LLScrollListItem* item, EAddPosition pos, BOOL r  			addColumn(col_params);  		} +		S32 num_cols = item->getNumColumns(); +		S32 i = 0; +		for (LLScrollListCell* cell = item->getColumn(i); i < num_cols; cell = item->getColumn(++i)) +		{ +			if (i >= (S32)mColumnsIndexed.size()) break; + +			cell->setWidth(mColumnsIndexed[i]->getWidth()); +		} +  		updateLineHeightInsert(item);  		updateLayout(); diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index e877e15053..4030324ecb 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -97,6 +97,9 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	0  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0 @@ -126,13 +129,16 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0  // -// Mid Graphics Settings +// Medium Low Graphics Settings  // -list Mid +list LowMid  RenderAnisotropic			1	0  RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	0.5 @@ -153,11 +159,74 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0  // -// High Graphics Settings (purty) +// Medium Graphics Settings (standard) +// +list Mid +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1 +RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// Medium High Graphics Settings (deferred enabled) +// +list MidHigh +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1 +RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// High Graphics Settings (deferred + SSAO)  //  list High  RenderAnisotropic			1	1 @@ -180,9 +249,43 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	1 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// High Ultra Graphics Settings (deferred + SSAO + shadows) +// +list HighUltra +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1 +RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	1 +RenderShadowDetail			1	2  WLSkyDetail					1	48  RenderFSAASamples			1	2 +  //  // Ultra graphics (REALLY PURTY!)  // @@ -227,57 +330,36 @@ RenderDeferredSSAO			1	0  //  list Class0  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0  //  // Class 1 Hardware  //  list Class1  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -  //  // Class 2 Hardware  //  list Class2  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -  // -// Class 3 Hardware (deferred enabled) +// Class 3 Hardware  //  list Class3  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	1 -RenderDeferredSSAO			1	0  // -// Class 4 Hardware (deferred + SSAO) +// Class 4 Hardware  //  list Class4  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	1 -RenderDeferredSSAO			1	1  // -// Class 5 Hardware (deferred + SSAO + shadows) +// Class 5 Hardware  //  list Class5  RenderVBOEnable				1	1 -RenderShadowDetail			1	2 -RenderDeferred				1	1 -RenderDeferredSSAO			1	1 -  //  // VRAM > 512MB diff --git a/indra/newview/featuretable_linux.txt b/indra/newview/featuretable_linux.txt index 5699bd9c8a..6d5284c602 100644 --- a/indra/newview/featuretable_linux.txt +++ b/indra/newview/featuretable_linux.txt @@ -94,6 +94,9 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	0.5  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0 @@ -122,13 +125,16 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	0.5  VertexShaderEnable			1	0  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0  // -// Mid Graphics Settings +// Medium Low Graphics Settings  // -list Mid +list LowMid  RenderAnisotropic			1	0  RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	0.5 @@ -137,9 +143,9 @@ RenderAvatarVP				1	1  RenderFarClip				1	96  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	8 -RenderLocalLights			1	1  RenderMaxPartCount			1	2048  RenderObjectBump			1	1 +RenderLocalLights			1	1  RenderReflectionDetail		1	0  RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	1.0 @@ -149,11 +155,74 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0  // -// High Graphics Settings (purty) +// Medium Graphics Settings (standard) +// +list Mid +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1 +RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// Medium High Graphics Settings (deferred enabled) +// +list MidHigh +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1 +RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// High Graphics Settings (deferred + SSAO)  //  list High  RenderAnisotropic			1	1 @@ -164,9 +233,39 @@ RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1  RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	1 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// High Ultra Graphics Settings (deferred + SSAO + shadows) +// +list HighUltra +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9  RenderMaxPartCount			1	4096  RenderObjectBump			1	1 +RenderLocalLights			1	1  RenderReflectionDetail		1	0  RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0 @@ -176,6 +275,9 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	1 +RenderShadowDetail			1	2  WLSkyDetail					1	48  RenderFSAASamples			1	2 @@ -223,56 +325,37 @@ RenderDeferredSSAO			1	0  //  list Class0  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0  //  // Class 1 Hardware  //  list Class1  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -  //  // Class 2 Hardware  //  list Class2  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -  // -// Class 3 Hardware (deferred enabled) +// Class 3 Hardware  //  list Class3  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	1 -RenderDeferredSSAO			1	0  // -// Class 4 Hardware (deferred + SSAO) +// Class 4 Hardware   //  list Class4  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	1 -RenderDeferredSSAO			1	1  // -// Class 5 Hardware (deferred + SSAO + shadows) +// Class 5 Hardware   //  list Class5  RenderVBOEnable				1	1 -RenderShadowDetail			1	2 -RenderDeferred				1	1 -RenderDeferredSSAO			1	1 +  //  // VRAM > 512MB  // diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 3a91f19c58..1c0d45c11b 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -1,4 +1,4 @@ -version 34 +version 35  // The version number above should be implemented IF AND ONLY IF some  // change has been made that is sufficiently important to justify  // resetting the graphics preferences of all users to the recommended @@ -96,6 +96,9 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	0.5  VertexShaderEnable			1	0  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0 @@ -124,13 +127,16 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	0.5  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0  // -// Mid Graphics Settings +// Medium Low Graphics Settings  // -list Mid +list LowMid  RenderAnisotropic			1	0  RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	0.5 @@ -139,9 +145,9 @@ RenderAvatarVP				1	1  RenderFarClip				1	96  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	8 -RenderLocalLights			1	1  RenderMaxPartCount			1	2048  RenderObjectBump			1	1 +RenderLocalLights			1	1  RenderReflectionDetail		1	0  RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	1.0 @@ -151,11 +157,74 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0  // -// High Graphics Settings (purty) +// Medium Graphics Settings (standard) +// +list Mid +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1 +RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// Medium High Graphics Settings (deferred enabled) +// +list MidHigh +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1 +RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// High Graphics Settings (deferred + SSAO)  //  list High  RenderAnisotropic			1	1 @@ -166,9 +235,39 @@ RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1  RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	1 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// High Ultra Graphics Settings (deferred + SSAO + shadows) +// +list HighUltra +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9  RenderMaxPartCount			1	4096  RenderObjectBump			1	1 +RenderLocalLights			1	1  RenderReflectionDetail		1	0  RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0 @@ -178,9 +277,13 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	1 +RenderShadowDetail			1	2  WLSkyDetail					1	48  RenderFSAASamples			1	2 +  //  // Ultra graphics (REALLY PURTY!)  // @@ -216,65 +319,41 @@ RenderFSAASamples			1	2  //  list Unknown  RenderVBOEnable				1	0 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0  //  // Class 0 Hardware (just old)  //  list Class0  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0  //  // Class 1 Hardware  //  list Class1  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -  //  // Class 2 Hardware  //  list Class2  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -  // -// Class 3 Hardware (deferred enabled) +// Class 3 Hardware  //  list Class3  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	1 -RenderDeferredSSAO			1	0 -  // -// Class 4 Hardware (deferred + SSAO) +// Class 4 Hardware  //  list Class4  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	1 -RenderDeferredSSAO			1	1  // -// Class 5 Hardware (deferred + SSAO + shadows) +// Class 5 Hardware  //  list Class5  RenderVBOEnable				1	1 -RenderShadowDetail			1	2 -RenderDeferred				1	1 -RenderDeferredSSAO			1	1  //  // No Pixel Shaders available diff --git a/indra/newview/featuretable_xp.txt b/indra/newview/featuretable_xp.txt index ad16e2533b..68e09d010e 100644 --- a/indra/newview/featuretable_xp.txt +++ b/indra/newview/featuretable_xp.txt @@ -96,6 +96,9 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	0.5  VertexShaderEnable			1	0  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0 @@ -124,13 +127,16 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	0.5  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0  // -// Mid Graphics Settings +// Medium Low Graphics Settings  // -list Mid +list LowMid  RenderAnisotropic			1	0  RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	0.5 @@ -139,9 +145,9 @@ RenderAvatarVP				1	1  RenderFarClip				1	96  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	8 -RenderLocalLights			1	1  RenderMaxPartCount			1	2048  RenderObjectBump			1	1 +RenderLocalLights			1	1  RenderReflectionDetail		1	0  RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	1.0 @@ -151,11 +157,74 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	0 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0  WLSkyDetail					1	48  RenderFSAASamples			1	0  // -// High Graphics Settings (purty) +// Medium Graphics Settings (standard) +// +list Mid +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1 +RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	0 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// Medium High Graphics Settings (deferred enabled) +// +list MidHigh +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1 +RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	0 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// High Graphics Settings (deferred + SSAO)  //  list High  RenderAnisotropic			1	1 @@ -166,9 +235,39 @@ RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 +RenderMaxPartCount			1	4096 +RenderObjectBump			1	1  RenderLocalLights			1	1 +RenderReflectionDetail		1	0 +RenderTerrainDetail			1	1 +RenderTerrainLODFactor		1	2.0 +RenderTransparentWater		1	1 +RenderTreeLODFactor			1	0.5 +RenderUseImpostors			1	1 +RenderVolumeLODFactor		1	1.125 +VertexShaderEnable			1	1 +WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	1 +RenderShadowDetail			1	0 +WLSkyDetail					1	48 +RenderFSAASamples			1	2 + +// +// High Ultra Graphics Settings (deferred + SSAO + shadows) +// +list HighUltra +RenderAnisotropic			1	1 +RenderAvatarCloth			1	0 +RenderAvatarLODFactor		1	1.0 +RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarVP				1	1 +RenderFarClip				1	128 +RenderFlexTimeFactor		1	1.0 +RenderGlowResolutionPow		1	9  RenderMaxPartCount			1	4096  RenderObjectBump			1	1 +RenderLocalLights			1	1  RenderReflectionDetail		1	0  RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0 @@ -178,6 +277,9 @@ RenderUseImpostors			1	1  RenderVolumeLODFactor		1	1.125  VertexShaderEnable			1	1  WindLightUseAtmosShaders	1	1 +RenderDeferred				1	1 +RenderDeferredSSAO			1	1 +RenderShadowDetail			1	2  WLSkyDetail					1	48  RenderFSAASamples			1	2 @@ -216,65 +318,42 @@ RenderFSAASamples			1	2  //  list Unknown  RenderVBOEnable				1	0 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0  //  // Class 0 Hardware (just old)  //  list Class0  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0  //  // Class 1 Hardware  //  list Class1  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -  //  // Class 2 Hardware  //  list Class2  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -  // -// Class 3 Hardware (deferred enabled) +// Class 3 Hardware  //  list Class3  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	1 -RenderDeferredSSAO			1	0  //  // Class 4 Hardware (deferred + SSAO)  //  list Class4  RenderVBOEnable				1	1 -RenderShadowDetail			1	0 -RenderDeferred				1	1 -RenderDeferredSSAO			1	1  // -// Class 5 Hardware (deferred + SSAO + shadows) +// Class 5 Hardware  //  list Class5  RenderVBOEnable				1	1 -RenderShadowDetail			1	2 -RenderDeferred				1	1 -RenderDeferredSSAO			1	1  //  // VRAM > 512MB diff --git a/indra/newview/llautoreplace.cpp b/indra/newview/llautoreplace.cpp index 0f1ce2bcd0..d71cf290d6 100644 --- a/indra/newview/llautoreplace.cpp +++ b/indra/newview/llautoreplace.cpp @@ -536,6 +536,46 @@ LLAutoReplaceSettings::AddListResult LLAutoReplaceSettings::addList(const LLSD&  	return result;  } +LLAutoReplaceSettings::AddListResult LLAutoReplaceSettings::replaceList(const LLSD& newList) +{ +	AddListResult result = AddListInvalidList; +	if ( listIsValid( newList ) ) +	{ +		std::string listName = newList[AUTOREPLACE_LIST_NAME].asString(); +		bool listFound = false; +		S32 search_index; +		LLSD targetList; +		// The following is working around the fact that LLSD arrays containing maps also seem to have undefined entries... see LLSD-30 +		for ( search_index = 0, targetList = mLists[0]; +			  !listFound && search_index < mLists.size(); +			  search_index += 1, targetList = mLists[search_index] +			 ) +		{ +			if ( targetList.isMap() ) +			{ +				if ( listNameMatches( targetList, listName) ) +				{ +					LL_DEBUGS("AutoReplace")<<"list to replace found at "<<search_index<<LL_ENDL; +					mLists.erase(search_index); +					mLists.insert(search_index, newList); +					listFound = true; +					result = AddListOk; +				} +			} +		} +		 +		if ( ! listFound ) +		{ +			LL_WARNS("AutoReplace") << "attempt to replace unconfigured list" << LL_ENDL; +		} +	} +	else +	{ +		LL_WARNS("AutoReplace") << "attempt to add invalid list" << LL_ENDL; +	} +	return result; +} +  bool LLAutoReplaceSettings::removeReplacementList(std::string listName)  {  	bool found = false; diff --git a/indra/newview/llautoreplace.h b/indra/newview/llautoreplace.h index 30b1fd2c65..f720cc4eda 100644 --- a/indra/newview/llautoreplace.h +++ b/indra/newview/llautoreplace.h @@ -67,6 +67,9 @@ class LLAutoReplaceSettings  	/// Inserts a new list at the end of the priority order  	AddListResult addList(const LLSD& newList); +	/// Inserts a list in place of an existing list of the same name +	AddListResult replaceList(const LLSD& newList); +  	/// Removes the named list, @returns false if not found  	bool removeReplacementList(std::string listName); diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 730ad1a364..0e15f474c9 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1630,6 +1630,7 @@ void LLDrawPoolAvatar::renderRiggedAlpha(LLVOAvatar* avatar)  						LLRender::BF_ONE_MINUS_SOURCE_ALPHA);  		renderRigged(avatar, RIGGED_ALPHA); +		gGL.setColorMask(true, false);  	}  } @@ -1646,6 +1647,7 @@ void LLDrawPoolAvatar::renderRiggedFullbrightAlpha(LLVOAvatar* avatar)  						LLRender::BF_ONE_MINUS_SOURCE_ALPHA);  		renderRigged(avatar, RIGGED_FULLBRIGHT_ALPHA); +		gGL.setColorMask(true, false);  	}  } diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp index 24a27c5146..2b39b771e7 100644 --- a/indra/newview/llfeaturemanager.cpp +++ b/indra/newview/llfeaturemanager.cpp @@ -499,6 +499,10 @@ void LLFeatureManager::parseGPUTable(std::string filename)  	{  		LL_WARNS("RenderInit") << "GPU '" << rawRenderer << "' not recognized" << LL_ENDL;  	} + +#if LL_DARWIN // never go over "Mid" settings by default on OS X +	mGPUClass = llmin(mGPUClass, GPU_CLASS_2); +#endif  }  // responder saves table into file @@ -708,34 +712,27 @@ void LLFeatureManager::setGraphicsLevel(S32 level, bool skipFeatures)  			{ //same as low, but with "Basic Shaders" enabled  				maskFeatures("Low");  			} -			maskFeatures("Class0");  			break;  		case 1: -			maskFeatures("Mid"); -			maskFeatures("Class1"); +			maskFeatures("LowMid");  			break;  		case 2: -			maskFeatures("High"); -			maskFeatures("Class2"); +			maskFeatures("Mid");  			break;  		case 3: -			maskFeatures("High"); -			maskFeatures("Class3"); +			maskFeatures("MidHigh");  			break;  		case 4:  			maskFeatures("High"); -			maskFeatures("Class4");  			break;  		case 5: -			maskFeatures("High"); -			maskFeatures("Class5"); +			maskFeatures("HighUltra");  			break;  		case 6:  			maskFeatures("Ultra");  			break;  		default:  			maskFeatures("Low"); -			maskFeatures("Class0");  			break;  	} diff --git a/indra/newview/llfloaterautoreplacesettings.cpp b/indra/newview/llfloaterautoreplacesettings.cpp index 7d1bcba978..6e56e929df 100644 --- a/indra/newview/llfloaterautoreplacesettings.cpp +++ b/indra/newview/llfloaterautoreplacesettings.cpp @@ -478,14 +478,25 @@ bool LLFloaterAutoReplaceSettings::callbackNewListName(const LLSD& notification,  bool LLFloaterAutoReplaceSettings::callbackListNameConflict(const LLSD& notification, const LLSD& response)  {  	LLSD newList = notification["payload"]["list"]; - +	std::string listName = LLAutoReplaceSettings::getListName(newList); +	  	S32 option = LLNotificationsUtil::getSelectedOption(notification, response);  	switch ( option )  	{  	case 0:  		// Replace current list -		LL_INFOS("AutoReplace")<<"option 'replace current list' selected"<<LL_ENDL; -		 +		if ( LLAutoReplaceSettings::AddListOk == mSettings.replaceList(newList) ) +		{ +			LL_INFOS("AutoReplace") << "replaced list '"<<listName<<"'"<<LL_ENDL; +			mSelectedListName = listName; +			updateListNames(); +			updateListNamesControls(); +			updateReplacementsList(); +		} +		else +		{ +			LL_WARNS("AutoReplace")<<"failed to replace list '"<<listName<<"'"<<LL_ENDL; +		}  		break;  	case 1: @@ -503,14 +514,27 @@ bool LLFloaterAutoReplaceSettings::callbackListNameConflict(const LLSD& notifica  void LLFloaterAutoReplaceSettings::onDeleteList()  { -	std::string listName= mListNames->getFirstSelected()->getColumn(0)->getValue().asString(); -	mSettings.removeReplacementList(listName); // remove from the copy of settings -	mReplacementsList->deleteSelectedItems();   // remove from the scrolling list - -	mSelectedListName.clear(); -	updateListNames(); -	updateListNamesControls(); -	updateReplacementsList(); +	std::string listName = mListNames->getSelectedValue().asString(); +	if ( ! listName.empty() ) +	{ +		if ( mSettings.removeReplacementList(listName) ) +		{ +			LL_INFOS("AutoReplace")<<"deleted list '"<<listName<<"'"<<LL_ENDL; +			mReplacementsList->deleteSelectedItems();   // remove from the scrolling list +			mSelectedListName.clear(); +			updateListNames(); +			updateListNamesControls(); +			updateReplacementsList(); +		} +		else +		{ +			LL_WARNS("AutoReplace")<<"failed to delete list '"<<listName<<"'"<<LL_ENDL; +		} +	} +	else +	{ +		LL_DEBUGS("AutoReplace")<<"no list selected for delete"<<LL_ENDL; +	}  }  void LLFloaterAutoReplaceSettings::onExportList() diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index ba0a590910..92ac435f08 100755 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -361,7 +361,20 @@ public:  		mModelData(model_data),  		mObserverHandle(observer_handle)  	{ +		if (mThread) +		{ +			mThread->startRequest(); +		} +	} + +	~LLWholeModelFeeResponder() +	{ +		if (mThread) +		{ +			mThread->stopRequest(); +		}  	} +  	virtual void completed(U32 status,  						   const std::string& reason,  						   const LLSD& content) @@ -372,7 +385,6 @@ public:  			cc = llsd_from_file("fake_upload_error.xml");  		} -		mThread->mPendingUploads--;  		dump_llsd_to_file(cc,make_dump_name("whole_model_fee_response_",dump_num));  		LLWholeModelFeeObserver* observer = mObserverHandle.get(); @@ -415,7 +427,20 @@ public:  		mModelData(model_data),  		mObserverHandle(observer_handle)  	{ +		if (mThread) +		{ +			mThread->startRequest(); +		} +	} + +	~LLWholeModelUploadResponder() +	{ +		if (mThread) +		{ +			mThread->stopRequest(); +		}  	} +  	virtual void completed(U32 status,  						   const std::string& reason,  						   const LLSD& content) @@ -426,7 +451,6 @@ public:  			cc = llsd_from_file("fake_upload_error.xml");  		} -		mThread->mPendingUploads--;  		dump_llsd_to_file(cc,make_dump_name("whole_model_upload_response_",dump_num));  		LLWholeModelUploadObserver* observer = mObserverHandle.get(); @@ -1622,7 +1646,7 @@ void LLMeshUploadThread::doWholeModelUpload()  			mCurlRequest->process();  			//sleep for 10ms to prevent eating a whole core  			apr_sleep(10000); -		} while (!LLAppViewer::isQuitting() && mCurlRequest->getQueued() > 0); +		} while (!LLAppViewer::isQuitting() && mPendingUploads > 0);  	}  	delete mCurlRequest; @@ -1644,7 +1668,6 @@ void LLMeshUploadThread::requestWholeModelFee()  	wholeModelToLLSD(model_data,false);  	dump_llsd_to_file(model_data,make_dump_name("whole_model_fee_request_",dump_num)); -	mPendingUploads++;  	LLCurlRequest::headers_t headers;  	{ @@ -1661,7 +1684,7 @@ void LLMeshUploadThread::requestWholeModelFee()  		mCurlRequest->process();  		//sleep for 10ms to prevent eating a whole core  		apr_sleep(10000); -	} while (!LLApp::isQuitting() && mCurlRequest->getQueued() > 0); +	} while (!LLApp::isQuitting() && mPendingUploads > 0);  	delete mCurlRequest;  	mCurlRequest = NULL; diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h index da81bb057b..6e301c26a2 100644 --- a/indra/newview/llmeshrepository.h +++ b/indra/newview/llmeshrepository.h @@ -405,6 +405,9 @@ public:  					   LLHandle<LLWholeModelFeeObserver> fee_observer= (LLHandle<LLWholeModelFeeObserver>()), LLHandle<LLWholeModelUploadObserver> upload_observer = (LLHandle<LLWholeModelUploadObserver>()));  	~LLMeshUploadThread(); +	void startRequest() { ++mPendingUploads; } +	void stopRequest() { --mPendingUploads; } +  	bool finished() { return mFinished; }  	virtual void run();  	void preStart(); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 5d1c335078..538911e9b8 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -1483,7 +1483,7 @@ BOOL LLVOVolume::genBBoxes(BOOL force_global)  	updateRadius();  	mDrawable->movePartition(); -			 +				  	return res;  } @@ -3583,7 +3583,6 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector3& start, const LLVector3& e  		if (LLFloater::isVisible(gFloaterTools) && getAvatar()->isSelf())  		{  			updateRiggedVolume(); -			genBBoxes(FALSE);  			volume = mRiggedVolume;  			transform = false;  		} | 
