[Bf-blender-cvs] [7f40d553f90] master: Cleanp: use single global for draw manager

Campbell Barton noreply at git.blender.org
Tue Jan 22 02:17:14 CET 2019


Commit: 7f40d553f90358c5383100f4f5b5e2410dcd7369
Author: Campbell Barton
Date:   Tue Jan 22 12:09:27 2019 +1100
Branches: master
https://developer.blender.org/rB7f40d553f90358c5383100f4f5b5e2410dcd7369

Cleanp: use single global for draw manager

Add 'G_draw' for all draw manager globals,
avoids adding extern to each file.

Connection between `ts` and `globals_ubo` wasn't obvious,
now called `G_draw.block` & `G_draw.block_ubo`.

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

M	source/blender/draw/engines/eevee/eevee_engine.c
M	source/blender/draw/engines/eevee/eevee_lightprobes.c
M	source/blender/draw/engines/eevee/eevee_materials.c
M	source/blender/draw/engines/eevee/eevee_shaders.c
M	source/blender/draw/intern/draw_anim_viz.c
M	source/blender/draw/intern/draw_common.c
M	source/blender/draw/intern/draw_common.h
M	source/blender/draw/intern/draw_manager.c
M	source/blender/draw/modes/edit_armature_mode.c
M	source/blender/draw/modes/edit_curve_mode.c
M	source/blender/draw/modes/edit_lattice_mode.c
M	source/blender/draw/modes/edit_mesh_mode.c
M	source/blender/draw/modes/edit_metaball_mode.c
M	source/blender/draw/modes/edit_text_mode.c
M	source/blender/draw/modes/object_mode.c
M	source/blender/draw/modes/overlay_mode.c
M	source/blender/draw/modes/paint_texture_mode.c
M	source/blender/draw/modes/paint_vertex_mode.c
M	source/blender/draw/modes/paint_weight_mode.c
M	source/blender/draw/modes/particle_mode.c
M	source/blender/draw/modes/pose_mode.c

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

diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c
index 23db700d8d7..47010fe37d8 100644
--- a/source/blender/draw/engines/eevee/eevee_engine.c
+++ b/source/blender/draw/engines/eevee/eevee_engine.c
@@ -44,7 +44,6 @@
 
 #define EEVEE_ENGINE "BLENDER_EEVEE"
 
-extern GlobalsUboStorage ts;
 
 /* *********** FUNCTIONS *********** */
 
diff --git a/source/blender/draw/engines/eevee/eevee_lightprobes.c b/source/blender/draw/engines/eevee/eevee_lightprobes.c
index 52bc4b9c55f..a9e51b8ebe8 100644
--- a/source/blender/draw/engines/eevee/eevee_lightprobes.c
+++ b/source/blender/draw/engines/eevee/eevee_lightprobes.c
@@ -65,7 +65,6 @@ static struct {
 	struct GPUVertFormat *format_probe_display_planar;
 } e_data = {NULL}; /* Engine data */
 
-extern GlobalsUboStorage ts;
 
 /* *********** FUNCTIONS *********** */
 
@@ -316,7 +315,7 @@ void EEVEE_lightprobes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedat
 		Scene *scene = draw_ctx->scene;
 		World *wo = scene->world;
 
-		float *col = ts.colorBackground;
+		const float *col = G_draw.block.colorBackground;
 
 		/* LookDev */
 		EEVEE_lookdev_cache_init(vedata, &grp, psl->probe_background, wo, pinfo);
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c
index 00990233cde..43762bd3bae 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -108,7 +108,6 @@ extern char datatoc_volumetric_lib_glsl[];
 extern char datatoc_gpu_shader_uniform_color_frag_glsl[];
 
 extern Material defmaterial;
-extern GlobalsUboStorage ts;
 
 /* *********** FUNCTIONS *********** */
 
@@ -961,7 +960,7 @@ void EEVEE_materials_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
 		Scene *scene = draw_ctx->scene;
 		World *wo = scene->world;
 
-		float *col = ts.colorBackground;
+		const float *col = G_draw.block.colorBackground;
 
 		/* LookDev */
 		EEVEE_lookdev_cache_init(vedata, &grp, psl->background_pass, wo, NULL);
