diff options
Diffstat (limited to 'source/blender/draw/intern/draw_cache_extract_mesh_private.h')
-rw-r--r-- | source/blender/draw/intern/draw_cache_extract_mesh_private.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_cache_extract_mesh_private.h b/source/blender/draw/intern/draw_cache_extract_mesh_private.h index a1249203060..e4ea3e44843 100644 --- a/source/blender/draw/intern/draw_cache_extract_mesh_private.h +++ b/source/blender/draw/intern/draw_cache_extract_mesh_private.h @@ -406,7 +406,6 @@ typedef void(ExtractLVertMeshFn)(const MeshRenderData *mr, /* ---------------------------------------------------------------------- */ /** \name Mesh Elements Extract Struct * \{ */ - /* TODO(jbakker): move parameters inside a struct. */ typedef void *(ExtractInitFn)(const MeshRenderData *mr, struct MeshBatchCache *cache, @@ -415,10 +414,14 @@ typedef void(ExtractFinishFn)(const MeshRenderData *mr, struct MeshBatchCache *cache, void *buffer, void *data); +typedef void *(ExtractTaskInitFn)(void *userdata); +typedef void(ExtractTaskFinishFn)(void *userdata, void *task_userdata); typedef struct MeshExtract { /** Executed on main thread and return user data for iteration functions. */ ExtractInitFn *init; + /** Task local data. */ + ExtractTaskInitFn *task_init; /** Executed on one (or more if use_threading) worker thread(s). */ ExtractTriBMeshFn *iter_looptri_bm; ExtractTriMeshFn *iter_looptri_mesh; @@ -429,6 +432,7 @@ typedef struct MeshExtract { ExtractLVertBMeshFn *iter_lvert_bm; ExtractLVertMeshFn *iter_lvert_mesh; /** Executed on one worker thread after all elements iterations. */ + ExtractTaskFinishFn *task_finish; ExtractFinishFn *finish; /** Used to request common data. */ eMRDataType data_type; |