Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/startup/bl_ui/properties_data_modifier.py2
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c45
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h3
-rw-r--r--source/blender/makesrna/intern/rna_modifier.c7
-rw-r--r--source/blender/modifiers/intern/MOD_subsurf.c51
5 files changed, 2 insertions, 106 deletions
diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 9fbac78ebe3..434c697230f 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -995,8 +995,6 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
sub.prop(md, "uv_smooth", text="")
col.prop(md, "show_only_control_edges")
- if hasattr(md, "use_opensubdiv"):
- col.prop(md, "use_opensubdiv")
if show_adaptive_options and ob.cycles.use_adaptive_subdivision:
col = layout.column(align=True)
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 05253f7962a..6fba5ec4eee 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -2857,39 +2857,6 @@ static void editbmesh_calc_modifiers(
MEM_freeN(deformedVerts);
}
-#ifdef WITH_OPENSUBDIV
-/* The idea is to skip CPU-side ORCO calculation when
- * we'll be using GPU backend of OpenSubdiv. This is so
- * playback performance is kept as high as possible.
- */
-static bool calc_modifiers_skip_orco(Depsgraph *depsgraph,
- Scene *scene,
- Object *ob,
- bool use_render_params)
-{
- ModifierData *last_md = ob->modifiers.last;
- const int required_mode = use_render_params ? eModifierMode_Render : eModifierMode_Realtime;
- if (last_md != NULL &&
- last_md->type == eModifierType_Subsurf &&
- modifier_isEnabled(scene, last_md, required_mode))
- {
- if (U.opensubdiv_compute_type == USER_OPENSUBDIV_COMPUTE_NONE) {
- return false;
- }
- else if ((ob->mode & (OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_TEXTURE_PAINT)) != 0) {
- return false;
- }
- else if ((DEG_get_eval_flags_for_id(depsgraph, &ob->id) & DAG_EVAL_NEED_CPU) != 0) {
- return false;
- }
- SubsurfModifierData *smd = (SubsurfModifierData *)last_md;
- /* TODO(sergey): Deduplicate this with checks from subsurf_ccg.c. */
- return smd->use_opensubdiv != 0;
- }
- return false;
-}
-#endif
-
static void mesh_finalize_eval(Object *object)
{
Mesh *mesh = (Mesh *)object->data;
@@ -2941,12 +2908,6 @@ static void mesh_build_data(
BKE_object_free_derived_caches(ob);
BKE_object_sculpt_modifiers_changed(ob);
-#ifdef WITH_OPENSUBDIV
- if (calc_modifiers_skip_orco(depsgraph, scene, ob, false)) {
- dataMask &= ~(CD_MASK_ORCO | CD_MASK_PREVIEW_MCOL);
- }
-#endif
-
mesh_calc_modifiers(
depsgraph, scene, ob, NULL, 1, need_mapping, dataMask, -1, true, build_shapekey_layers,
true,
@@ -2988,12 +2949,6 @@ static void editbmesh_build_data(
BKE_editmesh_free_derivedmesh(em);
-#ifdef WITH_OPENSUBDIV
- if (calc_modifiers_skip_orco(depsgraph, scene, obedit, false)) {
- dataMask &= ~(CD_MASK_ORCO | CD_MASK_PREVIEW_MCOL);
- }
-#endif
-
editbmesh_calc_modifiers(
depsgraph, scene, obedit, em, dataMask,
&em->derivedCage, &em->derivedFinal);
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index c53b8e3a5e2..87e632defe1 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -162,8 +162,7 @@ typedef struct SubsurfModifierData {
short subdivType, levels, renderLevels, flags;
short uv_smooth;
- short use_opensubdiv;
- short pad[2];
+ short pad[3];
void *emCache, *mCache;
} SubsurfModifierData;
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 8fbd906766e..eeeee5d4c9a 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -1249,13 +1249,6 @@ static void rna_def_modifier_subsurf(BlenderRNA *brna)
RNA_def_property_enum_items(prop, prop_uv_smooth_items);
RNA_def_property_ui_text(prop, "UV Smooth", "Controls how smoothing is applied to UVs");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
-
-#ifdef WITH_OPENSUBDIV
- prop = RNA_def_property(srna, "use_opensubdiv", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "use_opensubdiv", 1);
- RNA_def_property_ui_text(prop, "Use OpenSubdiv", "Use OpenSubdiv for the subdivisions (viewport only)");
- RNA_def_property_update(prop, 0, "rna_Modifier_update");
-#endif
}
static void rna_def_modifier_generic_map_info(StructRNA *srna)
diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c
index 82e2d8bfe8d..58cdea0df10 100644
--- a/source/blender/modifiers/intern/MOD_subsurf.c
+++ b/source/blender/modifiers/intern/MOD_subsurf.c
@@ -113,9 +113,6 @@ static DerivedMesh *applyModifier(
const bool useRenderParams = (ctx->flag & MOD_APPLY_RENDER) != 0;
const bool isFinalCalc = (ctx->flag & MOD_APPLY_USECACHE) != 0;
-#ifdef WITH_OPENSUBDIV
- const bool allow_gpu = (ctx->flag & MOD_APPLY_ALLOW_GPU) != 0;
-#endif
bool do_cddm_convert = useRenderParams || !isFinalCalc;
if (useRenderParams)
@@ -125,31 +122,6 @@ static DerivedMesh *applyModifier(
if (ctx->object->mode & OB_MODE_EDIT)
subsurf_flags |= SUBSURF_IN_EDIT_MODE;
-#ifdef WITH_OPENSUBDIV
- /* TODO(sergey): Not entirely correct, modifiers on top of subsurf
- * could be disabled.
- */
- if (md->next == NULL &&
- allow_gpu &&
- do_cddm_convert == false &&
- smd->use_opensubdiv)
- {
- if (U.opensubdiv_compute_type == USER_OPENSUBDIV_COMPUTE_NONE) {
- modifier_setError(md, "OpenSubdiv is disabled in User Preferences");
- }
- else if ((ctx->object->mode & (OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_TEXTURE_PAINT)) != 0) {
- modifier_setError(md, "OpenSubdiv is not supported in paint modes");
- }
- else if ((DEG_get_eval_flags_for_id(ctx->depsgraph, &ctx->object->id) & DAG_EVAL_NEED_CPU) == 0) {
- subsurf_flags |= SUBSURF_USE_GPU_BACKEND;
- do_cddm_convert = false;
- }
- else {
- modifier_setError(md, "OpenSubdiv is disabled due to dependencies");
- }
- }
-#endif
-
result = subsurf_make_derived_from_derived(derivedData, smd, scene, NULL, subsurf_flags);
result->cd_flag = derivedData->cd_flag;
@@ -159,9 +131,7 @@ static DerivedMesh *applyModifier(
result = cddm;
}
-#ifndef WITH_OPESUBDIV
(void) do_cddm_convert;
-#endif
return result;
}
@@ -176,12 +146,6 @@ static DerivedMesh *applyModifierEM(
DerivedMesh *result;
/* 'orco' using editmode flags would cause cache to be used twice in editbmesh_calc_modifiers */
SubsurfFlags ss_flags = (ctx->flag & MOD_APPLY_ORCO) ? 0 : (SUBSURF_FOR_EDIT_MODE | SUBSURF_IN_EDIT_MODE);
-#ifdef WITH_OPENSUBDIV
- const bool allow_gpu = (ctx->flag & MOD_APPLY_ALLOW_GPU) != 0;
- if (md->next == NULL && allow_gpu && smd->use_opensubdiv) {
- modifier_setError(md, "OpenSubdiv is not supported in edit mode");
- }
-#endif
result = subsurf_make_derived_from_derived(derivedData, smd, scene, NULL, ss_flags);
return result;
@@ -271,19 +235,6 @@ static Mesh *applyModifier_subdiv(ModifierData *md,
}
#endif
-static bool dependsOnNormals(ModifierData *md)
-{
-#ifdef WITH_OPENSUBDIV
- SubsurfModifierData *smd = (SubsurfModifierData *) md;
- if (smd->use_opensubdiv && md->next == NULL) {
- return true;
- }
-#else
- UNUSED_VARS(md);
-#endif
- return false;
-}
-
ModifierTypeInfo modifierType_Subsurf = {
/* name */ "Subsurf",
/* structName */ "SubsurfModifierData",
@@ -321,7 +272,7 @@ ModifierTypeInfo modifierType_Subsurf = {
/* isDisabled */ isDisabled,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
- /* dependsOnNormals */ dependsOnNormals,
+ /* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,