From 405182025d100b54c5e7f1612bb42b50faa70ad1 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Fri, 21 Oct 2011 21:46:35 -0500 Subject: [PATCH 1/8] Resolved warning about 8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c not being found. Also renamed it to transparent.j2c because I hate seeing local textures with uuid filenames... and because v2 renamed it too. --- indra/newview/llviewertexturelist.cpp | 2 +- .../textures/transparent.j2c} | Bin .../8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c | Bin 172 -> 0 bytes .../8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c | Bin 172 -> 0 bytes 4 files changed, 1 insertion(+), 1 deletion(-) rename indra/newview/skins/{darkorange/textures/8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c => default/textures/transparent.j2c} (100%) delete mode 100644 indra/newview/skins/kdarknv/textures/8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c delete mode 100644 indra/newview/skins/kliteat/textures/8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 5de2a805e..36370137e 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -159,7 +159,7 @@ void LLViewerTextureList::doPreloadImages() image->setAddressMode(LLTexUnit::TAM_WRAP); mImagePreloads.insert(image); } - image = LLViewerTextureManager::getFetchedTextureFromFile("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c"/*"transparent.j2c"*/, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE, + image = LLViewerTextureManager::getFetchedTextureFromFile("transparent.j2c", MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE, 0,0,LLUUID("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903")); if (image) { diff --git a/indra/newview/skins/darkorange/textures/8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c b/indra/newview/skins/default/textures/transparent.j2c similarity index 100% rename from indra/newview/skins/darkorange/textures/8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c rename to indra/newview/skins/default/textures/transparent.j2c diff --git a/indra/newview/skins/kdarknv/textures/8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c b/indra/newview/skins/kdarknv/textures/8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c deleted file mode 100644 index 1068e940b9237289d148851aa5394c97afff506b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmezG|38qyhyer?pcupk0R<=qu^AXx*cln&=zkCc4^WJek(Gsof#H7)gR)Y&TscEI zL)oKzhJ1#+N9jI5m=eGYgs$P2fH3iY3WFd6qjzF Date: Sat, 22 Oct 2011 01:55:08 -0500 Subject: [PATCH 2/8] Shaders dumped to logs/shader_dump directory if 'ShyotlDumpRawShaders' is true, or a shader throws an error of some sort. --- indra/llrender/llshadermgr.cpp | 31 +++++++++++++++++++++++++++++ indra/newview/llviewershadermgr.cpp | 6 ++++++ 2 files changed, 37 insertions(+) diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 30dd4b44c..76b3fb711 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -36,6 +36,8 @@ #include "llfile.h" #include "llrender.h" +#include "llcontrol.h" //for LLCachedControl +#include "lldir.h" //for gDirUtilp #if LL_DARWIN #include "OpenGL/OpenGL.h" @@ -701,6 +703,8 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade } } + std::string error_str; + if (error == GL_NO_ERROR) { //check for errors @@ -714,6 +718,7 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade //an error occured, print log LL_WARNS("ShaderLoading") << "GLSL Compilation Error: (" << error << ") in " << filename << LL_ENDL; dumpObjectLog(ret); + error_str = get_object_log(ret); std::stringstream ostr; //dump shader source for debugging @@ -732,6 +737,32 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade { ret = 0; } + static const LLCachedControl dump_raw_shaders("ShyotlDumpRawShaders",false); + if(dump_raw_shaders || ret) + { + std::stringstream ostr; + for (GLuint i = 0; i < count; i++) + { + ostr << text[i]; + } + + std::string delim = gDirUtilp->getDirDelimiter(); + std::string shader_name = filename.substr(filename.find_last_of("/")+1); //shader_name.glsl + shader_name = shader_name.substr(0,shader_name.find_last_of(".")); //shader_name + std::string maindir = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"shader_dump"+delim); + //mkdir is NOT recursive. Step through the folders one by one. + LLFile::mkdir(maindir); //..Roaming/SecondLife/logs/shader_dump/ + LLFile::mkdir(maindir+="class" + llformat("%i",gpu_class) + delim); //..shader_dump/class1/ + LLFile::mkdir(maindir+=filename.substr(0,filename.find_last_of("/")+1)); //..shader_dump/class1/windlight/ + + LLAPRFile file(maindir + shader_name + (ret ? "" : llformat("_FAILED(%i)",error)) + ".glsl", LL_APR_W); + file.write(ostr.str().c_str(),ostr.str().length()); + if(!error_str.empty()) + { + LLAPRFile file2(maindir + shader_name + "_ERROR" + ".txt", LL_APR_W); + file.write(error_str.c_str(),error_str.length()); + } + } stop_glerror(); //free memory diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index be4da4fad..088cdb7a8 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -32,6 +32,7 @@ #include "llviewerprecompiledheaders.h" +#include //First, because glh_linear #defines equivalent.. which boost uses internally #include "llfeaturemanager.h" #include "llviewershadermgr.h" @@ -351,6 +352,11 @@ void LLViewerShaderMgr::setShaders() return; } + { + const std::string dumpdir = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"shader_dump")+gDirUtilp->getDirDelimiter(); + boost::filesystem::remove_all(dumpdir); + } + LLGLSLShader::sIndexedTextureChannels = llmax(llmin(gGLManager.mNumTextureImageUnits, (S32) gSavedSettings.getU32("RenderMaxTextureIndex")), 1); static const LLCachedControl no_texture_indexing("ShyotlUseLegacyTextureBatching",false); static const LLCachedControl use_legacy_path("ShyotlUseLegacyRenderPath", false); //Legacy does not jive with new batching. From 0fde15246bbfba6afe14fd2383c90259732ede07 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Sat, 22 Oct 2011 01:57:39 -0500 Subject: [PATCH 3/8] Moved some settings out of the main settings.xml and into settings_sh.xml where they belong. --- indra/newview/app_settings/settings.xml | 37 +--------- indra/newview/app_settings/settings_sh.xml | 79 ++++++++++++++++++++++ 2 files changed, 80 insertions(+), 36 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 3cb5445cd..3334fa9bb 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -474,42 +474,7 @@ Boolean Value 0 - - ShyotlRenderVBOStrideMode - - Comment - 0 = Standard behavior -1 = Force strided VBOs -2 = Force unstrided(dense) VBOs - Persist - 1 - Type - U32 - Value - 0 - - ShyotlUseLegacyRenderPath - - Comment - Use deprecated pre-3.x OpenGL api calls. - Persist - 1 - Type - Boolean - Value - 0 - - ShyotlUseLegacyTextureBatching - - Comment - Disable usage of extra samplers in shaders. Decreases batch sizes, however also reduces branching in shaders drastcially. - Persist - 1 - Type - Boolean - Value - 0 - + ResetFocusOnSelfClick Comment diff --git a/indra/newview/app_settings/settings_sh.xml b/indra/newview/app_settings/settings_sh.xml index 1838edac6..4ae81ed52 100644 --- a/indra/newview/app_settings/settings_sh.xml +++ b/indra/newview/app_settings/settings_sh.xml @@ -168,5 +168,84 @@ Value 10.0 + ShyotlRenderVBOStrideMode + + Comment + 0 = Standard behavior +1 = Force strided VBOs +2 = Force unstrided(dense) VBOs + Persist + 1 + Type + U32 + Value + 0 + + ShyotlUseLegacyRenderPath + + Comment + Use deprecated pre-3.x OpenGL api calls. + Persist + 1 + Type + Boolean + Value + 0 + + ShyotlUseLegacyTextureBatching + + Comment + Disable usage of extra samplers in shaders. Decreases batch sizes, however also reduces branching in shaders drastically. + Persist + 1 + Type + Boolean + Value + 0 + + ShyotlUseLegacyDynamicTexture + + Comment + Disable shader path when rendering dynamic textures. + Persist + 1 + Type + Boolean + Value + 0 + + ShyotlUseLegacyTextureBaking + + Comment + Disable shader path when generating baked textures. + Persist + 1 + Type + Boolean + Value + 1 + + ShyotlDumpRawShaders + + Comment + Dump shader data being passed to glShaderSourceARB. + Persist + 1 + Type + Boolean + Value + 0 + + ShyotlDrawOrphanAttachments + + Comment + Render attachments lacking an 'alive' owner. + Persist + 1 + Type + Boolean + Value + 0 + From 0ef5931212d92a42eb74d194b5a60c997197d76e Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 31 Oct 2011 20:36:47 -0500 Subject: [PATCH 4/8] Added a bit of debug output for viewer tool states. --- indra/newview/lltoolcomp.cpp | 2 ++ indra/newview/lltoolmgr.cpp | 13 ++++++++----- indra/newview/lltoolmgr.h | 4 +++- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp index c31717779..31b74c081 100644 --- a/indra/newview/lltoolcomp.cpp +++ b/indra/newview/lltoolcomp.cpp @@ -77,6 +77,8 @@ void LLToolComposite::setCurrentTool( LLTool* new_tool ) { if( mCur != new_tool ) { + if(new_tool) + lldebugs << "Current Tool: " << new_tool->getName() << llendl; if( mSelected ) { mCur->handleDeselect(); diff --git a/indra/newview/lltoolmgr.cpp b/indra/newview/lltoolmgr.cpp index eaf6c5a68..c407a6cb4 100644 --- a/indra/newview/lltoolmgr.cpp +++ b/indra/newview/lltoolmgr.cpp @@ -80,11 +80,11 @@ LLToolMgr::LLToolMgr() gToolNull = new LLTool(LLStringUtil::null); // Does nothing setCurrentTool(gToolNull); - gBasicToolset = new LLToolset(); - gCameraToolset = new LLToolset(); -// gLandToolset = new LLToolset(); - gMouselookToolset = new LLToolset(); - gFaceEditToolset = new LLToolset(); + gBasicToolset = new LLToolset("Basic"); + gCameraToolset = new LLToolset("Camera"); +// gLandToolset = new LLToolset("Land"); + gMouselookToolset = new LLToolset("MouseLook"); + gFaceEditToolset = new LLToolset("FaceEdit"); } void LLToolMgr::initTools() @@ -149,6 +149,7 @@ void LLToolMgr::setCurrentToolset(LLToolset* current) { mSelectedTool->handleDeselect(); } + lldebugs << "Current tool set: " << current->getName() << llendl; mCurrentToolset = current; // select first tool of new toolset only if toolset changed mCurrentToolset->selectFirstTool(); @@ -164,6 +165,8 @@ LLToolset* LLToolMgr::getCurrentToolset() void LLToolMgr::setCurrentTool( LLTool* tool ) { + if(tool && mBaseTool!=tool) + lldebugs << "Current Tool: " << tool->getName() << llendl; if (mTransientTool) { mTransientTool = NULL; diff --git a/indra/newview/lltoolmgr.h b/indra/newview/lltoolmgr.h index 92647c99d..2abba2220 100644 --- a/indra/newview/lltoolmgr.h +++ b/indra/newview/lltoolmgr.h @@ -93,7 +93,7 @@ protected: class LLToolset { public: - LLToolset() : mSelectedTool(NULL) {} + LLToolset(const char *name) : mSelectedTool(NULL), mName(name) {} LLTool* getSelectedTool() { return mSelectedTool; } @@ -109,7 +109,9 @@ public: BOOL isToolSelected( S32 index ); + const char* getName() const {return mName;} protected: + const char* mName; LLTool* mSelectedTool; typedef std::vector tool_list_t; tool_list_t mToolList; From f5983208eba95d29d271898c9823c6d3b5b612bb Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 31 Oct 2011 20:37:11 -0500 Subject: [PATCH 5/8] Hide the mouse cursor a bit better when grabbing items in mouselook. --- indra/newview/lltoolgrab.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp index 167d03a5a..b5e764dac 100644 --- a/indra/newview/lltoolgrab.cpp +++ b/indra/newview/lltoolgrab.cpp @@ -738,6 +738,7 @@ void LLToolGrab::handleHoverActive(S32 x, S32 y, MASK mask) } // HACK to avoid assert: error checking system makes sure that the cursor is set during every handleHover. This is actually a no-op since the cursor is hidden. + gViewerWindow->hideCursor(); gViewerWindow->setCursor(UI_CURSOR_ARROW); lldebugst(LLERR_USER_INPUT) << "hover handled by LLToolGrab (active) [cursor hidden]" << llendl; From 389192809241568a7ea4952ec20aa81129d336b9 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 31 Oct 2011 20:38:29 -0500 Subject: [PATCH 6/8] vary_texture_index only needed in shaders when batching. --- indra/llrender/llshadermgr.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 76b3fb711..f4743dd84 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -608,7 +608,8 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade text[count++] = strdup(decl.c_str()); } - text[count++] = strdup("varying float vary_texture_index;\n"); + if(texture_index_channels != 1) + text[count++] = strdup("varying float vary_texture_index;\n"); text[count++] = strdup("vec4 diffuseLookup(vec2 texcoord)\n"); text[count++] = strdup("{\n"); From b64cb8d33967da1e027670bbec9667167c5ffc66 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 31 Oct 2011 20:38:41 -0500 Subject: [PATCH 7/8] Lineending fixup --- indra/llcommon/indra_constants.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h index 089f8ed38..687e53568 100644 --- a/indra/llcommon/indra_constants.h +++ b/indra/llcommon/indra_constants.h @@ -153,10 +153,10 @@ const char LAND_LAYER_CODE = 'L'; const char WATER_LAYER_CODE = 'W'; const char WIND_LAYER_CODE = '7'; const char CLOUD_LAYER_CODE = '8'; -// Extended land layer for Aurora Sim +// Extended land layer for Aurora Sim const char AURORA_LAND_LAYER_CODE = 'M'; -const char AURORA_WATER_LAYER_CODE = 'X'; -const char AURORA_WIND_LAYER_CODE = '9'; +const char AURORA_WATER_LAYER_CODE = 'X'; +const char AURORA_WIND_LAYER_CODE = '9'; const char AURORA_CLOUD_LAYER_CODE = ':'; // keys From 40689f7d1e755e1ead53d6d12ca29b27dc4c05c2 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Sun, 6 Nov 2011 16:29:43 -0600 Subject: [PATCH 8/8] Fixed silly movement bug after taking high-res snapshots. --- indra/newview/llviewerwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 2426c75a5..954834d60 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -4481,7 +4481,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei gPipeline.resetDrawOrders(); } - if (high_res && (show_ui || !hide_hud)) + if (high_res) { send_agent_resume(); }