[Bf-blender-cvs] [9bb70e59b89] blender2.8: Curve Batch Cache: Fix issue with cd_used
Clément Foucault
noreply at git.blender.org
Mon Dec 17 17:16:57 CET 2018
Commit: 9bb70e59b89423070c065f6b120b563bad47113b
Author: Clément Foucault
Date: Sun Dec 16 15:46:14 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB9bb70e59b89423070c065f6b120b563bad47113b
Curve Batch Cache: Fix issue with cd_used
cd_used needs to be the combination of generated data.
===================================================================
M source/blender/draw/intern/draw_cache_impl_curve.c
===================================================================
diff --git a/source/blender/draw/intern/draw_cache_impl_curve.c b/source/blender/draw/intern/draw_cache_impl_curve.c
index f8508a54661..ecdbdcf094f 100644
--- a/source/blender/draw/intern/draw_cache_impl_curve.c
+++ b/source/blender/draw/intern/draw_cache_impl_curve.c
@@ -909,7 +909,10 @@ void DRW_curve_batch_cache_create_requested(Object *ob)
memset(cache->surf_per_mat[i], 0, sizeof(*cache->surf_per_mat[i]));
}
}
- cache->cd_used = cache->cd_needed;
+ if ((cache->cd_used & cache->cd_needed) != cache->cd_needed) {
+ cache->cd_used |= cache->cd_needed;
+ cache->cd_needed = 0;
+ }
/* Init batches and request VBOs & IBOs */
if (DRW_batch_requested(cache->batch.surfaces, GPU_PRIM_TRIS)) {
@@ -1021,14 +1024,14 @@ void DRW_curve_batch_cache_create_requested(Object *ob)
curve_create_edit_curves_nor(rdata, cache->edit.curves_nor);
}
+ curve_render_data_free(rdata);
+
#ifdef DEBUG
/* Make sure all requested batches have been setup. */
for (int i = 0; i < sizeof(cache->batch) / sizeof(void *); ++i) {
BLI_assert(!DRW_batch_requested(((GPUBatch **)&cache->batch)[i], 0));
}
#endif
-
- curve_render_data_free(rdata);
}
/** \} */
More information about the Bf-blender-cvs
mailing list