[Bf-blender-cvs] [bc6358a5800] blender2.8: DRW: Add uniform name recording in debug mode.

Clément Foucault noreply at git.blender.org
Sat Jun 2 21:22:45 CEST 2018


Commit: bc6358a580081dfaf5e7711733c9cd9ba7b23eaa
Author: Clément Foucault
Date:   Sat Jun 2 20:46:04 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBbc6358a580081dfaf5e7711733c9cd9ba7b23eaa

DRW: Add uniform name recording in debug mode.

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

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

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

diff --git a/source/blender/draw/intern/draw_manager.h b/source/blender/draw/intern/draw_manager.h
index ae485ba9489..7cb6aef818b 100644
--- a/source/blender/draw/intern/draw_manager.h
+++ b/source/blender/draw/intern/draw_manager.h
@@ -182,6 +182,8 @@ typedef enum {
 	DRW_UNIFORM_BLOCK_PERSIST
 } DRWUniformType;
 
+#define MAX_UNIFORM_NAME 13
+
 struct DRWUniform {
 	DRWUniform *next; /* single-linked list */
 	union {
@@ -195,6 +197,9 @@ struct DRWUniform {
 	char type; /* DRWUniformType */
 	char length; /* cannot be more than 16 */
 	char arraysize; /* cannot be more than 16 too */
+#ifndef NDEBUG
+	char name[MAX_UNIFORM_NAME];
+#endif
 };
 
 typedef enum {
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index 9b707a81761..a12780f9606 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -132,6 +132,11 @@ static void drw_shgroup_uniform(DRWShadingGroup *shgroup, const char *name,
 	BLI_assert(length >= 0 && length <= 16);
 
 	drw_shgroup_uniform_create_ex(shgroup, location, type, value, length, arraysize);
+
+#ifndef NDEBUG
+	/* Save uniform name to easily identify it when debugging. */
+	BLI_strncpy(shgroup->uniforms->name, name, MAX_UNIFORM_NAME);
+#endif
 }
 
 void DRW_shgroup_uniform_texture(DRWShadingGroup *shgroup, const char *name, const GPUTexture *tex)



More information about the Bf-blender-cvs mailing list