[Bf-blender-cvs] [4a8aaab0b2a] blender2.8: Draw Manager: Use engine type pointer instead of engine name.

Clément Foucault noreply at git.blender.org
Mon Apr 3 22:31:14 CEST 2017


Commit: 4a8aaab0b2ab84455450fcdd1e39e190862b0bb6
Author: Clément Foucault
Date:   Mon Apr 3 19:32:05 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB4a8aaab0b2ab84455450fcdd1e39e190862b0bb6

Draw Manager: Use engine type pointer instead of engine name.

Faster search

===================================================================

M	source/blender/draw/engines/clay/clay.c
M	source/blender/draw/engines/eevee/eevee_private.h
M	source/blender/draw/intern/DRW_render.h
M	source/blender/draw/intern/draw_manager.c
M	source/blender/draw/modes/edit_armature_mode.c
M	source/blender/draw/modes/edit_curve_mode.c
M	source/blender/draw/modes/edit_lattice_mode.c
M	source/blender/draw/modes/edit_mesh_mode.c
M	source/blender/draw/modes/edit_metaball_mode.c
M	source/blender/draw/modes/edit_surface_mode.c
M	source/blender/draw/modes/edit_text_mode.c
M	source/blender/draw/modes/object_mode.c
M	source/blender/draw/modes/paint_texture_mode.c
M	source/blender/draw/modes/paint_vertex_mode.c
M	source/blender/draw/modes/paint_weight_mode.c
M	source/blender/draw/modes/particle_mode.c
M	source/blender/draw/modes/pose_mode.c
M	source/blender/draw/modes/sculpt_mode.c
M	source/blender/gpu/GPU_viewport.h
M	source/blender/gpu/intern/gpu_viewport.c

===================================================================

