Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-08-27 19:02:48 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-08-27 19:02:48 +0300
commit4b89bf88c7f0c4d8c8543bd73e632ed6ce898772 (patch)
tree3255a2646e462b68f5622b1570c08a0ccadeb9e2 /source/blender/draw/intern/draw_common.c
parent5238456adce2bb57a2ef0ae0546cb8786ba5cb04 (diff)
Revert "DRW: Remove unecessary GL calls"
This reverts commit f8c857ad72e29eb509bd04067f94cd3df8a54aa4.
Diffstat (limited to 'source/blender/draw/intern/draw_common.c')
-rw-r--r--source/blender/draw/intern/draw_common.c48
1 files changed, 22 insertions, 26 deletions
diff --git a/source/blender/draw/intern/draw_common.c b/source/blender/draw/intern/draw_common.c
index f90028d4486..30b1ebe07cd 100644
--- a/source/blender/draw/intern/draw_common.c
+++ b/source/blender/draw/intern/draw_common.c
@@ -47,30 +47,6 @@ GlobalsUboStorage ts;
struct GPUUniformBuffer *globals_ubo = NULL;
struct GPUTexture *globals_ramp = NULL;
-static struct GPUTexture *create_weight_ramp_texture(void)
-{
- ColorBand ramp = {0};
- float *colors;
- int col_size;
-
- ramp.tot = 3;
- ramp.data[0].b = 1.0f;
- ramp.data[1].g = 1.0f;
- ramp.data[2].r = 1.0f;
- ramp.data[0].a = ramp.data[1].a = ramp.data[2].a = 1.0f;
- ramp.data[0].pos = 0.0f;
- ramp.data[1].pos = 0.5f;
- ramp.data[2].pos = 1.0f;
-
- BKE_colorband_evaluate_table_rgba(&ramp, &colors, &col_size);
-
- struct GPUTexture *tex = GPU_texture_create_1D(col_size, GPU_RGBA8, colors, NULL);
-
- MEM_freeN(colors);
-
- return tex;
-}
-
void DRW_globals_update(void)
{
UI_GetThemeColor4fv(TH_WIRE, ts.colorWire);
@@ -155,9 +131,29 @@ void DRW_globals_update(void)
DRW_uniformbuffer_update(globals_ubo, &ts);
- if (globals_ramp == NULL) {
- globals_ramp = create_weight_ramp_texture();
+ ColorBand ramp = {0};
+ float *colors;
+ int col_size;
+
+ ramp.tot = 3;
+ ramp.data[0].a = 1.0f;
+ ramp.data[0].b = 1.0f;
+ ramp.data[0].pos = 0.0f;
+ ramp.data[1].a = 1.0f;
+ ramp.data[1].g = 1.0f;
+ ramp.data[1].pos = 0.5f;
+ ramp.data[2].a = 1.0f;
+ ramp.data[2].r = 1.0f;
+ ramp.data[2].pos = 1.0f;
+
+ BKE_colorband_evaluate_table_rgba(&ramp, &colors, &col_size);
+
+ if (globals_ramp) {
+ GPU_texture_free(globals_ramp);
}
+ globals_ramp = GPU_texture_create_1D(col_size, GPU_RGBA8, colors, NULL);
+
+ MEM_freeN(colors);
}
/* ********************************* SHGROUP ************************************* */