[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