Commit: cc1ba74ce2f245349bd04a996c44e04260d49825 Author: Philipp Oeser Date: Tue Dec 6 13:57:41 2022 +0100 Branches: master https://developer.blender.org/rBcc1ba74ce2f245349bd04a996c44e04260d49825
Fix T102966: Curves editmode selection drawing not stable / flickering Issue was the lifetime of GPUVertFormat & GPUVertAttr. Both need to be static in the function to be persistent here (and handled appropriately). Was an error in rB319ee296fd0c. Maniphest Tasks: T102966 Differential Revision: https://developer.blender.org/D16704 =================================================================== M source/blender/draw/intern/draw_cache_impl_curves.cc =================================================================== diff --git a/source/blender/draw/intern/draw_cache_impl_curves.cc b/source/blender/draw/intern/draw_cache_impl_curves.cc index 0322d048fa5..1fc4d2e1f91 100644 --- a/source/blender/draw/intern/draw_cache_impl_curves.cc +++ b/source/blender/draw/intern/draw_cache_impl_curves.cc @@ -289,7 +289,11 @@ static void curves_batch_cache_ensure_data_edit_points(const Curves &curves_id, const bke::CurvesGeometry &curves = bke::CurvesGeometry::wrap(curves_id.geometry); static GPUVertFormat format_data = {0}; - uint data = GPU_vertformat_attr_add(&format_data, "data", GPU_COMP_U8, 1, GPU_FETCH_INT); + static uint data; + if (format_data.attr_len == 0) { + data = GPU_vertformat_attr_add(&format_data, "data", GPU_COMP_U8, 1, GPU_FETCH_INT); + } + GPU_vertbuf_init_with_format(cache.data_edit_points, &format_data); GPU_vertbuf_data_alloc(cache.data_edit_points, curves.points_num()); _______________________________________________ Bf-blender-cvs mailing list [email protected] List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
