[Bf-blender-cvs] [f55863acd49] blender2.8: DRW: Augment Debug messages

Clément Foucault noreply at git.blender.org
Fri Aug 3 09:49:36 CEST 2018


Commit: f55863acd4977a1ec92e1d30f06a7ae6b894660d
Author: Clément Foucault
Date:   Fri Aug 3 09:49:22 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBf55863acd4977a1ec92e1d30f06a7ae6b894660d

DRW: Augment Debug messages

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

M	source/blender/draw/intern/draw_manager.h
M	source/blender/draw/intern/draw_manager_data.c
M	source/blender/draw/intern/draw_manager_exec.c

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

diff --git a/source/blender/draw/intern/draw_manager.h b/source/blender/draw/intern/draw_manager.h
index 9b01f17649c..902ecb9ee9b 100644
--- a/source/blender/draw/intern/draw_manager.h
+++ b/source/blender/draw/intern/draw_manager.h
@@ -262,10 +262,11 @@ struct DRWShadingGroup {
 #ifndef NDEBUG
 	char attribs_count;
 #endif
-
+#if !defined(NDEBUG) || defined(USE_GPU_SELECT)
+	DRWPass *pass_parent; /* backlink to pass we're in */
+#endif
 #ifdef USE_GPU_SELECT
 	GPUVertBuf *inst_selectid;
-	DRWPass *pass_parent; /* backlink to pass we're in */
 	int override_selectid; /* Override for single object instances. */
 #endif
 };
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index 407eea16d91..6b15803723b 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -122,7 +122,7 @@ static void drw_shgroup_uniform(DRWShadingGroup *shgroup, const char *name,
 
 	if (location == -1) {
 		if (G.debug & G_DEBUG)
-			fprintf(stderr, "Uniform '%s' not found!\n", name);
+			fprintf(stderr, "Pass : %s, Uniform '%s' not found!\n", shgroup->pass_parent->name, name);
 		/* Nice to enable eventually, for now eevee uses uniforms that might not exist. */
 		// BLI_assert(0);
 		return;
@@ -730,7 +730,7 @@ static DRWShadingGroup *drw_shgroup_create_ex(struct GPUShader *shader, DRWPass
 	shgroup->instance_vbo = NULL;
 #endif
 
-#ifdef USE_GPU_SELECT
+#if !defined(NDEBUG) || defined(USE_GPU_SELECT)
 	shgroup->pass_parent = pass;
 #endif
 
@@ -1026,7 +1026,7 @@ DRWPass *DRW_pass_create(const char *name, DRWState state)
 {
 	DRWPass *pass = BLI_mempool_alloc(DST.vmempool->passes);
 	pass->state = state;
-	if (G.debug_value > 20) {
+	if ((G.debug_value > 20) || (G.debug & G_DEBUG)) {
 		BLI_strncpy(pass->name, name, MAX_PASS_NAME);
 	}
 
diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c
index ed01080be87..004e0137c66 100644
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@ -950,10 +950,11 @@ static bool ubo_bindings_validate(DRWShadingGroup *shgroup)
 			char blockname[64];
 			glGetActiveUniformBlockName(program, i, sizeof(blockname), NULL, blockname);
 
-			printf("Trying to draw with missing UBO binding.\n");
-			printf("Shader : %s, Block : %s\n", shgroup->shader->name, blockname);
-
-			valid = false;
+			if (valid) {
+				printf("Trying to draw with missing UBO binding.\n");
+				valid = false;
+			}
+			printf("Pass : %s, Shader : %s, Block : %s\n", shgroup->pass_parent->name, shgroup->shader->name, blockname);
 		}
 	}
 #  endif



More information about the Bf-blender-cvs mailing list