diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-08-28 00:39:08 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-08-28 00:39:08 +0400 |
commit | ba9b7e6a202cfc6a8e4ba0c2f9795c22a5d1b1a0 (patch) | |
tree | 01e9f5015b6088ba479db2f7dc5e11357bdb0d07 /source/blender/blenkernel/BKE_pbvh.h | |
parent | 025bac45705e2f45d3b797948e47b8c99a18aa1d (diff) |
avoid calling CustomData_bmesh_get to get CD_PAINT_MASK per vertex while sculpting, store offset directly.
Diffstat (limited to 'source/blender/blenkernel/BKE_pbvh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_pbvh.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_pbvh.h b/source/blender/blenkernel/BKE_pbvh.h index 36806c8713c..9e21831dba0 100644 --- a/source/blender/blenkernel/BKE_pbvh.h +++ b/source/blender/blenkernel/BKE_pbvh.h @@ -238,6 +238,7 @@ typedef struct PBVHVertexIter { struct GSetIterator bm_unique_verts; struct GSetIterator bm_other_verts; struct CustomData *bm_vdata; + int cd_vert_mask_offset; /* result: these are all computed in the macro, but we assume * that compiler optimization's will skip the ones we don't use */ @@ -307,9 +308,7 @@ void pbvh_vertex_iter_init(PBVH *bvh, PBVHNode *node, continue; \ vi.co = vi.bm_vert->co; \ vi.fno = vi.bm_vert->no; \ - vi.mask = CustomData_bmesh_get(vi.bm_vdata, \ - vi.bm_vert->head.data, \ - CD_PAINT_MASK); \ + vi.mask = BM_ELEM_CD_GET_VOID_P(vi.bm_vert, vi.cd_vert_mask_offset); \ } #define BKE_pbvh_vertex_iter_end \ |