From cd93f790c7a02f57d57a851e5aff82108b3f12a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Wed, 12 Oct 2022 17:34:28 +0200 Subject: Overlay: Add experimental option to enable overlay-next --- release/scripts/startup/bl_ui/space_userpref.py | 1 + source/blender/draw/intern/draw_manager.c | 10 +++++++--- source/blender/makesdna/DNA_userdef_types.h | 3 ++- source/blender/makesrna/intern/rna_userdef.c | 5 +++++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index a9736feb057..cbe6579a449 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -2316,6 +2316,7 @@ class USERPREF_PT_experimental_prototypes(ExperimentalPanel, Panel): ({"property": "use_sculpt_texture_paint"}, "T96225"), ({"property": "use_full_frame_compositor"}, "T88150"), ({"property": "enable_eevee_next"}, "T93220"), + ({"property": "enable_overlay_next"}, ""), ({"property": "use_draw_manager_acquire_lock"}, "T98016"), ), ) diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index da77845feb4..d722d8ccc47 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -1199,7 +1199,8 @@ static void drw_engines_enable_from_engine(const RenderEngineType *engine_type, static void drw_engines_enable_overlays(void) { - use_drw_engine(&draw_engine_overlay_type); + use_drw_engine((U.experimental.enable_overlay_next) ? &draw_engine_overlay_next_type : + &draw_engine_overlay_type); } /** * Use for select and depth-drawing. @@ -1218,7 +1219,8 @@ static void drw_engine_enable_image_editor(void) use_drw_engine(&draw_engine_image_type); } - use_drw_engine(&draw_engine_overlay_type); + use_drw_engine((U.experimental.enable_overlay_next) ? &draw_engine_overlay_next_type : + &draw_engine_overlay_type); } static void drw_engines_enable_editors(void) @@ -1236,7 +1238,8 @@ static void drw_engines_enable_editors(void) SpaceNode *snode = (SpaceNode *)space_data; if ((snode->flag & SNODE_BACKDRAW) != 0) { use_drw_engine(&draw_engine_image_type); - use_drw_engine(&draw_engine_overlay_type); + use_drw_engine((U.experimental.enable_overlay_next) ? &draw_engine_overlay_next_type : + &draw_engine_overlay_type); } } } @@ -3012,6 +3015,7 @@ void DRW_engines_register(void) DRW_engine_register(&draw_engine_gpencil_type); DRW_engine_register(&draw_engine_overlay_type); + DRW_engine_register(&draw_engine_overlay_next_type); DRW_engine_register(&draw_engine_select_type); DRW_engine_register(&draw_engine_basic_type); DRW_engine_register(&draw_engine_compositor_type); diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 9d8b75450ca..885e6d48724 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -653,7 +653,8 @@ typedef struct UserDef_Experimental { char use_sculpt_texture_paint; char use_draw_manager_acquire_lock; char use_realtime_compositor; - char _pad[7]; + char enable_overlay_next; + char _pad[6]; /** `makesdna` does not allow empty structs. */ } UserDef_Experimental; diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 5d50a671f4a..f2715bb3555 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -6388,6 +6388,11 @@ static void rna_def_userdef_experimental(BlenderRNA *brna) "Enable viewport debugging options for developers in the overlays " "pop-over"); RNA_def_property_update(prop, 0, "rna_userdef_ui_update"); + + prop = RNA_def_property(srna, "enable_overlay_next", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "enable_overlay_next", 1); + RNA_def_property_ui_text( + prop, "Overlay Next", "Enable the new Overlay codebase, requires restart"); } static void rna_def_userdef_addon_collection(BlenderRNA *brna, PropertyRNA *cprop) -- cgit v1.2.3