diff options
Diffstat (limited to 'source/blender/editors/space_view3d/space_view3d.c')
-rw-r--r-- | source/blender/editors/space_view3d/space_view3d.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 34d342ddd94..4c168c7a243 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -53,6 +53,7 @@ #include "BKE_screen.h" #include "BKE_workspace.h" +#include "ED_render.h" #include "ED_screen.h" #include "ED_space_api.h" #include "ED_transform.h" @@ -784,7 +785,7 @@ static void *view3d_main_region_duplicate(void *poin) } static void view3d_main_region_listener( - wmWindow *UNUSED(win), ScrArea *area, ARegion *region, wmNotifier *wmn, const Scene *scene) + wmWindow *win, ScrArea *area, ARegion *region, wmNotifier *wmn, const Scene *scene) { View3D *v3d = area->spacedata.first; RegionView3D *rv3d = region->regiondata; @@ -1001,11 +1002,17 @@ static void view3d_main_region_listener( if (wmn->subtype == NS_VIEW3D_GPU) { rv3d->rflag |= RV3D_GPULIGHT_UPDATE; } -#ifdef WITH_XR_OPENXR else if (wmn->subtype == NS_VIEW3D_SHADING) { +#ifdef WITH_XR_OPENXR ED_view3d_xr_shading_update(G_MAIN->wm.first, v3d, scene); - } #endif + + ViewLayer *view_layer = WM_window_get_active_view_layer(win); + Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, view_layer); + if (depsgraph) { + ED_render_view3d_update(depsgraph, win, area, true); + } + } ED_region_tag_redraw(region); WM_gizmomap_tag_refresh(gzmap); } |