Commit: 93253d5dcc2938903ae4de3a23fcdb724d202d44
Author: Khoi Dau
Date:   Tue Jul 12 11:30:41 2022 -0300
Branches: master
https://developer.blender.org/rB93253d5dcc2938903ae4de3a23fcdb724d202d44

Fix T99103: crash when displaying or rendering Grease Pencil object

On some hardware/systems, blender may crash when adding, rendering or 
displaying Grease Pencil objects.

In `/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl`, line 35:
```
gpMaterialFlag gp_flag = floatBitsToInt(gp_mat._flag);
```
`gpMaterialFlag` is of type `uint`. This is a mismatched-type assignment that 
can cause crashes on some hardware/systems with GLSL that do not support 
implicit type casting.

So use `floatBitsToUint` for type conversion.

Differential Revision: https://developer.blender.org/D15433

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

M       source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl

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

diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl 
b/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl
index 5f5419bac47..b0ee059cb9d 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl
@@ -32,7 +32,7 @@ void main()
   vec3 vert_N;
 
   gpMaterial gp_mat = materials[ma1.x + gpMaterialOffset];
-  gpMaterialFlag gp_flag = floatBitsToInt(gp_mat._flag);
+  gpMaterialFlag gp_flag = floatBitsToUint(gp_mat._flag);
 
   gl_Position = gpencil_vertex(ma,
                                ma1,

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to