[Bf-blender-cvs] [c65f4b3d76d] master: DrawManager: Early return for buffer cache creation
Germano Cavalcante
noreply at git.blender.org
Fri May 28 16:51:24 CEST 2021
Commit: c65f4b3d76deb47017a2e661290481e5e613b5db
Author: Germano Cavalcante
Date: Fri May 28 11:51:05 2021 -0300
Branches: master
https://developer.blender.org/rBc65f4b3d76deb47017a2e661290481e5e613b5db
DrawManager: Early return for buffer cache creation
No real functional changes.
This is useful for benchmark cases when `cache->uv_cage` is passed but
has no buffers are requested.
===================================================================
M source/blender/draw/intern/draw_cache_extract_mesh.c
===================================================================
diff --git a/source/blender/draw/intern/draw_cache_extract_mesh.c b/source/blender/draw/intern/draw_cache_extract_mesh.c
index f167ea3d540..fe162e6ea6d 100644
--- a/source/blender/draw/intern/draw_cache_extract_mesh.c
+++ b/source/blender/draw/intern/draw_cache_extract_mesh.c
@@ -5956,12 +5956,14 @@ void mesh_buffer_cache_create_requested(struct TaskGraph *task_graph,
eMRDataType data_flag = 0;
const bool do_lines_loose_subbuffer = mbc.ibo.lines_loose != NULL;
+ bool do_extract = false;
#define TEST_ASSIGN(type, type_lowercase, name) \
do { \
if (DRW_TEST_ASSIGN_##type(mbc.type_lowercase.name)) { \
iter_flag |= mesh_extract_iter_type(&extract_##name); \
data_flag |= extract_##name.data_flag; \
+ do_extract = true; \
} \
} while (0)
@@ -6000,6 +6002,10 @@ void mesh_buffer_cache_create_requested(struct TaskGraph *task_graph,
TEST_ASSIGN(IBO, ibo, edituv_points);
TEST_ASSIGN(IBO, ibo, edituv_fdots);
+ if (!do_extract) {
+ return;
+ }
+
if (do_lines_loose_subbuffer) {
iter_flag |= MR_ITER_LEDGE;
}
More information about the Bf-blender-cvs
mailing list