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
path: root/source
diff options
context:
space:
mode:
authorKévin Dietrich <kevin.dietrich@mailoo.org>2022-01-15 03:36:18 +0300
committerKévin Dietrich <kevin.dietrich@mailoo.org>2022-01-15 03:36:18 +0300
commit9664cc91f338e34de3a4bd826cd62f73885b5149 (patch)
tree5784893108f2a5d781af320ca9333867f328e150 /source
parent6a16a9e661f134be3f2be1725c25de9d191ce7ba (diff)
Fix T94918: GPU subdivision uses viewport levels for final render
The resolution for the subdivision grid traversal was always based on the viewport setting.
Diffstat (limited to 'source')
-rw-r--r--source/blender/draw/intern/draw_cache_impl_subdivision.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_subdivision.cc b/source/blender/draw/intern/draw_cache_impl_subdivision.cc
index 6eb1fbf26fa..3e6cd01e7cb 100644
--- a/source/blender/draw/intern/draw_cache_impl_subdivision.cc
+++ b/source/blender/draw/intern/draw_cache_impl_subdivision.cc
@@ -955,7 +955,8 @@ static bool draw_subdiv_build_cache(DRWSubdivCache *cache,
const SubsurfModifierData *smd,
const bool is_final_render)
{
- const int level = get_render_subsurf_level(&scene->r, smd->levels, is_final_render);
+ const int requested_levels = (is_final_render) ? smd->renderLevels : smd->levels;
+ const int level = get_render_subsurf_level(&scene->r, requested_levels, is_final_render);
SubdivToMeshSettings to_mesh_settings;
to_mesh_settings.resolution = (1 << level) + 1;
to_mesh_settings.use_optimal_display = false;