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:
authorKévin Dietrich <kevin.dietrich@mailoo.org>2022-04-27 11:22:07 +0300
committerKévin Dietrich <kevin.dietrich@mailoo.org>2022-04-27 11:22:07 +0300
commit68ca12a7fc0eea117103d894609eb46c169ec88b (patch)
tree5054737e592d72b31dcc6036d9eed8c57b4c8f58 /source/blender/modifiers/intern/MOD_subsurf.c
parent9a8669ac81b99b2648b12e936bfcbc8a69a0fbbb (diff)
Fix T96283: last disabled subsurf is used for GPU subdivision
When more than one, consecutive, subdivision modifier is used on a Mesh, the last subsurf modifier is used for GPU subdivision even though it might be disabled. This is because retrieving the last subsurf modifier in the draw code did not check whether the modifier was disabled or not. To fix this, the session UUID of the modifier which delegated evaluation to the GPU code is cached and used in the draw to select the right subsurf modifier. Differential Revision: https://developer.blender.org/D14488
Diffstat (limited to 'source/blender/modifiers/intern/MOD_subsurf.c')
-rw-r--r--source/blender/modifiers/intern/MOD_subsurf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c
index 249d09e5d2e..571e564f583 100644
--- a/source/blender/modifiers/intern/MOD_subsurf.c
+++ b/source/blender/modifiers/intern/MOD_subsurf.c
@@ -205,6 +205,7 @@ static void subdiv_cache_cpu_evaluation_settings(const ModifierEvalContext *ctx,
me->runtime.subsurf_apply_render = (ctx->flag & MOD_APPLY_RENDER) != 0;
me->runtime.subsurf_resolution = mesh_settings.resolution;
me->runtime.subsurf_use_optimal_display = mesh_settings.use_optimal_display;
+ me->runtime.subsurf_session_uuid = smd->modifier.session_uuid;
}
/* Modifier itself. */