Commit: e0879517025f0e9520d5a01f71950635f7aba7a5 Author: mano-wii Date: Tue May 28 18:33:50 2019 -0300 Branches: master https://developer.blender.org/rBe0879517025f0e9520d5a01f71950635f7aba7a5
Possible fix for T63685: macOS edit mode selection not working on second display The idea is to force `glReadPixel` to run in the offscreen context. And don't rely on any rendering context. =================================================================== M source/blender/draw/intern/draw_manager.c =================================================================== diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index 7a95120b273..47d0e97d34b 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -2863,7 +2863,19 @@ void DRW_framebuffer_select_id_read(const rcti *rect, uint *r_buf) rcti rect_clamp = *rect; if (BLI_rcti_isect(&r, &rect_clamp, &rect_clamp)) { - GPU_texture_read_rect(g_select_buffer.texture_u32, GPU_DATA_UNSIGNED_INT, &rect_clamp, r_buf); + DRW_opengl_context_enable(); + GPU_framebuffer_bind(g_select_buffer.framebuffer_select_id); + glReadBuffer(GL_COLOR_ATTACHMENT0); + glReadPixels(rect_clamp.xmin, + rect_clamp.ymin, + BLI_rcti_size_x(&rect_clamp), + BLI_rcti_size_y(&rect_clamp), + GL_RED_INTEGER, + GL_UNSIGNED_INT, + r_buf); + + GPU_framebuffer_restore(); + DRW_opengl_context_disable(); if (!BLI_rcti_compare(rect, &rect_clamp)) { GPU_select_buffer_stride_realign(rect, &rect_clamp, r_buf); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs