Commit: 576963d7c1e46c0fb59ee4c8741098cf690d0f27 Author: Jeroen Bakker Date: Mon Jul 15 11:24:18 2019 +0200 Branches: master https://developer.blender.org/rB576963d7c1e46c0fb59ee4c8741098cf690d0f27
Fix crash running GPU shader.format_calc() with attributes like gl_VertexID When using opengl attributes such as gl_VertexID in a shader its location is set to -1. This location was used without checking in an attribute array. This fails big time when called from python. For example `print(shader.format_calc())` made python crash immediately. this fixes https://github.com/JacquesLucke/animation_nodes/issues/1141 Reviewed By: fclem, brecht Differential Revision: https://developer.blender.org/D5231 =================================================================== M source/blender/gpu/intern/gpu_vertex_format.c =================================================================== diff --git a/source/blender/gpu/intern/gpu_vertex_format.c b/source/blender/gpu/intern/gpu_vertex_format.c index 37e1f9cf9da..e745c525df6 100644 --- a/source/blender/gpu/intern/gpu_vertex_format.c +++ b/source/blender/gpu/intern/gpu_vertex_format.c @@ -365,6 +365,11 @@ void GPU_vertformat_from_interface(GPUVertFormat *format, const GPUShaderInterfa input = next; next = input->next; + /* OpenGL attributes such as `gl_VertexID` have a location of -1. */ + if (input->location < 0) { + continue; + } + format->name_len++; /* multiname support */ format->attr_len++; _______________________________________________ Bf-blender-cvs mailing list [email protected] https://lists.blender.org/mailman/listinfo/bf-blender-cvs
