[Bf-blender-cvs] [bb4b6cddcb8] master: Mesh Batch Cache: Speedup: Only alloc gpu_attrs if needed and don't clear
Clément Foucault
noreply at git.blender.org
Wed May 8 17:59:23 CEST 2019
Commit: bb4b6cddcb89fb64479c6a246565b34ad0b74d82
Author: Clément Foucault
Date: Wed May 8 12:00:50 2019 +0200
Branches: master
https://developer.blender.org/rBbb4b6cddcb89fb64479c6a246565b34ad0b74d82
Mesh Batch Cache: Speedup: Only alloc gpu_attrs if needed and don't clear
No need to clear since GPU_material_vertex_attrs is overriding
===================================================================
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 02ebe16fb37..f3db1467883 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -423,13 +423,13 @@ static DRW_MeshCDMask mesh_cd_calc_used_gpu_layers(const Mesh *me,
const CustomData *cd_ldata = (me->edit_mesh) ? &me->edit_mesh->bm->ldata : &me->ldata;
/* See: DM_vertex_attributes_from_gpu for similar logic */
- GPUVertAttrLayers gpu_attrs = {{{0}}};
DRW_MeshCDMask cd_used;
mesh_cd_layers_type_clear(&cd_used);
for (int i = 0; i < gpumat_array_len; i++) {
GPUMaterial *gpumat = gpumat_array[i];
if (gpumat) {
+ GPUVertAttrLayers gpu_attrs;
GPU_material_vertex_attrs(gpumat, &gpu_attrs);
for (int j = 0; j < gpu_attrs.totlayer; j++) {
const char *name = gpu_attrs.layer[j].name;
More information about the Bf-blender-cvs
mailing list