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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-11-08 17:56:56 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-11-08 18:01:02 +0300
commit11a53ec28a6abd9c0335c6f34b7862003574128b (patch)
tree6545b1537c7f6ab2f2d081c26f3b8603fc39bff6 /source/blender/editors/render/render_update.c
parentd4370e2e0089be66f98210f6374031186dee4758 (diff)
Fix T57689: world nodes / texture not updating for Eevee.
Only do GPU material updates through depsgraph evaluation now. This was already happening for material, just missing for the world.
Diffstat (limited to 'source/blender/editors/render/render_update.c')
-rw-r--r--source/blender/editors/render/render_update.c31
1 files changed, 2 insertions, 29 deletions
diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c
index 09d89e3b90f..c42eda678ba 100644
--- a/source/blender/editors/render/render_update.c
+++ b/source/blender/editors/render/render_update.c
@@ -58,8 +58,6 @@
#include "BKE_scene.h"
#include "BKE_workspace.h"
-#include "GPU_material.h"
-
#include "RE_engine.h"
#include "RE_pipeline.h"
@@ -73,8 +71,6 @@
#include "render_intern.h" // own include
-extern Material defmaterial;
-
/***************************** Render Engines ********************************/
void ED_render_scene_update(const DEGEditorUpdateContext *update_ctx, int updated)
@@ -244,22 +240,12 @@ static void material_changed(Main *UNUSED(bmain), Material *ma)
{
/* icons */
BKE_icon_changed(BKE_icon_id_ensure(&ma->id));
-
- /* glsl */
- if (ma->id.recalc & ID_RECALC) {
- if (!BLI_listbase_is_empty(&ma->gpumaterial)) {
- GPU_material_free(&ma->gpumaterial);
- }
- }
}
static void lamp_changed(Main *UNUSED(bmain), Lamp *la)
{
/* icons */
BKE_icon_changed(BKE_icon_id_ensure(&la->id));
-
- if (defmaterial.gpumaterial.first)
- GPU_material_free(&defmaterial.gpumaterial);
}
static void texture_changed(Main *bmain, Tex *tex)
@@ -271,15 +257,12 @@ static void texture_changed(Main *bmain, Tex *tex)
/* icons */
BKE_icon_changed(BKE_icon_id_ensure(&tex->id));
- /* paint overlays */
for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+ /* paint overlays */
for (view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
BKE_paint_invalidate_overlay_tex(scene, view_layer, tex);
}
- }
-
- /* find compositing nodes */
- for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+ /* find compositing nodes */
if (scene->use_nodes && scene->nodetree) {
for (node = scene->nodetree->nodes.first; node; node = node->next) {
if (node->id == &tex->id)
@@ -293,16 +276,6 @@ static void world_changed(Main *UNUSED(bmain), World *wo)
{
/* icons */
BKE_icon_changed(BKE_icon_id_ensure(&wo->id));
-
- /* glsl */
- if (wo->id.recalc & ID_RECALC) {
- if (!BLI_listbase_is_empty(&defmaterial.gpumaterial)) {
- GPU_material_free(&defmaterial.gpumaterial);
- }
- if (!BLI_listbase_is_empty(&wo->gpumaterial)) {
- GPU_material_free(&wo->gpumaterial);
- }
- }
}
static void image_changed(Main *bmain, Image *ima)