Commit: 16a350cd49144b1a5e8d3d4c9abbf95cd3da58da Author: Jeroen Bakker Date: Thu Apr 16 10:39:30 2020 +0200 Branches: modifier-panels-ui https://developer.blender.org/rB16a350cd49144b1a5e8d3d4c9abbf95cd3da58da
GPU: Fix Negative Shift glAttributes also include `gl_` names. These don't have a location and should be ignored during shader interface creation. Those internal names received a location of -1 and therefore the bitmasking was undefined. Users wouldn't notice this, but ASAN warned developers of this situation. ASAN could quit making ASAN un-usable as most shaders have this issue. Reviewed By: Clément Foucault` Differential Revision: https://developer.blender.org/D7448 =================================================================== M source/blender/gpu/intern/gpu_shader_interface.c =================================================================== diff --git a/source/blender/gpu/intern/gpu_shader_interface.c b/source/blender/gpu/intern/gpu_shader_interface.c index cb1cd9a6f6d..db8ec60fa9a 100644 --- a/source/blender/gpu/intern/gpu_shader_interface.c +++ b/source/blender/gpu/intern/gpu_shader_interface.c @@ -254,8 +254,11 @@ GPUShaderInterface *GPU_shaderinterface_create(int32_t program) } /* TODO: reject DOUBLE gl_types */ - input->location = glGetAttribLocation(program, name); + /* Ignore OpenGL names like `gl_BaseInstanceARB`, `gl_InstanceID` and `gl_VertexID`. */ + if (input->location == -1) { + continue; + } shaderface->enabled_attr_mask |= (1 << input->location); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs