34953f8907fdd added this bitmask but it wasn't being reset when a program was relinked. If a stage was removed from the new program then it could case a crash as we expect the linked shader for that stage to not be null.
Fixes crashes in: ESEXT-CTS.tessellation_shader.single.xfb_captures_data_from_correct_stage ES31-CTS.core.tessellation_shader.single.xfb_captures_data_from_correct_stage Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98917 --- src/mesa/main/shaderobj.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c index 998656a..6fcdf44 100644 --- a/src/mesa/main/shaderobj.c +++ b/src/mesa/main/shaderobj.c @@ -348,6 +348,8 @@ _mesa_clear_shader_program_data(struct gl_context *ctx, } } + shProg->data->linked_stages = 0; + if (shProg->data->UniformStorage) { for (unsigned i = 0; i < shProg->data->NumUniformStorage; ++i) _mesa_uniform_detach_all_driver_storage(&shProg->data-> -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev