diff options
| author | Dave Parks <davep@lindenlab.com> | 2022-09-02 19:54:25 -0500 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2022-09-02 19:54:25 -0500 | 
| commit | 4c2b80fd00c545cf2e288520c8cf5fa1379d75b4 (patch) | |
| tree | 337da8dd7dcdbbd56357b3b99f3a5013c79baa53 /indra | |
| parent | 00b1fec9601c3618f12cebce551e4ce2b38d7e00 (diff) | |
| parent | a6c385a8cbcd6083ce28277fc263f7140c9df5cd (diff) | |
Merge branch 'SL-17967' of ssh://bitbucket.org/lindenlab/viewer into SL-17967
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llrender/llshadermgr.cpp | 13 | ||||
| -rw-r--r-- | indra/newview/llfeaturemanager.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llgltfmateriallist.cpp | 9 | 
3 files changed, 14 insertions, 10 deletions
| diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 43d59f7b43..96e83e6fbe 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -592,7 +592,7 @@ void LLShaderMgr::dumpShaderSource(U32 shader_code_count, GLchar** shader_code_t      LL_CONT << LL_ENDL;  } -void LLShaderMgr::dumpObjectLog(GLuint ret, BOOL warns, const std::string& filename)  +void LLShaderMgr::dumpObjectLog(GLuint ret, BOOL warns, const std::string& filename)  {  	std::string log = get_object_log(ret);      std::string fname = filename; @@ -985,11 +985,6 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev  	fclose(file); -    error = glGetError(); -    if (error != GL_NO_ERROR) -    { -        LL_WARNS("HRS") << "WTF? Should be no error here: " << error << LL_ENDL; -    }  	//create shader object      GLuint ret = glCreateShader(type); @@ -1069,7 +1064,7 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev  	return ret;  } -BOOL LLShaderMgr::linkProgramObject(GLuint obj, BOOL suppress_errors)  +BOOL LLShaderMgr::linkProgramObject(GLuint obj, BOOL suppress_errors)  {  	//check for errors  	glLinkProgram(obj); @@ -1079,6 +1074,8 @@ BOOL LLShaderMgr::linkProgramObject(GLuint obj, BOOL suppress_errors)  	{  		//an error occured, print log  		LL_SHADER_LOADING_WARNS() << "GLSL Linker Error:" << LL_ENDL; +        dumpObjectLog(obj, TRUE, "linker"); +        return success;  	}  	std::string log = get_object_log(obj); @@ -1178,7 +1175,7 @@ void LLShaderMgr::initAttribsAndUniforms()      mReservedUniforms.push_back("emissiveColor");      mReservedUniforms.push_back("metallicFactor");      mReservedUniforms.push_back("roughnessFactor"); -     +  	mReservedUniforms.push_back("diffuseMap");      mReservedUniforms.push_back("altDiffuseMap");  	mReservedUniforms.push_back("specularMap"); diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp index e934041e2e..826d4892ef 100644 --- a/indra/newview/llfeaturemanager.cpp +++ b/indra/newview/llfeaturemanager.cpp @@ -607,7 +607,7 @@ void LLFeatureManager::applyFeatures(bool skipFeatures)  void LLFeatureManager::setGraphicsLevel(U32 level, bool skipFeatures)  {      LLViewerShaderMgr::sSkipReload = true; - +    flush_glerror(); // Whatever may have already happened (e.g., to cause us to change), don't let confuse it with new initializations.      applyBaseMasks();      // if we're passed an invalid level, default to "Low" diff --git a/indra/newview/llgltfmateriallist.cpp b/indra/newview/llgltfmateriallist.cpp index af00cdd05f..b2d223a3e8 100644 --- a/indra/newview/llgltfmateriallist.cpp +++ b/indra/newview/llgltfmateriallist.cpp @@ -56,9 +56,16 @@ LLGLTFMaterial* LLGLTFMaterialList::getMaterial(const LLUUID& id)                  }                  LLFileSystem file(id, asset_type, LLFileSystem::READ); +                auto size = file.getSize(); +                if (!size) +                { +                    LL_DEBUGS() << "Zero size material." << LL_ENDL; +                    mat->unref(); +                    return; +                }                  std::vector<char> buffer; -                buffer.resize(file.getSize()); +                buffer.resize(size);                  file.read((U8*)&buffer[0], buffer.size());                  LLSD asset; | 