diff --git a/source/blender/draw/engines/clay/clay.c b/source/blender/draw/engines/clay/clay.c
index 6294715e01c..23cfe82276f 100644
--- a/source/blender/draw/engines/clay/clay.c
+++ b/source/blender/draw/engines/clay/clay.c
@@ -106,7 +106,7 @@ typedef struct CLAY_PassList {
 } CLAY_PassList;
 
 typedef struct CLAY_Data {
-	char engine_name[32];
+	void *engine_type;
 	CLAY_FramebufferList *fbl;
 	CLAY_TextureList *txl;
 	CLAY_PassList *psl;
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h
index b81731a9188..401b39fbd3e 100644
--- a/source/blender/draw/engines/eevee/eevee_private.h
+++ b/source/blender/draw/engines/eevee/eevee_private.h
@@ -58,7 +58,7 @@ typedef struct EEVEE_LightsInfo {
 } EEVEE_LightsInfo;
 
 typedef struct EEVEE_Data {
-	char engine_name[32];
+	void *engine_type;
 	EEVEE_FramebufferList *fbl;
 	EEVEE_TextureList *txl;
 	EEVEE_PassList *psl;
diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index dcef328e4ce..8a6f0b4511a 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -237,7 +237,6 @@ typedef enum {
 
 void DRW_viewport_init(const bContext *C);
 void DRW_viewport_matrix_get(float mat[4][4], DRWViewportMatrixType type);
-void *DRW_viewport_engine_data_get(const char *engine_name);
 float *DRW_viewport_size_get(void);
 float *DRW_viewport_screenvecs_get(void);
 float *DRW_viewport_pixelsize_get(void);
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index a674c532310..c8828fad745 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -1292,12 +1292,12 @@ void DRW_framebuffer_blit(struct GPUFrameBuffer *fb_read, struct GPUFrameBuffer
 }
 
 /* ****************************************** Viewport ******************************************/
-void *DRW_viewport_engine_data_get(const char *engine_name)
+static void *DRW_viewport_engine_data_get(void *engine_type)
 {
-	void *data = GPU_viewport_engine_data_get(DST.viewport, engine_name);
+	void *data = GPU_viewport_engine_data_get(DST.viewport, engine_type);
 
 	if (data == NULL) {
-		data = GPU_viewport_engine_data_create(DST.viewport, engine_name);
+		data = GPU_viewport_engine_data_create(DST.viewport, engine_type);
 	}
 	return data;
 }
@@ -1421,7 +1421,7 @@ static void DRW_engines_init(void)
 {
 	for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
 		DrawEngineType *engine = link->data;
-		ViewportEngineData *data = DRW_viewport_engine_data_get(engine->idname);
+		ViewportEngineData *data = DRW_viewport_engine_data_get(engine);
 		double stime = PIL_check_seconds_timer();
 
 		if (engine->engine_init) {
@@ -1437,7 +1437,7 @@ static void DRW_engines_cache_init(void)
 {
 	for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
 		DrawEngineType *engine = link->data;
-		ViewportEngineData *data = DRW_viewport_engine_data_get(engine->idname);
+		ViewportEngineData *data = DRW_viewport_engine_data_get(engine);
 		double stime = PIL_check_seconds_timer();
 		data->cache_time = 0.0;
 
@@ -1453,7 +1453,7 @@ static void DRW_engines_cache_populate(Object *ob)
 {
 	for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
 		DrawEngineType *engine = link->data;
-		ViewportEngineData *data = DRW_viewport_engine_data_get(engine->idname);
+		ViewportEngineData *data = DRW_viewport_engine_data_get(engine);
 		double stime = PIL_check_seconds_timer();
 
 		if (engine->cache_populate) {
@@ -1468,7 +1468,7 @@ static void DRW_engines_cache_finish(void)
 {
 	for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
 		DrawEngineType *engine = link->data;
-		ViewportEngineData *data = DRW_viewport_engine_data_get(engine->idname);
+		ViewportEngineData *data = DRW_viewport_engine_data_get(engine);
 		double stime = PIL_check_seconds_timer();
 
 		if (engine->cache_finish) {
@@ -1483,7 +1483,7 @@ static void DRW_engines_draw_background(void)
 {
 	for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
 		DrawEngineType *engine = link->data;
-		ViewportEngineData *data = DRW_viewport_engine_data_get(engine->idname);
+		ViewportEngineData *data = DRW_viewport_engine_data_get(engine);
 		double stime = PIL_check_seconds_timer();
 
 		if (engine->draw_background) {
@@ -1503,7 +1503,7 @@ static void DRW_engines_draw_scene(void)
 {
 	for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
 		DrawEngineType *engine = link->data;
-		ViewportEngineData *data = DRW_viewport_engine_data_get(engine->idname);
+		ViewportEngineData *data = DRW_viewport_engine_data_get(engine);
 		double stime = PIL_check_seconds_timer();
 
 		if (engine->draw_scene) {
@@ -1642,7 +1642,7 @@ static void DRW_debug_cpu_stats(void)
 	for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
 		u = 0;
 		DrawEngineType *engine = link->data;
-		ViewportEngineData *data = DRW_viewport_engine_data_get(engine->idname);
+		ViewportEngineData *data = DRW_viewport_engine_data_get(engine);
 
 		draw_stat(&rect, u++, v, engine->idname, sizeof(engine->idname));
 
@@ -1702,7 +1702,7 @@ static void DRW_debug_gpu_stats(void)
 	for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
 		GLuint64 engine_time = 0;
 		DrawEngineType *engine = link->data;
-		ViewportEngineData *data = DRW_viewport_engine_data_get(engine->idname);
+		ViewportEngineData *data = DRW_viewport_engine_data_get(engine);
 		int vsta = v;
 
 		draw_stat(&rect, 0, v, engine->idname, sizeof(engine->idname));
diff --git a/source/blender/draw/modes/edit_armature_mode.c b/source/blender/draw/modes/edit_armature_mode.c
index 5361bd1c89f..6111b9b160b 100644
--- a/source/blender/draw/modes/edit_armature_mode.c
+++ b/source/blender/draw/modes/edit_armature_mode.c
@@ -48,7 +48,7 @@ typedef struct EDIT_ARMATURE_StorageList {
 } EDIT_ARMATURE_StorageList;
 
 typedef struct EDIT_ARMATURE_Data {
-	char engine_name[32];
+	void *engine_type;
 	void *fbl;
 	void *txl;
 	EDIT_ARMATURE_PassList *psl;
diff --git a/source/blender/draw/modes/edit_curve_mode.c b/source/blender/draw/modes/edit_curve_mode.c
index f8010fbd570..d70db64d946 100644
--- a/source/blender/draw/modes/edit_curve_mode.c
+++ b/source/blender/draw/modes/edit_curve_mode.c
@@ -83,7 +83,7 @@ typedef struct EDIT_CURVE_Data {
 	/* Struct returned by DRW_viewport_engine_data_get.
 	 * If you don't use one of these, just make it a (void *) */
 	// void *fbl;
-	char engine_name[32]; /* Required */
+	void *engine_type; /* Required */
 	EDIT_CURVE_FramebufferList *fbl;
 	EDIT_CURVE_TextureList *txl;
 	EDIT_CURVE_PassList *psl;
diff --git a/source/blender/draw/modes/edit_lattice_mode.c b/source/blender/draw/modes/edit_lattice_mode.c
index 27ea05650cb..79d43c73378 100644
--- a/source/blender/draw/modes/edit_lattice_mode.c
+++ b/source/blender/draw/modes/edit_lattice_mode.c
@@ -83,7 +83,7 @@ typedef struct EDIT_LATTICE_Data {
 	/* Struct returned by DRW_viewport_engine_data_get.
 	 * If you don't use one of these, just make it a (void *) */
 	// void *fbl;
-	char engine_name[32]; /* Required */
+	void *engine_type; /* Required */
 	EDIT_LATTICE_FramebufferList *fbl;
 	EDIT_LATTICE_TextureList *txl;
 	EDIT_LATTICE_PassList *psl;
diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c
index 713ae607ef4..2991d212efa 100644
--- a/source/blender/draw/modes/edit_mesh_mode.c
+++ b/source/blender/draw/modes/edit_mesh_mode.c
@@ -81,7 +81,7 @@ typedef struct EDIT_MESH_StorageList {
 } EDIT_MESH_StorageList;
 
 typedef struct EDIT_MESH_Data {
-	char engine_name[32];
+	void *engine_type;
 	EDIT_MESH_FramebufferList *fbl;
 	EDIT_MESH_TextureList *txl;
 	EDIT_MESH_PassList *psl;
diff --git a/source/blender/draw/modes/edit_metaball_mode.c b/source/blender/draw/modes/edit_metaball_mode.c
index f993537369f..098dca7ac38 100644
--- a/source/blender/draw/modes/edit_metaball_mode.c
+++ b/source/blender/draw/modes/edit_metaball_mode.c
@@ -83,7 +83,7 @@ typedef struct EDIT_METABALL_Data {
 	/* Struct returned by DRW_viewport_engine_data_get.
 	 * If you don't use one of these, just make it a (void *) */
 	// void *fbl;
-	char engine_name[32]; /* Required */
+	void *engine_type; /* Required */
 	EDIT_METABALL_FramebufferList *fbl;
 	EDIT_METABALL_TextureList *txl;
 	EDIT_METABALL_PassList *psl;
diff --git a/source/blender/draw/modes/edit_surface_mode.c b/source/blender/draw/modes/edit_surface_mode.c
index 6cfe0f1344b..fcae505a673 100644
--- a/source/blender/draw/modes/edit_surface_mode.c
+++ b/source/blender/draw/modes/edit_surface_mode.c
@@ -83,7 +83,7 @@ typedef struct EDIT_SURFACE_Data {
 	/* Struct returned by DRW_viewport_engine_data_get.
 	 * If you don't use one of these, just make it a (void *) */
 	// void *fbl;
-	char engine_name[32]; /* Required */
+	void *engine_type; /* Required */
 	EDIT_SURFACE_FramebufferList *fbl;
 	EDIT_SURFACE_TextureList *txl;
 	EDIT_SURFACE_PassList *psl;
diff --git a/source/blender/draw/modes/edit_text_mode.c b/source/blender/draw/modes/edit_text_mode.c
index 4f48448f108..2a1b0d4e4ae 100644
--- a/source/blender/draw/modes/edit_text_mode.c
+++ b/source/blender/draw/modes/edit_text_mode.c
@@ -83,7 +83,7 @@ typedef struct EDIT_TEXT_Data {
 	/* Struct returned by DRW_viewport_engine_data_get.
 	 * If you don't use one of these, just make it a (void *) */
 	// void *fbl;
-	char engine_name[32]; /* Required */
+	void *engine_type; /* Required */
 	EDIT_TEXT_FramebufferList *fbl;
 	EDIT_TEXT_TextureList *txl;
 	EDIT_TEXT_PassList *psl;
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c
index 5920889a453..0656485f792 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -93,7 +93,7 @@ typedef struct OBJECT_StorageList {
 } OBJECT_StorageList;
 
 typedef struct OBJECT_Data {
-	char engine_name[32];
+	void *engine_type;
 	void *fbl;
 	void *txl;
 	OBJECT_PassList *psl;
diff --git a/source/blender/draw/modes/paint_texture_mode.c b/source/blender/draw/modes/paint_texture_mode.c
index e6221c4efc3..

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list