From 65c2a461210b5a6257c3fac2f6541593a2be0728 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 2 May 2011 17:02:44 -0500 Subject: [PATCH 01/10] Workaround for depth+stencil blitting on AMD(Ati) hardware, plus alteration to blitting to framebuffer when using MSAA. --- indra/llrender/llrendertarget.cpp | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/indra/llrender/llrendertarget.cpp b/indra/llrender/llrendertarget.cpp index d9f4f3430..106b93a21 100644 --- a/indra/llrender/llrendertarget.cpp +++ b/indra/llrender/llrendertarget.cpp @@ -399,7 +399,13 @@ void LLRenderTarget::flush(BOOL fetch_depth) check_framebuffer_status(); stop_glerror(); - glBlitFramebufferEXT(0, 0, mResX, mResY, 0, 0, mResX, mResY, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT, GL_NEAREST); + if(gGLManager.mIsATI) + { + glBlitFramebufferEXT(0, 0, mResX, mResY, 0, 0, mResX, mResY, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT, GL_NEAREST); + glBlitFramebufferEXT(0, 0, mResX, mResY, 0, 0, mResX, mResY, GL_STENCIL_BUFFER_BIT, GL_NEAREST); + } + else + glBlitFramebufferEXT(0, 0, mResX, mResY, 0, 0, mResX, mResY, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT, GL_NEAREST); stop_glerror(); if (mTex.size() > 1) @@ -465,7 +471,13 @@ void LLRenderTarget::copyContents(LLRenderTarget& source, S32 srcX0, S32 srcY0, stop_glerror(); check_framebuffer_status(); stop_glerror(); - glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + if(gGLManager.mIsATI && mask & GL_STENCIL_BUFFER_BIT) + { + mask &= ~GL_STENCIL_BUFFER_BIT; + glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, GL_STENCIL_BUFFER_BIT, filter); + } + if(mask) + glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); stop_glerror(); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); stop_glerror(); @@ -482,13 +494,19 @@ void LLRenderTarget::copyContentsToFramebuffer(LLRenderTarget& source, S32 srcX0 llerrs << "Cannot copy framebuffer contents for non FBO render targets." << llendl; } { - glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, source.mFBO); + glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, source.mSampleBuffer ? source.mSampleBuffer->mFBO : source.mFBO); stop_glerror(); glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, 0); stop_glerror(); check_framebuffer_status(); stop_glerror(); - glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + if(gGLManager.mIsATI && mask & GL_STENCIL_BUFFER_BIT) + { + mask &= ~GL_STENCIL_BUFFER_BIT; + glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, GL_STENCIL_BUFFER_BIT, filter); + } + if(mask) + glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); stop_glerror(); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); stop_glerror(); From 3dff32d2ab3fd8711b178af5b6bc492b5ca9641a Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 2 May 2011 17:05:06 -0500 Subject: [PATCH 02/10] Now that depth blitting appears to work, moving hovertext and such to ui render. Also, added depth-culling in a few more spots to hopefully lessen frag shader usage in deferred. --- indra/newview/pipeline.cpp | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 2d87c96c2..e10b64409 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -544,7 +544,7 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY) stop_glerror(); } - else if (LLPipeline::sRenderDeferred) + if (LLPipeline::sRenderDeferred) { //share depth buffer between deferred targets mDeferredScreen.shareDepthBuffer(mScreen); for (U32 i = 0; i < 2; i++) @@ -2622,7 +2622,7 @@ void render_hud_elements() //TO-DO: //V2 moved this line from LLPipeline::renderGeom //Uncomment once multisample z-buffer issues are figured out on ati cards. - // LLHUDObject::renderAll(); + LLHUDObject::renderAll(); //gObjectList.resetObjectBeacons(); } @@ -2949,7 +2949,7 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate) //TO-DO: //V2 moved this line to LLPipeline::render_hud_elements //Migrate once multisample z-buffer issues are figured out on ati cards. - LLHUDObject::renderAll(); + //LLHUDObject::renderAll(); gObjectList.resetObjectBeacons(); } else @@ -3181,7 +3181,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera) //TO-DO: //V2 moved block to LLPipeline::renderDeferredLighting //Migrate once multisample z-buffer issues are figured out on ati cards. - if(!sImpostorRender) + /*if(!sImpostorRender) { renderHighlights(); mHighlightFaces.clear(); @@ -3202,7 +3202,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera) // Make sure particle effects disappear LLHUDObject::renderAllForTimer(); } - } + }*/ //END if (occlude) @@ -5596,11 +5596,11 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield, b //TO-DO: //V2 requires this for hover text and such since they have been pulled out of geom render. //Do this when multisample z-buffer issues are figured out - /*if (LLRenderTarget::sUseFBO) + if (LLRenderTarget::sUseFBO) { //copy depth buffer from mScreen to framebuffer LLRenderTarget::copyContentsToFramebuffer(mScreen, 0, 0, mScreen.getWidth(), mScreen.getHeight(), 0, 0, mScreen.getWidth(), mScreen.getHeight(), GL_DEPTH_BUFFER_BIT, GL_NEAREST); - }*/ + } } @@ -5869,7 +5869,8 @@ void LLPipeline::renderDeferredLighting() //TO-DO: //V2 changed to LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS); //Do this when multisample z-buffer issues are figured out - LLGLDepthTest depth(GL_FALSE); + //LLGLDepthTest depth(GL_FALSE); + LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS); stop_glerror(); glDrawArrays(GL_TRIANGLE_STRIP, 0, 3); stop_glerror(); @@ -5929,7 +5930,8 @@ void LLPipeline::renderDeferredLighting() //TO-DO: //V2 changed to LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS); //Do this when multisample z-buffer issues are figured out - LLGLDepthTest depth(GL_FALSE); + //LLGLDepthTest depth(GL_FALSE); + LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS); stop_glerror(); glDrawArrays(GL_TRIANGLE_STRIP, 0, 3); stop_glerror(); @@ -5948,7 +5950,8 @@ void LLPipeline::renderDeferredLighting() //TO-DO: //V2 changed to LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS); //Do this when multisample z-buffer issues are figured out - LLGLDepthTest depth(GL_FALSE); + //LLGLDepthTest depth(GL_FALSE); + LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS); stop_glerror(); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); stop_glerror(); @@ -6189,7 +6192,7 @@ void LLPipeline::renderDeferredLighting() //TO-DO: //V2 moved block from LLPipeline::renderGeomPostDeferred //Migrate once multisample z-buffer issues are figured out on ati cards. - /*{ + { //render highlights, etc. renderHighlights(); mHighlightFaces.clear(); @@ -6204,7 +6207,7 @@ void LLPipeline::renderDeferredLighting() gObjectList.renderObjectBeacons(); gObjectList.resetObjectBeacons(); } - }*/ + } mScreen.flush(); From 9ea3032feeaeea2777c195b328bc412c020505fa Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 2 May 2011 23:15:48 -0500 Subject: [PATCH 03/10] Reverted some preloaded textures to pre-v2 filenames so they are actually found. --- indra/newview/llviewertexturelist.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 1aae13b3e..f7562ecec 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -142,13 +142,13 @@ void LLViewerTextureList::doPreloadImages() image->setAddressMode(LLTexUnit::TAM_WRAP); mImagePreloads.insert(image); } - image = LLViewerTextureManager::getFetchedTextureFromFile("world/NoEntryLines.png", MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI); + image = LLViewerTextureManager::getFetchedTextureFromFile("noentrylines.j2c"/*"world/NoEntryLines.png"*/, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI); if (image) { image->setAddressMode(LLTexUnit::TAM_WRAP); mImagePreloads.insert(image); } - image = LLViewerTextureManager::getFetchedTextureFromFile("world/NoEntryPassLines.png", MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI); + image = LLViewerTextureManager::getFetchedTextureFromFile("noentrypasslines.j2c"/*"world/NoEntryPassLines.png"*/, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI); if (image) { image->setAddressMode(LLTexUnit::TAM_WRAP); @@ -160,7 +160,7 @@ void LLViewerTextureList::doPreloadImages() image->setAddressMode(LLTexUnit::TAM_WRAP); mImagePreloads.insert(image); } - image = LLViewerTextureManager::getFetchedTextureFromFile("transparent.j2c", MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE, + image = LLViewerTextureManager::getFetchedTextureFromFile("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c"/*"transparent.j2c"*/, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE, 0,0,LLUUID("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903")); if (image) { From c2f0aa53af574a6fcf78d933ad1c0a0eab4a171d Mon Sep 17 00:00:00 2001 From: Shyotl Date: Tue, 3 May 2011 01:15:17 -0500 Subject: [PATCH 04/10] PumpIO fasttimer now child of Pump fasttimer (instead of being blindly added to Pump). Aids debugging pumpIO hitching. --- indra/llcommon/llfasttimer.h | 1 + indra/llmessage/llpumpio.cpp | 2 +- indra/newview/llfasttimerview.cpp | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/indra/llcommon/llfasttimer.h b/indra/llcommon/llfasttimer.h index 602a2f7c7..898ed496b 100644 --- a/indra/llcommon/llfasttimer.h +++ b/indra/llcommon/llfasttimer.h @@ -54,6 +54,7 @@ public: // common messaging components FTM_PUMP, FTM_CURL, + FTM_PUMPIO, // common simulation components FTM_UPDATE_ANIMATION, diff --git a/indra/llmessage/llpumpio.cpp b/indra/llmessage/llpumpio.cpp index b8c6b1652..2f86269ea 100644 --- a/indra/llmessage/llpumpio.cpp +++ b/indra/llmessage/llpumpio.cpp @@ -450,7 +450,7 @@ void LLPumpIO::pump() void LLPumpIO::pump(const S32& poll_timeout) { LLMemType m1(LLMemType::MTYPE_IO_PUMP); - LLFastTimer t1(LLFastTimer::FTM_PUMP); + LLFastTimer t1(LLFastTimer::FTM_PUMPIO); //llinfos << "LLPumpIO::pump()" << llendl; // Run any pending runners. diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp index 92b6dddbf..27661567e 100644 --- a/indra/newview/llfasttimerview.cpp +++ b/indra/newview/llfasttimerview.cpp @@ -85,6 +85,7 @@ static struct ft_display_info ft_display_table[] = { LLFastTimer::FTM_IDLE, " Idle", &blue0, 0 }, { LLFastTimer::FTM_PUMP, " Pump", &LLColor4::magenta2, 1 }, { LLFastTimer::FTM_CURL, " Curl", &LLColor4::magenta3, 0 }, + { LLFastTimer::FTM_PUMPIO, " PumpIO", &LLColor4::magenta1, 0 }, { LLFastTimer::FTM_INVENTORY, " Inventory Update", &LLColor4::purple6, 1 }, { LLFastTimer::FTM_AUTO_SELECT, " Open and Select", &LLColor4::red, 0 }, { LLFastTimer::FTM_FILTER, " Filter", &LLColor4::red2, 0 }, From 90c22d8edf3b96fbe7ad874196c21e099a982e8a Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 3 May 2011 23:49:00 +0200 Subject: [PATCH 05/10] J2C stream length estimation back to old --- indra/llimage/llimagej2c.cpp | 7 +++++++ indra/newview/app_settings/settings.xml | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/indra/llimage/llimagej2c.cpp b/indra/llimage/llimagej2c.cpp index 08bcde633..fbfb91697 100644 --- a/indra/llimage/llimagej2c.cpp +++ b/indra/llimage/llimagej2c.cpp @@ -34,6 +34,7 @@ #include "apr_dso.h" #include "lldir.h" +#include "../llxml/llcontrol.h" #include "llimagej2c.h" #include "llmemtype.h" @@ -382,6 +383,12 @@ S32 LLImageJ2C::calcHeaderSize() // to load discard_level (including header and higher discard levels) S32 LLImageJ2C::calcDataSize(S32 discard_level) { + static const LLCachedControl legacy_size("SianaLegacyJ2CSize", false); + + if (legacy_size) { + return calcDataSizeJ2C(getWidth(), getHeight(), getComponents(), discard_level, mRate); + } + discard_level = llclamp(discard_level, 0, MAX_DISCARD_LEVEL); if ( mAreaUsedForDataSizeCalcs != (getHeight() * getWidth()) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index c4b11eb8c..038090663 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9,6 +9,18 @@ settings_rlv.xml + SianaLegacyJ2CSize + + Comment + Use older JPEG2000 size estimation method + Persist + 1 + Type + Boolean + Value + 1 + + SpellDownloadURL Comment From 44cf22210442152afa97903121c148d7d64b2f9b Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 4 May 2011 00:03:55 +0200 Subject: [PATCH 06/10] Now can offer teleport to anyone --- indra/newview/llpanelavatar.cpp | 59 +-------------------------------- 1 file changed, 1 insertion(+), 58 deletions(-) diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index be9431e69..52e812924 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -726,15 +726,6 @@ void LLPanelAvatarWeb::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent ev } } - - - - - - - - - //----------------------------------------------------------------------------- // LLPanelAvatarAdvanced //----------------------------------------------------------------------------- @@ -1434,44 +1425,6 @@ void LLPanelAvatar::onCommitKey(LLUICtrl* ctrl, void* data) self->setAvatarID(av_key, LLStringUtil::null, ONLINE_STATUS_NO); } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void LLPanelAvatar::setOnlineStatus(EOnlineStatus online_status) { // Online status NO could be because they are hidden @@ -1483,13 +1436,6 @@ void LLPanelAvatar::setOnlineStatus(EOnlineStatus online_status) online_status = ONLINE_STATUS_YES; } - - - - - - - if(online_status == ONLINE_STATUS_YES) { mPanelSecondLife->childSetVisible("online_yes", TRUE); @@ -1505,9 +1451,6 @@ void LLPanelAvatar::setOnlineStatus(EOnlineStatus online_status) childSetVisible("Offer Teleport...",TRUE); } - - - BOOL in_prelude = gAgent.inPrelude(); if(gAgent.isGodlike()) { @@ -1521,7 +1464,7 @@ void LLPanelAvatar::setOnlineStatus(EOnlineStatus online_status) } else { - childSetEnabled("Offer Teleport...", (online_status == ONLINE_STATUS_YES)); + childSetEnabled("Offer Teleport...", TRUE /*(online_status == ONLINE_STATUS_YES)*/); childSetToolTip("Offer Teleport...", childGetValue("TeleportNormal").asString()); } } From d611f6b7411bf6af52a2fef70ca4ad209a44db37 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 4 May 2011 00:07:32 +0200 Subject: [PATCH 07/10] Adding hunspell dll/so/dylib --- indra/newview/viewer_manifest.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index e560b7b46..22ed21392 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -56,7 +56,6 @@ class ViewerManifest(LLManifest): # include the entire shaders directory recursively self.path("shaders") - self.path("dictionaries") # ... and the entire windlight directory self.path("windlight") self.end_prefix("app_settings") @@ -199,6 +198,11 @@ class WindowsManifest(ViewerManifest): self.path("featuretable.txt") + # For spellchecking + if self.prefix(src=self.args['configuration'], dst=""): + self.path("libhunspell.dll") + self.end_prefix() + # For use in crash reporting (generates minidumps) self.path("dbghelp.dll") @@ -439,6 +443,7 @@ class DarwinManifest(ViewerManifest): self.path(self.info_plist_name(), dst="Info.plist") # copy additional libs in /Contents/MacOS/ + self.path("../../libraries/universal-darwin/lib_release/libhunspell-1.2.dylib", dst="MacOS/libhunspell-1.2.dylib") self.path("../../libraries/universal-darwin/lib_release/libndofdev.dylib", dst="MacOS/libndofdev.dylib") self.path("../../libraries/universal-darwin/lib_release/libvorbisenc.2.dylib", dst="MacOS/libvorbisenc.2.dylib") self.path("../../libraries/universal-darwin/lib_release/libvorbisfile.3.dylib", dst="MacOS/libvorbisfile.3.dylib") @@ -785,6 +790,7 @@ class Linux_i686Manifest(LinuxManifest): self.path("libdb-4.2.so") self.path("libcrypto.so.0.9.7") self.path("libexpat.so.1") + self.path("libhunspell-1.2.so.0.0.0", "libhunspell-1.2.so.0") self.path("libssl.so.0.9.7") #self.path("libuuid.so.1") self.path("libSDL-1.2.so.0") From 8983f4a1860110e5a8b5004eb56254683a25c09b Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 4 May 2011 14:46:23 +0200 Subject: [PATCH 08/10] Don't crash there. --- indra/newview/llnetmap.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp index b7483052b..b266df2cb 100644 --- a/indra/newview/llnetmap.cpp +++ b/indra/newview/llnetmap.cpp @@ -394,7 +394,8 @@ void LLNetMap::draw() avColor = muted_color; } - LLUUID estate_owner = LLWorld::getInstance()->getRegionFromPosGlobal(positions[i])->getOwner(); + LLViewerRegion* avatar_region = LLWorld::getInstance()->getRegionFromPosGlobal(positions[i]); + LLUUID estate_owner = avatar_region? avatar_region->getOwner() : LLUUID::null; //Lindens are always more Linden than your friend, make that take precedence if(LLMuteList::getInstance()->isLinden(avName)) From 4666e29fb77cd2518edd6b02374673527e43010c Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 4 May 2011 21:10:59 +0200 Subject: [PATCH 09/10] install Hunspell dictionaries --- indra/newview/viewer_manifest.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 22ed21392..24d48c9f8 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -58,6 +58,8 @@ class ViewerManifest(LLManifest): self.path("shaders") # ... and the entire windlight directory self.path("windlight") + # ... and the hunspell dictionaries + self.path("dictionaries") self.end_prefix("app_settings") if self.prefix(src="character"): From eedc1f79ecf5eafe9a94b4f1dcfb3819c57e5b83 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Thu, 5 May 2011 03:20:54 +0200 Subject: [PATCH 10/10] Resolve stray VC8 CRT dependency by updating libs --- LICENSES/expat.txt | 21 ------- LICENSES/jpeglib.txt | 16 ----- LICENSES/libpng.txt | 109 --------------------------------- LICENSES/zlib.txt | 28 --------- indra/cmake/00-Common.cmake | 7 +++ indra/cmake/FindMT.cmake | 32 +++++----- indra/cmake/PNG.cmake | 6 +- indra/cmake/XmlRpcEpi.cmake | 6 +- indra/llimage/llimagejpeg.h | 4 +- indra/llimage/llpngwrapper.cpp | 4 +- indra/llimage/llpngwrapper.h | 4 ++ install.xml | 40 ++++++------ 12 files changed, 58 insertions(+), 219 deletions(-) delete mode 100644 LICENSES/expat.txt delete mode 100644 LICENSES/jpeglib.txt delete mode 100644 LICENSES/libpng.txt delete mode 100644 LICENSES/zlib.txt diff --git a/LICENSES/expat.txt b/LICENSES/expat.txt deleted file mode 100644 index 2ce393145..000000000 --- a/LICENSES/expat.txt +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/LICENSES/jpeglib.txt b/LICENSES/jpeglib.txt deleted file mode 100644 index fd3ea50ad..000000000 --- a/LICENSES/jpeglib.txt +++ /dev/null @@ -1,16 +0,0 @@ -http://nyctergatis.com/jpeglib/ - -The license below is known as the modified BSD license, with an additional reference to the Independent JPEG Group to comply with its terms. It applies to the source code written specifically for the Palm, not to the work of the Independent JPEG Group (see the remark below). - -Copyright (c) 2003, Yves Piguet. -All rights reserved. -Based on the work of the Independent JPEG Group. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Yves Piguet nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/LICENSES/libpng.txt b/LICENSES/libpng.txt deleted file mode 100644 index 50b4041cc..000000000 --- a/LICENSES/libpng.txt +++ /dev/null @@ -1,109 +0,0 @@ - -This copy of the libpng notices is provided for your convenience. In case of -any discrepancy between this copy and the notices in the file png.h that is -included in the libpng distribution, the latter shall prevail. - -COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: - -If you modify libpng you may insert additional notices immediately following -this sentence. - -libpng versions 1.2.6, August 15, 2004, through 1.2.35, February 14, 2009, are -Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.2.5 -with the following individual added to the list of Contributing Authors - - Cosmin Truta - -libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are -Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.0.6 -with the following individuals added to the list of Contributing Authors - - Simon-Pierre Cadieux - Eric S. Raymond - Gilles Vollant - -and with the following additions to the disclaimer: - - There is no warranty against interference with your enjoyment of the - library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is with - the user. - -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-0.96, -with the following individuals added to the list of Contributing Authors: - - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik - -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996, 1997 Andreas Dilger -Distributed according to the same disclaimer and license as libpng-0.88, -with the following individuals added to the list of Contributing Authors: - - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner - -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. - -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: - - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner - -The PNG Reference Library is supplied "AS IS". The Contributing Authors -and Group 42, Inc. disclaim all warranties, expressed or implied, -including, without limitation, the warranties of merchantability and of -fitness for any purpose. The Contributing Authors and Group 42, Inc. -assume no liability for direct, indirect, incidental, special, exemplary, -or consequential damages, which may result from the use of the PNG -Reference Library, even if advised of the possibility of such damage. - -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: - -1. The origin of this source code must not be misrepresented. - -2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. - -3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - -The Contributing Authors and Group 42, Inc. specifically permit, without -fee, and encourage the use of this source code as a component to -supporting the PNG file format in commercial products. If you use this -source code in a product, acknowledgment is not required but would be -appreciated. - - -A "png_get_copyright" function is available, for convenient use in "about" -boxes and the like: - - printf("%s",png_get_copyright(NULL)); - -Also, the PNG logo (in PNG format, of course) is supplied in the -files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). - -Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a -certification mark of the Open Source Initiative. - -Glenn Randers-Pehrson -glennrp at users.sourceforge.net -February 14, 2009 diff --git a/LICENSES/zlib.txt b/LICENSES/zlib.txt deleted file mode 100644 index 5afe0a609..000000000 --- a/LICENSES/zlib.txt +++ /dev/null @@ -1,28 +0,0 @@ -'zlib' general purpose compression library version 1.1.4, March 11th, 2002 - -Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising from the -use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -The origin of this software must not be misrepresented; you must not claim -that you wrote the original software. If you use this software in a product, -an acknowledgment in the product documentation would be appreciated but is -not required. - -Altered source versions must be plainly marked as such, and must not be -misrepresented as being the original software. - -This notice may not be removed or altered from any source distribution. - -Jean-loup Gailly -jloup@gzip.org - -Mark Adler -madler@alumni.caltech.edu - diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 1e423bd29..65dfab0dc 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -103,6 +103,13 @@ if (WINDOWS) set(MSVC_DIR 10.0) set(MSVC_SUFFIX 100) endif (MSVC71) + + if (MSVC10) + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO") + SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /MANIFEST:NO") + SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /MANIFEST:NO") + endif(MSVC10) + endif (WINDOWS) diff --git a/indra/cmake/FindMT.cmake b/indra/cmake/FindMT.cmake index 5239a4c2f..71b5a43e5 100644 --- a/indra/cmake/FindMT.cmake +++ b/indra/cmake/FindMT.cmake @@ -1,15 +1,17 @@ -#Find the windows manifest tool. - -FIND_PROGRAM(HAVE_MANIFEST_TOOL NAMES mt - PATHS - "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/VC/bin" - "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin" - "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin") -IF(HAVE_MANIFEST_TOOL) - MESSAGE(STATUS "Found Mainfest Tool. Embedding custom manifests.") -ELSE(HAVE_MANIFEST_TOOL) - MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.") -ENDIF(HAVE_MANIFEST_TOOL) - -STRING(REPLACE "/MANIFEST" "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS - ${CMAKE_EXE_LINKER_FLAGS}) +#Find the windows manifest tool. +if (MSVC80) + FIND_PROGRAM(HAVE_MANIFEST_TOOL NAMES mt + PATHS + "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/VC/bin" + "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin" + "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin") + IF(HAVE_MANIFEST_TOOL) + MESSAGE(STATUS "Found Mainfest Tool. Embedding custom manifests.") + ELSE(HAVE_MANIFEST_TOOL) + MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.") + ENDIF(HAVE_MANIFEST_TOOL) + + STRING(REPLACE "/MANIFEST " "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS + ${CMAKE_EXE_LINKER_FLAGS}) + +endif (MSVC80) diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake index 4d0b7b2d8..f075adaa0 100644 --- a/indra/cmake/PNG.cmake +++ b/indra/cmake/PNG.cmake @@ -8,6 +8,10 @@ if (STANDALONE) include(FindPNG) else (STANDALONE) use_prebuilt_binary(libpng) - set(PNG_LIBRARIES png12) + if (WINDOWS) + set(PNG_LIBRARIES libpng15) + else (WINDOWS) + set(PNG_LIBRARIES png12) + endif (WINDOWS) set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) endif (STANDALONE) diff --git a/indra/cmake/XmlRpcEpi.cmake b/indra/cmake/XmlRpcEpi.cmake index 107d1926b..56eb7e250 100644 --- a/indra/cmake/XmlRpcEpi.cmake +++ b/indra/cmake/XmlRpcEpi.cmake @@ -8,10 +8,6 @@ if (STANDALONE) include(FindXmlRpcEpi) else (STANDALONE) use_prebuilt_binary(xmlrpc-epi) - if (WINDOWS) - set(XMLRPCEPI_LIBRARIES xmlrpcepi) - else (WINDOWS) - set(XMLRPCEPI_LIBRARIES xmlrpc-epi) - endif (WINDOWS) + set(XMLRPCEPI_LIBRARIES xmlrpc-epi) set(XMLRPCEPI_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) endif (STANDALONE) diff --git a/indra/llimage/llimagejpeg.h b/indra/llimage/llimagejpeg.h index abeaf84ce..884d07116 100644 --- a/indra/llimage/llimagejpeg.h +++ b/indra/llimage/llimagejpeg.h @@ -35,6 +35,8 @@ #include +#include "llimage.h" + extern "C" { #ifdef LL_STANDALONE # include @@ -45,8 +47,6 @@ extern "C" { #endif } -#include "llimage.h" - class LLImageJPEG : public LLImageFormatted { protected: diff --git a/indra/llimage/llpngwrapper.cpp b/indra/llimage/llpngwrapper.cpp index 2274a38ea..0776e2ebd 100644 --- a/indra/llimage/llpngwrapper.cpp +++ b/indra/llimage/llpngwrapper.cpp @@ -213,7 +213,7 @@ void LLPngWrapper::normalizeImage() } if (mColorType == PNG_COLOR_TYPE_GRAY && mBitDepth < 8) { - png_set_gray_1_2_4_to_8(mReadPngPtr); + png_set_expand_gray_1_2_4_to_8(mReadPngPtr); } if (mColorType == PNG_COLOR_TYPE_GRAY || mColorType == PNG_COLOR_TYPE_GRAY_ALPHA) @@ -354,7 +354,7 @@ void LLPngWrapper::releaseResources() { if (mReadPngPtr || mReadInfoPtr) { - png_destroy_read_struct(&mReadPngPtr, &mReadInfoPtr, png_infopp_NULL); + png_destroy_read_struct(&mReadPngPtr, &mReadInfoPtr, NULL); mReadPngPtr = NULL; mReadInfoPtr = NULL; } diff --git a/indra/llimage/llpngwrapper.h b/indra/llimage/llpngwrapper.h index 0c3168cfd..eb47fdbdd 100644 --- a/indra/llimage/llpngwrapper.h +++ b/indra/llimage/llpngwrapper.h @@ -32,7 +32,11 @@ #ifndef LL_LLPNGWRAPPER_H #define LL_LLPNGWRAPPER_H +#if LL_WINDOWS +#include "libpng15/png.h" +#else #include "libpng12/png.h" +#endif #include "llimage.h" class LLPngWrapper diff --git a/install.xml b/install.xml index 2a8b831e5..eb4d4909f 100644 --- a/install.xml +++ b/install.xml @@ -106,9 +106,9 @@ windows md5sum - a02619c1e30a3db02d3883bf1ad7a1e6 + ea394402d4d4af4c5238fe4e35c64389 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/apr_suite-1.3.8-windows-20090911.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/apr_suite-1.4.2-windows-20110504.tar.bz2 @@ -146,9 +146,9 @@ windows md5sum - b06f412608c8fccfc756935c262b03f0 + e4ab04da7db20ba388f2109e84f0fcda url - https://github.com/downloads/Shyotl/SingularityViewer/ares-1.7.1-windows-20100611a.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/ares-1.7.1-windows-20110504.tar.bz2 @@ -261,9 +261,9 @@ windows md5sum - 7f73eeff95087369ffebeac8356c7eaa + 60ed73408c4050ff9c96f26771fd6b46 url - https://github.com/downloads/Shyotl/SingularityViewer/curl-7.20.1-windows-20100611.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/curl-7.21.1-windows-20110504.tar.bz2 @@ -368,9 +368,9 @@ windows md5sum - 5dbbdb4a9b5bec86d180ef20a5f8ccfb + 74494ba202b3d2cd74e4032716f4bf1b url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/expat-1.95.8-windows-20090917.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/expat-2.0.1-windows-20110504.tar.bz2 @@ -471,9 +471,9 @@ windows md5sum - 88980fd6d91ac541b62dea877ebe6ba6 + c1fec2f5a4924b75ca6047edfcc91eba url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.3.9-windows-20090917.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/freetype-2.4.4-windows-20110504.tar.bz2 @@ -785,9 +785,9 @@ windows md5sum - 6a6bb0143a2561e3276dab4bcfa425ef + e4dfbea847d92b46e3d2d1a2c25fe3b3 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jpeglib-6b-windows-20090917a.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/jpeglib-8c-windows-20110504.tar.bz2 @@ -906,9 +906,9 @@ anguage Infrstructure (CLI) international standard windows md5sum - c781cd9846cf20afb90ac40ad1a0ce9d + 7597e9d7f4e9e8e032692a1aade8298e url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libpng-1.2.35-windows-20090917.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/libpng-1.5.1-windows-20110504.tar.bz2 @@ -1078,9 +1078,9 @@ anguage Infrstructure (CLI) international standard windows md5sum - f0df8a1e60991095e3adca1450b8c9c0 + 383ce3f78ae3e6afa39ee9ced6d8e531 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ndofdev-windows-20090917.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/libndofdev-windows-20110504.tar.bz2 @@ -1374,9 +1374,9 @@ anguage Infrstructure (CLI) international standard windows md5sum - 262629bcaa39dcf7266caa50da01a599 + 2faea7fe8fa66872793e0ea917c33e2e url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/xmlrpc-epi-0.51-windows-20091016.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/xmlrpc_epi-0.54.1-windows-20110504.tar.bz2 @@ -1414,9 +1414,9 @@ anguage Infrstructure (CLI) international standard windows md5sum - 73baf52a740d151fddbc2a008369c462 + 7fc3539a45054e91b7e225cc3888f838 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1.2.3-windows-20090921.tar.bz2 + https://github.com/downloads/siana/SingularityViewer/zlib-1.2.5-windows-20110504.tar.bz2