[Bf-blender-cvs] [b68b26c265d] blender2.8: Attempt to fix GLSL errors on Blender startup.

Brecht Van Lommel noreply at git.blender.org
Tue Aug 15 18:53:14 CEST 2017


Commit: b68b26c265d0984da08773196c0d673881fd6c13
Author: Brecht Van Lommel
Date:   Tue Aug 15 17:52:58 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBb68b26c265d0984da08773196c0d673881fd6c13

Attempt to fix GLSL errors on Blender startup.

I couldn't reproduce either, but calling min() with different argument
data types and indexing vectors with an index not known at compile time
seem likely to cause problems.

Ref T52404, T52404.

===================================================================

M	source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
M	source/blender/draw/modes/shaders/object_particle_prim_vert.glsl

===================================================================

diff --git a/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl b/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
index 6dc02d26321..97f27ea96d6 100644
--- a/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
@@ -55,7 +55,7 @@ void get_max_horizon_grouped(vec4 co1, vec4 co2, vec3 x, float lod, inout float
 }
 
 #define MAX_ITER 16
-#define MAX_LOD 6
+#define MAX_LOD 6.0
 #define QUALITY 0.75
 vec2 search_horizon_sweep(vec2 t_phi, vec3 pos, vec2 uvs, float jitter, vec2 max_dir)
 {
diff --git a/source/blender/draw/modes/shaders/object_particle_prim_vert.glsl b/source/blender/draw/modes/shaders/object_particle_prim_vert.glsl
index a950a9b86ba..54ae319307a 100644
--- a/source/blender/draw/modes/shaders/object_particle_prim_vert.glsl
+++ b/source/blender/draw/modes/shaders/object_particle_prim_vert.glsl
@@ -39,16 +39,18 @@ void main()
 	}
 
 #ifdef USE_AXIS
-	finalColor.rgb = vec3(0.0);
-	finalColor[axis] = 1.0;
+	if (axis == 0)
+		finalColor = vec4(1.0, 0.0, 0.0, 1.0);
+	else if (axis == 1)
+		finalColor = vec4(0.0, 1.0, 0.0, 1.0);
+	else
+		finalColor = vec4(0.0, 0.0, 1.0, 1.0);
 #else
 	if (val < 0.0) {
-		finalColor.rgb = color;
+		finalColor = vec4(color, 1.0);
 	}
 	else {
-		finalColor.rgb = texture(ramp, val).rgb;
+		finalColor = vec4(texture(ramp, val).rgb, 1.0);
 	}
 #endif
-
-	finalColor.a = 1.0;
 }




More information about the Bf-blender-cvs mailing list