Fix T96845: artifacts with GPU subdivision and mirror modifier

The coarse polygon count was set to the one of the BMesh instead of
the the one of the mesh used for subdivision, which caused the
compute shaders to output wrong data.
This commit is contained in:
Kévin Dietrich 2022-05-04 19:31:53 +02:00
parent 5d7ee44406
commit fc0f6d19ad
Notes: blender-bot 2023-02-14 02:22:13 +01:00
Referenced by issue #96845, Regression: GPU Subdivision with mirror/Array modifier shows artifacts
1 changed files with 1 additions and 1 deletions

View File

@ -1143,7 +1143,7 @@ static void draw_subdiv_init_ubo_storage(const DRWSubdivCache *cache,
ubo->max_patch_face = cache->gpu_patch_map.max_patch_face;
ubo->max_depth = cache->gpu_patch_map.max_depth;
ubo->patches_are_triangular = cache->gpu_patch_map.patches_are_triangular;
ubo->coarse_poly_count = cache->bm ? cache->bm->totface : cache->num_coarse_poly;
ubo->coarse_poly_count = cache->num_coarse_poly;
ubo->optimal_display = cache->optimal_display;
ubo->num_subdiv_loops = cache->num_subdiv_loops;
ubo->edge_loose_offset = cache->num_subdiv_loops * 2;