diff --git a/source/blender/draw/engines/eevee/eevee_shaders.c b/source/blender/draw/engines/eevee/eevee_shaders.c
index 29b30e7763e..b0b849bbd1e 100644
--- a/source/blender/draw/engines/eevee/eevee_shaders.c
+++ b/source/blender/draw/engines/eevee/eevee_shaders.c
@@ -97,7 +97,6 @@ extern char datatoc_effect_velocity_resolve_frag_glsl[];
 /* Temporal Sampling */
 extern char datatoc_effect_temporal_aa_glsl[];
 
-extern GlobalsUboStorage ts;
 
 /* *********** FUNCTIONS *********** */
 
diff --git a/source/blender/draw/intern/draw_anim_viz.c b/source/blender/draw/intern/draw_anim_viz.c
index 871358f815b..60dfea7be7d 100644
--- a/source/blender/draw/intern/draw_anim_viz.c
+++ b/source/blender/draw/intern/draw_anim_viz.c
@@ -64,8 +64,6 @@
 
 #include "draw_mode_engines.h"
 
-extern struct GPUUniformBuffer *globals_ubo; /* draw_common.c */
-
 /* ********************************* Lists ************************************** */
 /* All lists are per viewport specific datas.
  * They are all free when viewport changes engines
@@ -230,7 +228,7 @@ static void MPATH_cache_motion_path(MPATH_PassList *psl,
 		DRW_shgroup_uniform_bool_copy(shgrp, "selected", sel);
 		DRW_shgroup_uniform_bool_copy(shgrp, "useCustomColor", use_custom_col);
 		DRW_shgroup_uniform_vec2(shgrp, "viewportSize", DRW_viewport_size_get(), 1);
-		DRW_shgroup_uniform_block(shgrp, "globalsBlock", globals_ubo);
+		DRW_shgroup_uniform_block(shgrp, "globalsBlock", G_draw.block_ubo);
 		if (use_custom_col) {
 			DRW_shgroup_uniform_vec3(shgrp, "customColor", mpath->color, 1);
 		}
@@ -247,7 +245,7 @@ static void MPATH_cache_motion_path(MPATH_PassList *psl,
 	DRW_shgroup_uniform_bool_copy(shgrp, "selected", sel);
 	DRW_shgroup_uniform_bool_copy(shgrp, "showKeyFrames", show_keyframes);
 	DRW_shgroup_uniform_bool_copy(shgrp, "useCustomColor", use_custom_col);
-	DRW_shgroup_uniform_block(shgrp, "globalsBlock", globals_ubo);
+	DRW_shgroup_uniform_block(shgrp, "globalsBlock", G_draw.block_ubo);
 	if (use_custom_col) {
 		DRW_shgroup_uniform_vec3(shgrp, "customColor", mpath->color, 1);
 	}
diff --git a/source/blender/draw/intern/draw_common.c b/source/blender/draw/intern/draw_common.c
index 6145da7feca..83ea2cc802c 100644
--- a/source/blender/draw/intern/draw_common.c
+++ b/source/blender/draw/intern/draw_common.c
@@ -44,10 +44,7 @@
 	ARRAY_SET_ITEMS(v4, (float)r / 255.0f, (float)g / 255.0f, (float)b / 255.0f, (float)a / 255.0f)
 
 /* Colors & Constant */
-GlobalsUboStorage ts;
-struct GPUUniformBuffer *globals_ubo = NULL;
-struct GPUTexture *globals_ramp = NULL;
-struct GPUTexture *globals_weight_ramp = NULL;
+struct DRW_Global G_draw = {0};
 
 static bool weight_ramp_custom = false;
 static ColorBand weight_ramp_copy;
