Overlay-Next: Initial implementation #107045

Closed
Clément Foucault wants to merge 28 commits from fclem/blender:overlay-next into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
4 changed files with 15 additions and 4 deletions
Showing only changes of commit cd93f790c7 - Show all commits

View File

@ -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"),
),
)

View File

@ -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);

View File

@ -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;

View File

@ -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)