[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