diff options
| -rw-r--r-- | NORSPEC-207.patch | 164 | ||||
| -rw-r--r-- | indra/llwindow/llopenglview-objc.h | 1 | ||||
| -rw-r--r-- | indra/llwindow/llopenglview-objc.mm | 12 | ||||
| -rwxr-xr-x | indra/newview/llfilepicker.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llfloaterimcontainer.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llviewerkeyboard.cpp | 5 | ||||
| -rwxr-xr-x | indra/newview/pipeline.cpp | 4 | 
7 files changed, 21 insertions, 169 deletions
| diff --git a/NORSPEC-207.patch b/NORSPEC-207.patch deleted file mode 100644 index a1c1447bda..0000000000 --- a/NORSPEC-207.patch +++ /dev/null @@ -1,164 +0,0 @@ -diff -r fe4bab01522e indra/llprimitive/llrendermaterialtable.cpp ---- a/indra/llprimitive/llrendermaterialtable.cpp	Wed May 15 17:57:21 2013 +0000 -+++ b/indra/llprimitive/llrendermaterialtable.cpp	Wed May 22 14:23:04 2013 -0700 -@@ -184,6 +184,44 @@ - 	} - } -  -+// 'v' is an integer value for 100ths of radians (don't ask...) -+// -+void LLRenderMaterialEntry::LLRenderMaterial::setSpecularMapRotation(S32 v) const -+{ -+	// Store the fact that we're using the new rotation rep -+	// -+	m_flags |= kNewSpecularMapRotation; -+ -+	// Store 'sign bit' in our m_flags -+	// -+	m_flags &= ~kSpecularMapRotationNegative; -+	m_flags |= (specularMapRotation < 0) ? kSpecularMapRotationNegative : 0; -+ -+	specularRotation = abs(specularRotation); -+	specularRotation = llmin(specularRotation, MAX_MATERIAL_MAP_ROTATION); -+ -+	m_specularRotation = (U16)(abs(specularMapRotation)); -+} -+ -+// 'v' is an integer value for 100ths of radians (don't ask...) -+// -+void LLRenderMaterialEntry::LLRenderMaterial::setNormalMapRotation(S32 v) const -+{ -+ -+	// Store the fact that we're using the new rep for this material -+	// -+	m_flags |= kNewNormalMapRotation; -+ -+	// Store 'sign bit' in our m_flags -+	// -+	m_flags &= ~kNormalMapRotationNegative; -+	m_flags |= (normalMapRotation < 0) ? kNormalMapRotationNegative : 0; -+ -+	normalRotation = abs(normalRotation); -+	normalRotation = llmin(normalRotation, MAX_MATERIAL_MAP_ROTATION); -+ -+	m_normalRotation = (U16)(abs(normalMapRotation)); -+} -  - void LLRenderMaterialEntry::LLRenderMaterial::asLLSD( LLSD& dest ) const - { -@@ -193,20 +231,45 @@ - 	dest["NormOffsetY"] = (S32)m_normalOffsetY; - 	dest["NormRepeatX"] = m_normalRepeatX; - 	dest["NormRepeatY"] = m_normalRepeatY; --	dest["NormRotation"] = (S32)m_normalRotation; -+ -+	S32 value = (S32)m_normalMapRotation; -+ -+	// If we don't have the flag for new rotations set, -+	// then we need to convert it now -+	if (!(m_flags & kNewNormalMapRotation)) -+	{ -+		F32 old_radians = ((F32)m_normalMapRotation / 10000.0f) -+		S32 new_val	    = (S32)(old_radians * 100.0f); -+		setNormalMapRotation(new_Val); -+	} -+ -+	dest["NormRotation"] = (m_flags & kNormalMapRotationNegative) ? -(S32)m_normalRotation : (S32)m_normalRotation; -  - 	dest["SpecOffsetX"] = (S32)m_specularOffsetX; - 	dest["SpecOffsetY"] = (S32)m_specularOffsetY; - 	dest["SpecRepeatX"] = m_specularRepeatX; - 	dest["SpecRepeatY"] = m_specularRepeatY; --	dest["SpecRotation"] = (S32)m_specularRotation; -+ -+ -+	value = (S32)m_specularRotation; -+ -+	// If we don't have the flag for new rotations set, -+	// then we need to convert it now -+	if (!(m_flags & kNewSpecularMapRotation)) -+	{ -+		F32 old_radians = ((F32)m_specularMapRotation / 10000.0f) -+		S32 new_val	    = (S32)(old_radians * 100.0f); -+		setSpecularMapRotation(new_Val); -+	} -+ -+	dest["SpecRotation"] = (m_flags & kSpecularMapRotationNegative) ? -(S32)m_specularRotation : (S32)m_specularRotation; -  - 	dest["SpecMap"] = m_specularMap; - 	dest["SpecColor"] = m_specularLightColor.getValue(); - 	dest["SpecExp"] = (S32)m_specularLightExponent; - 	dest["EnvIntensity"] = (S32)m_environmentIntensity; - 	dest["AlphaMaskCutoff"] = (S32)m_alphaMaskCutoff; --	dest["DiffuseAlphaMode"] = (S32)m_diffuseAlphaMode; -+	dest["DiffuseAlphaMode"] = (S32)(m_diffuseAlphaMode & 0xF); - 	 - } -  -@@ -217,7 +280,10 @@ - 	m_normalOffsetY = (U16)materialDefinition["NormOffsetY"].asInteger(); - 	m_normalRepeatX = materialDefinition["NormRepeatX"].asInteger(); - 	m_normalRepeatY = materialDefinition["NormRepeatY"].asInteger(); --	m_normalRotation = (U16)materialDefinition["NormRotation"].asInteger(); -+ -+	S32 normalRotation = materialDefinition["NormRotation"].asInteger(); -+ -+	setNormalMapRotation(normalRotation); -  - 	m_specularMap = materialDefinition["SpecMap"].asUUID(); -  -@@ -225,7 +291,10 @@ - 	m_specularOffsetY = (U16)materialDefinition["SpecOffsetY"].asInteger(); - 	m_specularRepeatX = materialDefinition["SpecRepeatX"].asInteger(); - 	m_specularRepeatY = materialDefinition["SpecRepeatY"].asInteger(); --	m_specularRotation = (U16)materialDefinition["SpecRotation"].asInteger(); -+ -+	S32 specularRotation = materialDefinition["SpecRotation"].asInteger(); -+ -+	setSpecularMapRotation(specularRotation); -  - 	m_specularLightColor.setValue( materialDefinition["SpecColor"] ); - 	m_specularLightExponent = (U8)materialDefinition["SpecExp"].asInteger(); -diff -r fe4bab01522e indra/llprimitive/llrendermaterialtable.h ---- a/indra/llprimitive/llrendermaterialtable.h	Wed May 15 17:57:21 2013 +0000 -+++ b/indra/llprimitive/llrendermaterialtable.h	Wed May 22 14:23:04 2013 -0700 -@@ -89,11 +89,17 @@ -  - 	void computeID(); -  -+ - 	struct LLRenderMaterial - 	{ - 		void asLLSD( LLSD& dest ) const; - 		void setFromLLSD( const LLSD& materialDefinition ); -  -+		void setNormalMapRotation(S32 v); -+		void setSpecularMapRotation(S32 v); -+ -+		const S32 MAX_MATERIAL_MAP_ROTATION = 62800; -+ - 		// 36 bytes - 		LLUUID m_normalMap; - 		LLUUID m_specularMap; -@@ -119,7 +125,20 @@ - 		U8 m_specularLightExponent; - 		U8 m_environmentIntensity; - 		U8 m_alphaMaskCutoff; --		U8 m_diffuseAlphaMode; -+		U8 m_diffuseAlphaMode : 4; -+		U8 m_flags            : 4; -+	}; -+ -+	// Flags stored in LLRenderMaterial::m_flags to differentiate 'old' rotation format -+	// which doesn't handle negative or large rotations correctly from new format. -+	// All ancient materials will have these flags unset as the values for diffuseAlphaMode -+	// from which the bits were stolen never used more than the bottom 2 bits. -+	// -+	enum RenderMaterialFlags { -+	 kNewNormalMapRotation 		= 0x1, -+	 kNewSpecularMapRotation 	= 0x2, -+	 kNormalMapRotationNegative 	= 0x4, -+	 kSpecularMapRotationNegative   = 0x8 - 	}; -  - 	friend struct eastl::hash<LLRenderMaterial>; diff --git a/indra/llwindow/llopenglview-objc.h b/indra/llwindow/llopenglview-objc.h index 41837b1eb4..1e0e47cd02 100644 --- a/indra/llwindow/llopenglview-objc.h +++ b/indra/llwindow/llopenglview-objc.h @@ -65,6 +65,7 @@  - (unsigned long) getVramSize;  - (void) allowMarkedTextInput:(bool)allowed; +- (void) viewDidEndLiveResize;  @end diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm index 5f34d03c35..7415c9d8dc 100644 --- a/indra/llwindow/llopenglview-objc.mm +++ b/indra/llwindow/llopenglview-objc.mm @@ -91,6 +91,13 @@ attributedStringInfo getSegments(NSAttributedString *str)  @implementation LLOpenGLView +// Force a high quality update after live resizing +- (void) viewDidEndLiveResize +{ +    NSSize size = [self frame].size; +    callResize(size.width, size.height); +} +  - (unsigned long)getVramSize  {      CGLRendererInfoObj info = 0; @@ -119,9 +126,8 @@ attributedStringInfo getSegments(NSAttributedString *str)  - (void)windowResized:(NSNotification *)notification;  { -	NSSize size = [self frame].size; -	 -	callResize(size.width, size.height); +	//NSSize size = [self frame].size; +	//callResize(size.width, size.height);  }  - (void)dealloc diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index b26d520557..c151b51c23 100755 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -857,6 +857,8 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename)  			success = false;  	} +	send_agent_resume(); +  	// Account for the fact that the app has been stalled.  	LLFrameTimer::updateFrameTime();  	return success; diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 836a455a67..2c3b34e128 100755 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -1609,7 +1609,7 @@ LLConversationItem* LLFloaterIMContainer::addConversationListItem(const LLUUID&  	// Create the participants widgets now  	// Note: usually, we do not get an updated avatar list at that point -	if (uuid.isNull() || im_sessionp && !im_sessionp->isP2PSessionType()) +	if (uuid.isNull() || (im_sessionp && !im_sessionp->isP2PSessionType()))  	{  		LLFolderViewModelItemCommon::child_list_t::const_iterator current_participant_model = item->getChildrenBegin();  		LLFolderViewModelItemCommon::child_list_t::const_iterator end_participant_model = item->getChildrenEnd(); diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp index 47a8a04b63..2fbb3bf868 100755 --- a/indra/newview/llviewerkeyboard.cpp +++ b/indra/newview/llviewerkeyboard.cpp @@ -534,6 +534,11 @@ void stop_moving( EKeystate s )  void start_chat( EKeystate s )  { +    if (LLAppViewer::instance()->quitRequested()) +    { +        return; // can't talk, gotta go, kthxbye! +    } +      	// start chat  	LLFloaterIMNearbyChat::startChat(NULL);  } diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 4445539ac2..e00d22023a 100755 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -958,11 +958,13 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)  			screenFormat = GL_RGBA12;  		} +#if !LL_DARWIN  		if (gGLManager.mGLVersion < 4.f && gGLManager.mIsNVIDIA)  		{  			screenFormat = GL_RGBA16F_ARB;  		} -		 +#endif +          		if (!mScreen.allocate(resX, resY, screenFormat, FALSE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE, samples)) return false;  		if (samples > 0)  		{ | 
