[Bf-blender-cvs] [34e49486825] blender2.8: Fix T51919: Tangents need UV's allocated

Campbell Barton noreply at git.blender.org
Fri Jun 30 09:42:28 CEST 2017


Commit: 34e49486825734f41629b21cc96b4635ffb20b54
Author: Campbell Barton
Date:   Fri Jun 30 17:48:18 2017 +1000
Branches: blender2.8
https://developer.blender.org/rB34e49486825734f41629b21cc96b4635ffb20b54

Fix T51919: Tangents need UV's allocated

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

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 32bc0603532..4446fb2ce22 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -305,9 +305,6 @@ static void mesh_cd_calc_used_gpu_layers(
 						}
 						if (layer != -1) {
 							cd_lused[CD_TANGENT] |= (1 << layer);
-
-							/* TODO(campbell): investigate why this is needed T51919. */
-							cd_lused[CD_MLOOPUV] |= (1 << layer);
 						}
 						break;
 					}
@@ -1737,7 +1734,7 @@ static Gwn_VertBuf *mesh_batch_cache_get_tri_shading_data(MeshRenderData *rdata,
 		unsigned int vidx = 0;
 		const char *attrib_name;
 
-		if (rdata->cd.layers.uv_len + rdata->cd.layers.vcol_len == 0) {
+		if (rdata->cd.layers.uv_len + rdata->cd.layers.tangent_len + rdata->cd.layers.vcol_len == 0) {
 			return NULL;
 		}
 
@@ -1748,7 +1745,7 @@ static Gwn_VertBuf *mesh_batch_cache_get_tri_shading_data(MeshRenderData *rdata,
 		/* initialize vertex format */
 		unsigned int *uv_id = MEM_mallocN(sizeof(*uv_id) * rdata->cd.layers.uv_len, "UV attrib format");
 		unsigned int *vcol_id = MEM_mallocN(sizeof(*vcol_id) * rdata->cd.layers.vcol_len, "Vcol attrib format");
-		unsigned int *tangent_id = MEM_mallocN(sizeof(*tangent_id) * rdata->cd.layers.uv_len, "Tangent attrib format");
+		unsigned int *tangent_id = MEM_mallocN(sizeof(*tangent_id) * rdata->cd.layers.tangent_len, "Tangent attrib format");
 
 		for (int i = 0; i < rdata->cd.layers.uv_len; i++) {
 			/* UV */




More information about the Bf-blender-cvs mailing list