diff options
| author | McGroarty <git@mcgroarty.me> | 2026-07-26 18:53:19 -0700 |
|---|---|---|
| committer | McGroarty <git@mcgroarty.me> | 2026-07-26 18:53:19 -0700 |
| commit | d1796fba2500a30bd3c71b0588efd18c1a8625bf (patch) | |
| tree | 8afbd36410330fbb391cc9f6936d67d06215f048 /indra/newview/app_settings/shaders | |
| parent | adc5f3cb7819a672c37a73f0c4cd850df536e9da (diff) | |
Fix rendering on Parallels VMs with graphics set to "low"
In LLRender::syncMatrices(), treat uniform location 0 as valid when uploading the inverse model-view, inverse projection, and identity matrices. Only location -1 indicates that a uniform is absent. (This is a zero-based index.)
Fix Parallels GLSL compilation by:
- renaming the local waterClip() wrapper to avoid an overload conflict
- returning float literals (not ints) from a few functions declared to return float
Diffstat (limited to 'indra/newview/app_settings/shaders')
| -rw-r--r-- | indra/newview/app_settings/shaders/class3/deferred/materialF.glsl | 10 | ||||
| -rw-r--r-- | indra/newview/app_settings/shaders/class3/deferred/screenSpaceReflUtil.glsl | 2 |
2 files changed, 5 insertions, 7 deletions
diff --git a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl index 5708fc319f..65616e7835 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl @@ -262,7 +262,7 @@ void alphaMask(float alpha) #endif } -void waterClip() +void applyWaterClip() { #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND) waterClip(vary_position.xyz); @@ -284,17 +284,17 @@ float getShadow(vec3 pos, vec3 norm) #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND) return sampleDirectionalShadow(pos, norm, vary_texcoord0.xy); #else - return 1; + return 1.0; #endif #else - return 1; + return 1.0; #endif } void main() { mirrorClip(vary_position); - waterClip(); + applyWaterClip(); // diffcol == diffuse map combined with vertex color vec4 diffcol = texture(diffuseMap, vary_texcoord0.xy); @@ -441,5 +441,3 @@ void main() #endif } - - diff --git a/indra/newview/app_settings/shaders/class3/deferred/screenSpaceReflUtil.glsl b/indra/newview/app_settings/shaders/class3/deferred/screenSpaceReflUtil.glsl index e8901c7ba2..c9a19f4278 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/screenSpaceReflUtil.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/screenSpaceReflUtil.glsl @@ -323,7 +323,7 @@ float tapScreenSpaceReflection(int totalSamples, vec2 tc, vec3 viewPos, vec3 n, { #ifdef TRANSPARENT_SURFACE collectedColor = vec4(1, 0, 1, 1); - return 0; + return 0.0; #endif collectedColor = vec4(0); int hits = 0; |
