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. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to