[Bf-blender-cvs] [ddc5896c81a] blender2.8: Draw Manager: Improve debug

Clément Foucault noreply at git.blender.org
Tue May 16 21:31:09 CEST 2017


Commit: ddc5896c81ad247fac440b86657b9843c315dd88
Author: Clément Foucault
Date:   Tue May 16 03:07:47 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBddc5896c81ad247fac440b86657b9843c315dd88

Draw Manager: Improve debug

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

M	source/blender/draw/intern/draw_manager.c

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

diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 691b2e28dd6..2a5b53580ed 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -2650,47 +2650,45 @@ static void DRW_debug_gpu_stats(void)
 	int v = BLI_listbase_count(&DST.enabled_engines) + 3;
 	GLuint64 tot_time = 0;
 
-	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);
-		int vsta = v;
+	if (G.debug_value > 666) {
+		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);
+			int vsta = v;
 
-		draw_stat(&rect, 0, v, engine->idname, sizeof(engine->idname));
-		v++;
+			draw_stat(&rect, 0, v, engine->idname, sizeof(engine->idname));
+			v++;
 
-		for (int i = 0; i < engine->vedata_size->psl_len; ++i) {
-			DRWPass *pass = data->psl->passes[i];
-			if (pass != NULL) {
-				GLuint64 time;
-				glGetQueryObjectui64v(pass->timer_queries[pass->front_idx], GL_QUERY_RESULT, &time);
+			for (int i = 0; i < engine->vedata_size->psl_len; ++i) {
+				DRWPass *pass = data->psl->passes[i];
+				if (pass != NULL && pass->wasdrawn) {
+					GLuint64 time;
+					glGetQueryObjectui64v(pass->timer_queries[pass->front_idx], GL_QUERY_RESULT, &time);
 
-				sprintf(pass_name, "   |--> %s", pass->name);
-				draw_stat(&rect, 0, v, pass_name, sizeof(pass_name));
+					sprintf(pass_name, "   |--> %s", pass->name);
+					draw_stat(&rect, 0, v, pass_name, sizeof(pass_name));
 
-				if (pass->wasdrawn) {
 					sprintf(time_to_txt, "%.2fms", time / 1000000.0);
 					engine_time += time;
 					tot_time += time;
-				}
-				else {
-					sprintf(time_to_txt, "Not drawn");
-				}
-				draw_stat(&rect, 2, v++, time_to_txt, sizeof(time_to_txt));
 
-				pass->wasdrawn = false;
+					draw_stat(&rect, 2, v++, time_to_txt, sizeof(time_to_txt));
+
+					pass->wasdrawn = false;
+				}
 			}
+			/* engine total time */
+			sprintf(time_to_txt, "%.2fms", engine_time / 1000000.0);
+			draw_stat(&rect, 2, vsta, time_to_txt, sizeof(time_to_txt));
+			v++;
 		}
-		/* engine total time */
-		sprintf(time_to_txt, "%.2fms", engine_time / 1000000.0);
-		draw_stat(&rect, 2, vsta, time_to_txt, sizeof(time_to_txt));
+
+		sprintf(pass_name, "Total GPU time %.2fms (%.1f fps)", tot_time / 1000000.0, 1000000000.0 / tot_time);
+		draw_stat(&rect, 0, v++, pass_name, sizeof(pass_name));
 		v++;
 	}
 
-	sprintf(pass_name, "Total GPU time %.2fms (%.1f fps)", tot_time / 1000000.0, 1000000000.0 / tot_time);
-	draw_stat(&rect, 0, v++, pass_name, sizeof(pass_name));
-	v++;
-
 	/* Memory Stats */
 	unsigned int tex_mem = GPU_texture_memory_usage_get();
 	unsigned int vbo_mem = VertexBuffer_get_memory_usage();




More information about the Bf-blender-cvs mailing list