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-08-03 10:49:22 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-08-03 10:49:31 +0300
commitf55863acd4977a1ec92e1d30f06a7ae6b894660d (patch)
tree8475eb30f14406a22f34aa450145d0ccc35c3bd7 /source/blender/draw/intern
parentfa0f938b111ffa281865613f80e425c27f3096b3 (diff)
DRW: Augment Debug messages
Diffstat (limited to 'source/blender/draw/intern')
-rw-r--r--source/blender/draw/intern/draw_manager.h5
-rw-r--r--source/blender/draw/intern/draw_manager_data.c6
-rw-r--r--source/blender/draw/intern/draw_manager_exec.c9
3 files changed, 11 insertions, 9 deletions
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