Merge branch 'blender-v2.92-release'
This commit is contained in:
commit
4bc7996e2e
|
@ -642,6 +642,8 @@ static void image_main_region_draw(const bContext *C, ARegion *region)
|
|||
Mask *mask = NULL;
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
View2D *v2d = ®ion->v2d;
|
||||
Image *image = ED_space_image(sima);
|
||||
const bool show_viewer = (image && image->source == IMA_SRC_VIEWER);
|
||||
|
||||
/* XXX not supported yet, disabling for now */
|
||||
scene->r.scemode &= ~R_COMP_CROP;
|
||||
|
@ -656,8 +658,14 @@ static void image_main_region_draw(const bContext *C, ARegion *region)
|
|||
mask = ED_space_image_get_mask(sima);
|
||||
}
|
||||
|
||||
/* we draw image in pixelspace */
|
||||
if (show_viewer) {
|
||||
BLI_thread_lock(LOCK_DRAW_IMAGE);
|
||||
}
|
||||
DRW_draw_view(C);
|
||||
if (show_viewer) {
|
||||
BLI_thread_unlock(LOCK_DRAW_IMAGE);
|
||||
}
|
||||
|
||||
draw_image_main_helpers(C, region);
|
||||
|
||||
/* Draw Meta data of the image isn't added to the DrawManager as it is
|
||||
|
@ -685,12 +693,9 @@ static void image_main_region_draw(const bContext *C, ARegion *region)
|
|||
UI_view2d_view_restore(C);
|
||||
|
||||
if (mask) {
|
||||
Image *image = ED_space_image(sima);
|
||||
int width, height, show_viewer;
|
||||
int width, height;
|
||||
float aspx, aspy;
|
||||
|
||||
show_viewer = (image && image->source == IMA_SRC_VIEWER);
|
||||
|
||||
if (show_viewer) {
|
||||
/* ED_space_image_get* will acquire image buffer which requires
|
||||
* lock here by the same reason why lock is needed in draw_image_main
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "BLI_blenlib.h"
|
||||
#include "BLI_math.h"
|
||||
#include "BLI_system.h"
|
||||
#include "BLI_threads.h"
|
||||
|
||||
#include "DNA_node_types.h"
|
||||
#include "DNA_object_types.h"
|
||||
|
@ -3780,7 +3781,9 @@ void draw_nodespace_back_pix(const bContext *C,
|
|||
/* The draw manager is used to draw the backdrop image. */
|
||||
GPUFrameBuffer *old_fb = GPU_framebuffer_active_get();
|
||||
GPU_framebuffer_restore();
|
||||
BLI_thread_lock(LOCK_DRAW_IMAGE);
|
||||
DRW_draw_view(C);
|
||||
BLI_thread_unlock(LOCK_DRAW_IMAGE);
|
||||
GPU_framebuffer_bind_no_srgb(old_fb);
|
||||
/* Draw manager changes the depth state. Set it back to NONE. Without this the node preview
|
||||
* images aren't drawn correctly. */
|
||||
|
|
Loading…
Reference in New Issue