@@ -56,119 +53,121 @@ static struct GPUTexture *DRW_create_weight_colorramp_texture(void);
 
 void DRW_globals_update(void)
 {
-	UI_GetThemeColor4fv(TH_WIRE, ts.colorWire);
-	UI_GetThemeColor4fv(TH_WIRE_EDIT, ts.colorWireEdit);
-	UI_GetThemeColor4fv(TH_ACTIVE, ts.colorActive);
-	UI_GetThemeColor4fv(TH_SELECT, ts.colorSelect);
-	UI_COLOR_RGBA_FROM_U8(0x88, 0xFF, 0xFF, 155, ts.colorLibrarySelect);
-	UI_COLOR_RGBA_FROM_U8(0x55, 0xCC, 0xCC, 155, ts.colorLibrary);
-	UI_GetThemeColor4fv(TH_TRANSFORM, ts.colorTransform);
-	UI_GetThemeColor4fv(TH_LAMP, ts.colorLamp);
-	UI_GetThemeColor4fv(TH_SPEAKER, ts.colorSpeaker);
-	UI_GetThemeColor4fv(TH_CAMERA, ts.colorCamera);
-	UI_GetThemeColor4fv(TH_EMPTY, ts.colorEmpty);
-	UI_GetThemeColor4fv(TH_VERTEX, ts.colorVertex);
-	UI_GetThemeColor4fv(TH_VERTEX_SELECT, ts.colorVertexSelect);
-	UI_GetThemeColor4fv(TH_VERTEX_UNREFERENCED, ts.colorVertexUnreferenced);
-	UI_COLOR_RGBA_FROM_U8(0xB0, 0x00, 0xB0, 0xFF, ts.colorVertexMissingData);
-	UI_GetThemeColor4fv(TH_EDITMESH_ACTIVE, ts.colorEditMeshActive);
-	UI_GetThemeColor4fv(TH_EDGE_SELECT, ts.colorEdgeSelect);
-
-	UI_GetThemeColor4fv(TH_EDGE_SEAM, ts.colorEdgeSeam);
-	UI_GetThemeColor4fv(TH_EDGE_SHARP, ts.colorEdgeSharp);
-	UI_GetThemeColor4fv(TH_EDGE_CREASE, ts.colorEdgeCrease);
-	UI_GetThemeColor4fv(TH_EDGE_BEVEL, ts.colorEdgeBWeight);
-	UI_GetThemeColor4fv(TH_EDGE_FACESEL, ts.colorEdgeFaceSelect);
-	UI_GetThemeColor4fv(TH_FACE, ts.colorFace);
-	UI_GetThemeColor4fv(TH_FACE_SELECT, ts.colorFaceSelect);
-	UI_GetThemeColor4fv(TH_NORMAL, ts.colorNormal);
-	UI_GetThemeColor4fv(TH_VNORMAL, ts.colorVNormal);
-	UI_GetThemeColor4fv(TH_LNORMAL, ts.colorLNormal);
-	UI_GetThemeColor4fv(TH_FACE_DOT, ts.colorFaceDot);
-	UI_GetThemeColor4fv(TH_BACK, ts.colorBackground);
+	GlobalsUboStorage *gb = &G_draw.block;
+
+	UI_GetThemeColor4fv(TH_WIRE, gb->colorWire);
+	UI_GetThemeColor4fv(TH_WIRE_EDIT, gb->colorWireEdit);
+	UI_GetThemeColor4fv(TH_ACTIVE, gb->colorActive);
+	UI_GetThemeColor4fv(TH_SELECT, gb->colorSelect);
+	UI_COLOR_RGBA_FROM_U8(0x88, 0xFF, 0xFF, 155, gb->colorLibrarySelect);
+	UI_COLOR_RGBA_FROM_U8(0x55, 0xCC, 0xCC, 155, gb->colorLibrary);
+	UI_GetThemeColor4fv(TH_TRANSFORM, gb->colorTransform);
+	UI_GetThemeColor4fv(TH_LAMP, gb->colorLamp);
+	UI_GetThemeColor4fv(TH_SPEAKER, gb->colorSpeaker);
+	UI_GetThemeColor4fv(TH_CAMERA, gb->colorCamera);
+	UI_GetThemeColor4fv(TH_EMPTY, gb->colorEmpty);
+	UI_GetThemeColor4fv(TH_VERTEX, gb->colorVertex);
+	UI_GetThemeColor4fv(TH_VERTEX_SELECT, gb->colorVertexSelect);
+	UI_GetThemeColor4fv(TH_VERTEX_UNREFERENCED, gb->colorVertexUnreferenced);
+	UI_COLOR_RGBA_FROM_U8(0xB0, 0x00, 0xB0, 0xFF, gb->colorVertexMissingData);
+	UI_GetThemeColor4fv(TH_EDITMESH_ACTIVE, gb->colorEditMeshActive);
+	UI_GetThemeColor4fv(TH_EDGE_SELECT, gb->colorEdgeSelect);
+
+	UI_GetThemeColor4fv(TH_EDGE_SEAM, gb->colorEdgeSeam);
+	UI_GetThemeColor4fv(TH_EDGE_SHARP, gb->colorEdgeSharp);
+	UI_GetThemeColor4fv(TH_EDGE_CREASE, gb->colorEdgeCrease);
+	UI_GetThemeColor4fv(TH_EDGE_BEVEL, gb->colorEdgeBWeight);
+	UI_GetThemeColor4fv(TH_EDGE_FACESEL, gb->colorEdgeFaceSelect);
+	UI_GetThemeColor4fv(TH_FACE, gb->colorFace);
+	UI_GetThemeColor4fv(TH_FACE_SELECT, gb->colorFaceSelect);
+	UI_GetThemeColor4fv(TH_NORMAL, gb->colorNormal);
+	UI_GetThemeColor4fv(TH_VNORMAL, gb->colorVNormal);
+	UI_GetThemeColor4fv(TH_LNORMAL, gb->colorLNormal);
+	UI_GetThemeColor4fv(TH_FACE_DOT, gb->colorFaceDot);
+	UI_GetThemeColor4fv(TH_BACK, gb->colorBackground);
 
 	/* Custom median color to slightly affect the edit mesh colors. */
-	interp_v4_v4v4(ts.colorEditMeshMiddle, ts.colorVertexSelect, ts.colorWireEdit, 0.35f);
-	copy_v3_fl(ts.colorEditMeshMiddle, dot_v3v3(ts.colorEditMeshMiddle, (float[3]){0.3333f, 0.3333f, 0.3333f})); /* Desaturate */
+	interp_v4_v4v4(gb->colorEditMeshMiddle, gb->colorVertexSelect, gb->colorWireEdit, 0.35f);
+	copy_v3_fl(gb->colorEditMeshMiddle, dot_v3v3(gb->colorEditMeshMiddle, (float[3]){0.3333f, 0.3333f, 0.3333f})); /* Desaturate */
 
-	interp_v4_v4v4(ts.colorDupliSelect, ts.colorBackground, ts.colorSelect, 0.5f);
+	interp_v4_v4v4(gb->colorDupliSelect, gb->colorBackground, gb->colorSelect, 0.5f);
 	/* Was 50% in 2.7x since the background was lighter making it easier to tell the color from black,
 	 * with a darker background we need a more faded color. */
-	interp_v4_v4v4(ts.colorDupli, ts.colorBackground, ts.colorWire, 0.3f);
+	interp_v4_v4v4(gb->colorDupli, gb->colorBackground, gb->colorWire, 0.3f);
 
 #ifdef WITH_FREESTYLE
-	UI_GetThemeColor4fv(TH_FREESTYLE_EDGE_MARK, ts.colorEdgeFreestyle);
-	UI_GetThemeColor4fv(TH_FREESTYLE_FACE_MARK, ts.colorFaceFreestyle);
+	UI_GetThemeColor4fv(TH_FREESTYLE_EDGE_MARK, gb->colorEdgeFreestyle);
+	UI_GetThemeColor4fv(TH_FREESTYLE_FACE_MARK, gb->colorFaceFreestyle);
 #else
-	zero_v4(ts.colorEdgeFreestyle);
-	zero_v4(ts.colorFaceFreestyle);
+	zero_v4(gb->colorEdgeFreestyle);
+	zero_v4(gb->colorFaceFreestyle);
 #endif
 
 	/* Curve */
-	UI_GetThemeColor4fv(TH_HANDLE_FREE, ts.colorHandleFree);
-	UI_GetThemeColor4fv(TH_HANDLE_AUTO, ts.colorHandleAuto);
-	UI_GetThemeColor4fv(TH_HANDLE_VECT, ts.colorHandleVect);
-	UI_GetThemeColor4fv(TH_HANDLE_ALIGN, ts.colorHandleAlign);
-	UI_GetThemeColor4fv(TH_HANDLE_AUTOCLAMP, ts.colorHandleAutoclamp);
-	UI_GetThemeColor4fv(TH_HANDLE_SEL_FREE, ts.colorHandleSelFree);
-	UI_GetThemeColor4fv(TH_HANDLE_SEL_AUTO, ts.colorHandleSelAuto);
-	UI_GetThemeColor4fv(TH_HANDLE_SEL_VECT, ts.colorHandleSelVect)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list