[Bf-blender-cvs] [ae977d13f8e] master: Improve slightly the stability of wireframes in old GPUs from AMD.

mano-wii noreply at git.blender.org
Sun Mar 3 01:01:57 CET 2019


Commit: ae977d13f8e9440294b00a510fc1d25c6609e2dd
Author: mano-wii
Date:   Sat Mar 2 21:00:37 2019 -0300
Branches: master
https://developer.blender.org/rBae977d13f8e9440294b00a510fc1d25c6609e2dd

Improve slightly the stability of wireframes in old GPUs from AMD.

Tested on `AMD Radeon HD 7570M`.
The reason for crash reduction is still unknown.

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

M	source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl

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

diff --git a/source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl b/source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl
index 8cb4db23b7e..0424a49dd5d 100644
--- a/source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl
+++ b/source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl
@@ -7,10 +7,14 @@ uniform mat3 NormalMatrix;
 uniform float wireStepParam;
 uniform float ofs;
 
+in vec3 pos;
+in vec3 nor;
+in float wd; /* wiredata */
+
 #ifndef USE_SCULPT
 float get_edge_sharpness(float wd)
 {
-	return ((wd == 1.0) ? 1.0 : ((wd == 0.0) ? -1.5 : wd)) + wireStepParam;
+	return ((wd == 0.0) ? -1.5 : wd) + wireStepParam;
 }
 #else
 float get_edge_sharpness(float wd) { return 1.0; }
@@ -18,11 +22,6 @@ float get_edge_sharpness(float wd) { return 1.0; }
 
 /* Geometry shader version */
 #if defined(SELECT_EDGES) || defined(USE_GEOM)
-
-in vec3 pos;
-in vec3 nor;
-in float wd; /* wiredata */
-
 out float facing_g;
 out float edgeSharpness_g;
 
@@ -43,23 +42,18 @@ void main()
 }
 
 #else /* USE_GEOM */
-
-in vec3 pos;
-in vec3 nor;
-in float wd;
-
 out float facing;
 flat out float edgeSharpness;
 
 void main()
 {
+	edgeSharpness = get_edge_sharpness(wd);
+
 	mat4 projmat = ProjectionMatrix;
 	projmat[3][2] -= ofs;
 
 	gl_Position = projmat * (ModelViewMatrix * vec4(pos, 1.0));
 
-	edgeSharpness = get_edge_sharpness(wd);
-
 	facing = normalize(NormalMatrix * nor).z;
 
 #ifdef USE_WORLD_CLIP_PLANES



More information about the Bf-blender-cvs mailing list