Merge branch 'blender-v2.92-release'

This commit is contained in:
Hans Goudey 2021-01-25 11:48:53 -06:00
commit 93e3aed041
4 changed files with 15 additions and 41 deletions

View File

@ -560,10 +560,12 @@ bool Session::acquire_tile(RenderTile &rtile, Device *tile_device, uint tile_typ
if (read_bake_tile_cb) {
/* This will read any passes needed as input for baking. */
if (tile_manager.state.sample == tile_manager.range_start_sample) {
thread_scoped_lock tile_lock(tile_mutex);
read_bake_tile_cb(rtile);
{
thread_scoped_lock tile_lock(tile_mutex);
read_bake_tile_cb(rtile);
}
rtile.buffers->buffer.copy_to_device();
}
rtile.buffers->buffer.copy_to_device();
}
else {
/* This will tag tile as IN PROGRESS in blender-side render pipeline,

View File

@ -574,7 +574,6 @@ extern StructRNA RNA_SimpleDeformModifier;
extern StructRNA RNA_SimplifyGpencilModifier;
extern StructRNA RNA_Simulation;
extern StructRNA RNA_NodesModifier;
extern StructRNA RNA_NodesModifierSettings;
extern StructRNA RNA_GeometryNode;
extern StructRNA RNA_GeometryNodeTree;
extern StructRNA RNA_SkinModifier;

View File

@ -1617,21 +1617,16 @@ static void rna_NodesModifier_node_group_update(Main *bmain, Scene *scene, Point
MOD_nodes_update_interface(object, nmd);
}
static IDProperty *rna_NodesModifierSettings_properties(PointerRNA *ptr, bool create)
static IDProperty *rna_NodesModifier_properties(PointerRNA *ptr, bool create)
{
NodesModifierSettings *settings = ptr->data;
NodesModifierData *nmd = ptr->data;
NodesModifierSettings *settings = &nmd->settings;
if (create && settings->properties == NULL) {
IDPropertyTemplate val = {0};
settings->properties = IDP_New(IDP_GROUP, &val, "Nodes Modifier Settings");
}
return settings->properties;
}
static char *rna_NodesModifierSettings_path(PointerRNA *UNUSED(ptr))
{
return BLI_strdup("settings");
}
#else
static void rna_def_property_subdivision_common(StructRNA *srna)
@ -6960,18 +6955,6 @@ static void rna_def_modifier_weightednormal(BlenderRNA *brna)
RNA_define_lib_overridable(false);
}
static void rna_def_modifier_nodes_settings(BlenderRNA *brna)
{
StructRNA *srna;
srna = RNA_def_struct(brna, "NodesModifierSettings", NULL);
RNA_def_struct_nested(brna, srna, "NodesModifier");
RNA_def_struct_path_func(srna, "rna_NodesModifierSettings_path");
RNA_def_struct_ui_text(
srna, "Nodes Modifier Settings", "Settings that are passed into the node group");
RNA_def_struct_idprops_func(srna, "rna_NodesModifierSettings_properties");
}
static void rna_def_modifier_nodes(BlenderRNA *brna)
{
StructRNA *srna;
@ -6980,6 +6963,7 @@ static void rna_def_modifier_nodes(BlenderRNA *brna)
srna = RNA_def_struct(brna, "NodesModifier", "Modifier");
RNA_def_struct_ui_text(srna, "Nodes Modifier", "");
RNA_def_struct_sdna(srna, "NodesModifierData");
RNA_def_struct_idprops_func(srna, "rna_NodesModifier_properties");
RNA_def_struct_ui_icon(srna, ICON_NODETREE);
RNA_define_lib_overridable(true);
@ -6990,13 +6974,7 @@ static void rna_def_modifier_nodes(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_update(prop, 0, "rna_NodesModifier_node_group_update");
prop = RNA_def_property(srna, "settings", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_ui_text(prop, "Settings", "Settings that are passed into the node group");
RNA_define_lib_overridable(false);
rna_def_modifier_nodes_settings(brna);
}
static void rna_def_modifier_mesh_to_volume(BlenderRNA *brna)

View File

@ -1057,7 +1057,7 @@ static void modifyGeometrySet(ModifierData *md,
* the correct label displayed in the UI. */
static void draw_property_for_socket(uiLayout *layout,
PointerRNA *bmain_ptr,
PointerRNA *settings_ptr,
PointerRNA *md_ptr,
const IDProperty *modifier_props,
const bNodeSocket &socket)
{
@ -1085,12 +1085,12 @@ static void draw_property_for_socket(uiLayout *layout,
switch (socket.type) {
case SOCK_OBJECT: {
uiItemPointerR(
layout, settings_ptr, rna_path, bmain_ptr, "objects", socket.name, ICON_OBJECT_DATA);
layout, md_ptr, rna_path, bmain_ptr, "objects", socket.name, ICON_OBJECT_DATA);
break;
}
case SOCK_COLLECTION: {
uiItemPointerR(layout,
settings_ptr,
md_ptr,
rna_path,
bmain_ptr,
"collections",
@ -1099,7 +1099,7 @@ static void draw_property_for_socket(uiLayout *layout,
break;
}
default:
uiItemR(layout, settings_ptr, rna_path, 0, socket.name, ICON_NONE);
uiItemR(layout, md_ptr, rna_path, 0, socket.name, ICON_NONE);
}
}
}
@ -1113,8 +1113,7 @@ static void panel_draw(const bContext *C, Panel *panel)
NodesModifierData *nmd = static_cast<NodesModifierData *>(ptr->data);
uiLayoutSetPropSep(layout, true);
/* This should be removed, but animation currently doesn't work with the IDProperties. */
uiLayoutSetPropDecorate(layout, false);
uiLayoutSetPropDecorate(layout, true);
uiTemplateID(layout,
C,
@ -1128,15 +1127,11 @@ static void panel_draw(const bContext *C, Panel *panel)
nullptr);
if (nmd->node_group != nullptr && nmd->settings.properties != nullptr) {
PointerRNA settings_ptr;
RNA_pointer_create(ptr->owner_id, &RNA_NodesModifierSettings, &nmd->settings, &settings_ptr);
PointerRNA bmain_ptr;
RNA_main_pointer_create(bmain, &bmain_ptr);
LISTBASE_FOREACH (bNodeSocket *, socket, &nmd->node_group->inputs) {
draw_property_for_socket(
layout, &bmain_ptr, &settings_ptr, nmd->settings.properties, *socket);
draw_property_for_socket(layout, &bmain_ptr, ptr, nmd->settings.properties, *socket);
}
}