From 1016b9de1804e445252bda297ae93aed6c2971f0 Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Tue, 7 Apr 2020 14:02:48 -0700 Subject: SL-10449 Fix ALM on OSX --- indra/newview/app_settings/shaders/class1/deferred/materialF.glsl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index 2999abacef..0afd1a9672 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -234,14 +234,14 @@ void main() diffcol.rgb = srgb_to_linear(diffcol.rgb); #endif -#if HAS_SPECULAR_MAP != 0 +#ifdef HAS_SPECULAR_MAP vec4 spec = texture2D(specularMap, vary_texcoord2.xy); spec.rgb *= specular_color.rgb; #else vec4 spec = vec4(specular_color.rgb, 1.0); #endif -#if HAS_NORMAL_MAP +#ifdef HAS_NORMAL_MAP vec4 norm = texture2D(bumpMap, vary_texcoord1.xy); norm.xyz = norm.xyz * 2 - 1; @@ -268,7 +268,7 @@ void main() vec4 final_specular = spec; -#if HAS_SPECULAR_MAP != 0 +#ifdef HAS_SPECULAR_MAP vec4 final_normal = vec4(encode_normal(normalize(tnorm)), env_intensity * spec.a, 0.0); final_specular.a = specular_color.a * norm.a; #else -- cgit v1.2.3 From 4051f5754a53d12454365337d0e619d8f75bf4ad Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Tue, 7 Apr 2020 14:07:45 -0700 Subject: SL-10449 Fix off-by-one line numbers when dumping shader that failed to compile/link --- indra/llrender/llshadermgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 896dd566c1..8cfccb944c 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -580,7 +580,7 @@ void LLShaderMgr::dumpShaderSource(U32 shader_code_count, GLcharARB** shader_cod if (last == '\n') line[len - 1] = 0; - LL_SHADER_LOADING_WARNS() << i << ": " << shader_code_text[i] << LL_ENDL; + LL_SHADER_LOADING_WARNS() << i+1 << ": " << shader_code_text[i] << LL_ENDL; if (last == '\n') line[len - 1] = '\n'; -- cgit v1.2.3 From 0b717e2d1a0ca19eb8b4e9f20375e3a413ed2879 Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Tue, 7 Apr 2020 14:22:24 -0700 Subject: SL-10449 Cleanup dumping shader without LOG spam on every line when it fails to compile/link --- indra/llrender/llshadermgr.cpp | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 8cfccb944c..86eea458c5 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -572,18 +572,7 @@ void LLShaderMgr::dumpShaderSource(U32 shader_code_count, GLcharARB** shader_cod { for (U32 i = 0; i < shader_code_count; i++) { - GLcharARB *line = shader_code_text[i]; - size_t len = strlen( line ); - GLcharARB last = len > 0 ? line[len - 1] : 0; - - // LL_ENDL already outputs a newline so temporarily strip off the end newline to prevent EVERY line outputting an (extra) blank line - if (last == '\n') - line[len - 1] = 0; - - LL_SHADER_LOADING_WARNS() << i+1 << ": " << shader_code_text[i] << LL_ENDL; - - if (last == '\n') - line[len - 1] = '\n'; + fprintf(stderr, "%4d: %s", i+1, shader_code_text[i]); } LL_SHADER_LOADING_WARNS() << LL_ENDL; } -- cgit v1.2.3 From 9e8e623197185e340d94694e55f2ab25827cfaf0 Mon Sep 17 00:00:00 2001 From: Dave Houlton Date: Tue, 7 Apr 2020 11:29:47 -0600 Subject: SL-10449, add missing linkage variable, fix OSX & Intel deferred shaders comp --- .../app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl index 79b552ee1a..1e244d9dfd 100644 --- a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl @@ -35,6 +35,7 @@ ATTRIBUTE vec2 texcoord0; VARYING vec4 vertex_color; VARYING vec2 vary_texcoord0; VARYING vec3 vary_texcoord1; +VARYING vec4 vary_position; void calcAtmospherics(vec3 inPositionEye); @@ -46,6 +47,9 @@ void main() mat = modelview_matrix * mat; vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz; + + mat4 mvp = modelview_matrix * projection_matrix; + vary_position = mvp * vec4(position, 1.0); vec4 norm = vec4(position.xyz, 1.0); norm.xyz += normal.xyz; -- cgit v1.2.3 From e4f72db20d4ed2510557449a8f1a66a052c07bea Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Tue, 7 Apr 2020 16:21:39 -0700 Subject: SL-10449: Add dumping of shader to log file --- indra/llrender/llshadermgr.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 86eea458c5..539091c1aa 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -569,12 +569,18 @@ static std::string get_object_log(GLhandleARB ret) //dump shader source for debugging void LLShaderMgr::dumpShaderSource(U32 shader_code_count, GLcharARB** shader_code_text) -{ +{ + char num_str[16]; // U32 = max 10 digits + + LL_SHADER_LOADING_WARNS() << "\n"; + for (U32 i = 0; i < shader_code_count; i++) { - fprintf(stderr, "%4d: %s", i+1, shader_code_text[i]); + snprintf(num_str, sizeof(num_str), "%4d: ", i+1); + std::string line_number(num_str); + LL_CONT << line_number << shader_code_text[i]; } - LL_SHADER_LOADING_WARNS() << LL_ENDL; + LL_CONT << LL_ENDL; } void LLShaderMgr::dumpObjectLog(GLhandleARB ret, BOOL warns, const std::string& filename) -- cgit v1.2.3 From af7563968c053b5cdce1f01d548c724ca1911e35 Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Tue, 7 Apr 2020 16:22:25 -0700 Subject: SL-10449: Put first shader error on new line for readability --- indra/llrender/llshadermgr.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 539091c1aa..1383020873 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -594,8 +594,8 @@ void LLShaderMgr::dumpObjectLog(GLhandleARB ret, BOOL warns, const std::string& if (log.length() > 0) { - LL_SHADER_LOADING_WARNS() << "Shader loading from " << fname << ":\n" << LL_ENDL; - LL_SHADER_LOADING_WARNS() << log << LL_ENDL; + LL_SHADER_LOADING_WARNS() << "Shader loading from " << fname << LL_ENDL; + LL_SHADER_LOADING_WARNS() << "\n" << log << LL_ENDL; } } -- cgit v1.2.3