summaryrefslogtreecommitdiff
path: root/indra/llrender
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-11-08 01:33:29 +0200
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-11-09 08:55:13 +0200
commit5e28a5de82ce94b4d10142f065f3fd08990ea623 (patch)
treec1eec063d1a23fc2734b5b97f6c310a846e5bce7 /indra/llrender
parentc8d08ee388ff8c968802412db134136c529e5bca (diff)
#4946 Crash at setShaders
Fix wrong delimeter and log if file isn't present
Diffstat (limited to 'indra/llrender')
-rw-r--r--indra/llrender/llshadermgr.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp
index e9bbdeead5..2c35a6acae 100644
--- a/indra/llrender/llshadermgr.cpp
+++ b/indra/llrender/llshadermgr.cpp
@@ -511,7 +511,7 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev
{ //search from the current gpu class down to class 1 to find the most relevant shader
std::stringstream fname;
fname << getShaderDirPrefix();
- fname << gpu_class << "/" << filename;
+ fname << gpu_class << gDirUtilp->getDirDelimiter() << filename;
open_file_name = fname.str();
@@ -540,7 +540,14 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev
if (file == NULL)
{
- LL_WARNS("ShaderLoading") << "GLSL Shader file not found: " << open_file_name << LL_ENDL;
+ if (gDirUtilp->fileExists(open_file_name))
+ {
+ LL_WARNS("ShaderLoading") << "GLSL Shader file failed to open: " << open_file_name << LL_ENDL;
+ }
+ else
+ {
+ LL_WARNS("ShaderLoading") << "GLSL Shader file not found: " << open_file_name << LL_ENDL;
+ }
return 0;
}
@@ -857,6 +864,7 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev
//load source
if (ret)
{
+ LL_DEBUGS("ShaderLoading") << "glCreateShader done" << LL_ENDL;
glShaderSource(ret, shader_code_count, (const GLchar**)shader_code_text, NULL);
error = glGetError();
@@ -871,6 +879,7 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev
//compile source
if (ret)
{
+ LL_DEBUGS("ShaderLoading") << "glShaderSource done" << U32(ret) << LL_ENDL;
glCompileShader(ret);
error = glGetError();
@@ -885,6 +894,7 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev
if (error == GL_NO_ERROR)
{
//check for errors
+ LL_DEBUGS("ShaderLoading") << "glCompileShader done" << U32(ret) << LL_ENDL;
GLint success = GL_TRUE;
glGetShaderiv(ret, GL_COMPILE_STATUS, &success);
@@ -901,6 +911,7 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev
}
else
{
+ LL_DEBUGS("ShaderLoading") << "loadShaderFile() completed, ret: " << U32(ret) << LL_ENDL;
ret = 0;
}
stop_glerror();