[Bf-blender-cvs] [c6de149ee7d] master: DRW: Mesh Batch Cache: Fix error in loop custom data layer checking

Clément Foucault noreply at git.blender.org
Wed Apr 3 23:51:04 CEST 2019


Commit: c6de149ee7db99f50118be6e1d58652f4c02931b
Author: Clément Foucault
Date:   Wed Apr 3 23:46:32 2019 +0200
Branches: master
https://developer.blender.org/rBc6de149ee7db99f50118be6e1d58652f4c02931b

DRW: Mesh Batch Cache: Fix error in loop custom data layer checking

===================================================================

M	source/blender/draw/intern/draw_cache_impl_mesh.c

===================================================================

diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c
index ddb36c62682..84d2805de73 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -4628,6 +4628,13 @@ void DRW_mesh_batch_cache_create_requested(
 	if (cd_overlap == false) {
 		for (int type = 0; type < CD_NUMTYPES; ++type) {
 			if ((cache->cd_vused[type] & cache->cd_vneeded[type]) != cache->cd_vneeded[type]) {
+				switch (type) {
+					case CD_ORCO:
+						GPU_VERTBUF_DISCARD_SAFE(cache->ordered.loop_orco);
+						break;
+				}
+			}
+			if ((cache->cd_lused[type] & cache->cd_lneeded[type]) != cache->cd_lneeded[type]) {
 				switch (type) {
 					case CD_MLOOPUV:
 					case CD_TANGENT:
@@ -4636,9 +4643,6 @@ void DRW_mesh_batch_cache_create_requested(
 					case CD_MLOOPCOL:
 						GPU_VERTBUF_DISCARD_SAFE(cache->ordered.loop_vcol);
 						break;
-					case CD_ORCO:
-						GPU_VERTBUF_DISCARD_SAFE(cache->ordered.loop_orco);
-						break;
 				}
 			}
 		}



More information about the Bf-blender-cvs mailing list