From 744b5b640447f0733a68769eb012fc0ae5b87d20 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Fri, 27 Jan 2012 21:28:27 -0600 Subject: [PATCH 1/3] Shiny HUD objects not fullbright. https://bitbucket.org/VirLinden/viewer-development-shining-fixes/changeset/c7fca203c70f --- indra/newview/llvovolume.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 29695de06..4280821c4 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -4211,6 +4211,11 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std:: fullbright = TRUE; } + if (hud_group) + { //all hud attachments are fullbright + fullbright = TRUE; + } + const LLTextureEntry* te = facep->getTextureEntry(); tex = facep->getTexture(); @@ -4236,7 +4241,6 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std:: } } else if (gPipeline.canUseVertexShaders() - && group->mSpatialPartition->mPartitionType != LLViewerRegion::PARTITION_HUD && LLPipeline::sRenderBump && te->getShiny()) { //shiny @@ -4301,9 +4305,11 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std:: } } - //not sure why this is here -- shiny HUD attachments maybe? -- davep 5/11/2010 - if (!is_alpha && te->getShiny() && LLPipeline::sRenderBump) - { + if (!gPipeline.canUseVertexShaders() && + !is_alpha && + te->getShiny() && + LLPipeline::sRenderBump) + { //shiny as an extra pass when shaders are disabled registerFace(group, facep, LLRenderPass::PASS_SHINY); } } From 9dd8f1b8ab9c82ecc6cb473e1384091bdbcc5688 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Fri, 27 Jan 2012 21:40:34 -0600 Subject: [PATCH 2/3] Temporarily disable RenderDelayVBUpdate, as it's completely broken. --- indra/newview/pipeline.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 39bdaf6b2..bb2c9672e 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -295,7 +295,7 @@ BOOL LLPipeline::sRenderBeacons = FALSE; BOOL LLPipeline::sRenderHighlight = TRUE; BOOL LLPipeline::sForceOldBakedUpload = FALSE; S32 LLPipeline::sUseOcclusion = 0; -BOOL LLPipeline::sDelayVBUpdate = TRUE; +BOOL LLPipeline::sDelayVBUpdate = FALSE; BOOL LLPipeline::sAutoMaskAlphaDeferred = TRUE; BOOL LLPipeline::sAutoMaskAlphaNonDeferred = FALSE; BOOL LLPipeline::sDisableShaders = FALSE; @@ -456,7 +456,7 @@ void LLPipeline::init() gSavedSettings.getControl("RenderAutoMaskAlphaNonDeferred")->getCommitSignal()->connect(boost::bind(&LLPipeline::refreshCachedSettings)); gSavedSettings.getControl("RenderUseFarClip")->getCommitSignal()->connect(boost::bind(&LLPipeline::refreshCachedSettings)); gSavedSettings.getControl("RenderAvatarMaxVisible")->getCommitSignal()->connect(boost::bind(&LLPipeline::refreshCachedSettings)); - gSavedSettings.getControl("RenderDelayVBUpdate")->getCommitSignal()->connect(boost::bind(&LLPipeline::refreshCachedSettings)); + //gSavedSettings.getControl("RenderDelayVBUpdate")->getCommitSignal()->connect(boost::bind(&LLPipeline::refreshCachedSettings)); } @@ -802,7 +802,7 @@ void LLPipeline::refreshCachedSettings() LLPipeline::sAutoMaskAlphaNonDeferred = gSavedSettings.getBOOL("RenderAutoMaskAlphaNonDeferred"); LLPipeline::sUseFarClip = gSavedSettings.getBOOL("RenderUseFarClip"); LLVOAvatar::sMaxVisible = (U32)gSavedSettings.getS32("RenderAvatarMaxVisible"); - LLPipeline::sDelayVBUpdate = gSavedSettings.getBOOL("RenderDelayVBUpdate"); + //LLPipeline::sDelayVBUpdate = gSavedSettings.getBOOL("RenderDelayVBUpdate"); LLPipeline::sUseOcclusion = (!gUseWireframe From c39ddb599137692a442e0ecb2d954235b7d17db4 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Sat, 28 Jan 2012 00:04:21 -0600 Subject: [PATCH 3/3] Packager now conditionally includes fmodex/fmod.dll if project is set to use them. --- indra/newview/CMakeLists.txt | 15 ++++++++++++++- indra/newview/viewer_manifest.py | 25 +++++++++++++++++-------- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 6dd26f1ae..4e75cb535 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1391,8 +1391,20 @@ if (WINDOWS) else() set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map") endif() - + +if (FMOD) + if(MANIFEST_LIBRARIES) + set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMOD_BINARY_DIR}/fmod.dll") + else(MANIFEST_LIBRARIES) + set(MANIFEST_LIBRARIES "--extra_libraries=${FMOD_BINARY_DIR}/fmod.dll") + endif(MANIFEST_LIBRARIES) +endif (FMOD) if (FMODEX) + if(MANIFEST_LIBRARIES) + set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMODEX_BINARY_DIR}/fmodex.dll") + else(MANIFEST_LIBRARIES) + set(MANIFEST_LIBRARIES "--extra_libraries=${FMODEX_BINARY_DIR}/fmodex.dll") + endif(MANIFEST_LIBRARIES) set(EXTRA_LINKER_FLAGS "/DELAYLOAD:fmodex.dll") endif (FMODEX) @@ -1461,6 +1473,7 @@ endif (FMODEX) --build=${CMAKE_CURRENT_BINARY_DIR} --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat + ${MANIFEST_LIBRARIES} DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 689b932d7..7768f05bd 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -208,14 +208,14 @@ class WindowsManifest(ViewerManifest): self.path("dbghelp.dll") # For using FMOD for sound... DJS - if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): - try: - self.path("fmod.dll") - pass - except: - print "Skipping fmod.dll - not found" - pass - self.end_prefix() + #~if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): + #~try: + #~self.path("fmod.dll") + #~pass + #~except: + #~print "Skipping fmod.dll - not found" + #~ pass + #~self.end_prefix() # For textures #if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): @@ -320,6 +320,15 @@ class WindowsManifest(ViewerManifest): self.path("wrap_oal.dll") self.end_prefix() + if self.args['extra_libraries'] != None: + print self.args['extra_libraries'] + path_list = self.args['extra_libraries'].split('|') + for path in path_list: + path_pair = path.rsplit('/', 1) + if self.prefix(src=path_pair[0], dst=""): + self.path(path_pair[1]) + self.end_prefix() + # pull in the crash logger and updater from other projects self.path(src='../win_crash_logger/%s/windows-crash-logger.exe' % self.args['configuration'], dst="win_crash_logger.exe") self.path(src='../win_updater/%s/windows-updater.exe' % self.args['configuration'], dst="updater.exe")