Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-01-09 16:09:14 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-01-09 16:54:11 +0300
commitaa0097ad5e80278c0e08f64472b7bd1b402838da (patch)
tree9285327504e045bd024c48e594bb190ca1e6bf4f /source/blender/draw/DRW_engine.h
parent2237ee3ed7181a0c14d84fd26dc37cf5292d232d (diff)
DRW: Add instance data memory manager.
This is a special memory manager that keeps memory blocks ready to send as vbo data. Since we loose which memory block was used each DRWShadingGroup we need to redistribute them in the same order/size to avoid to realloc each frame. This is why DRWInstanceDatas are sorted in a list for each different data size.
Diffstat (limited to 'source/blender/draw/DRW_engine.h')
-rw-r--r--source/blender/draw/DRW_engine.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/draw/DRW_engine.h b/source/blender/draw/DRW_engine.h
index 3f09f38147e..7fa640683e1 100644
--- a/source/blender/draw/DRW_engine.h
+++ b/source/blender/draw/DRW_engine.h
@@ -30,6 +30,7 @@ struct ARegion;
struct CollectionEngineSettings;
struct Depsgraph;
struct DRWPass;
+struct DRWInstanceDataList;
struct Main;
struct Material;
struct Scene;
@@ -109,6 +110,8 @@ void DRW_draw_depth_loop(
/* This is here because GPUViewport needs it */
void DRW_pass_free(struct DRWPass *pass);
+struct DRWInstanceDataList *DRW_instance_data_list_create(void);
+void DRW_instance_data_list_free(struct DRWInstanceDataList *idatalist);
/* Mode engines initialization */
void OBJECT_collection_settings_create(struct IDProperty *properties);