From 86ec304ffabcb3df6853753f0beb4d316c03adf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Wed, 9 Jan 2019 22:26:52 +0100 Subject: WM: Use draw manager to draw UV image editor spaces This is in order to use batch cache directly without using tricks like batch presets reseting the VAOs. Note: For now it also create a depth buffer for this area which is not needed. We could get rid of this to lower VRAM usage. --- source/blender/editors/space_image/space_image.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source/blender/editors/space_image') diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index 3c850ae1689..4f2b0f0db2b 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -83,6 +83,12 @@ #include "image_intern.h" #include "GPU_framebuffer.h" +#include "GPU_batch_presets.h" +#include "GPU_viewport.h" + +/* TODO(fclem) remove bad level calls */ +#include "../draw/DRW_engine.h" +#include "wm_draw.h" /**************************** common state *****************************/ @@ -620,6 +626,14 @@ static void image_main_region_draw(const bContext *C, ARegion *ar) //View2DScrollers *scrollers; float col[3]; + /* XXX This is in order to draw UI batches with the DRW + * olg context since we now use it for drawing the entire area */ + gpu_batch_presets_reset(); + + /* TODO(fclem) port to draw manager and remove the depth buffer allocation. */ + DefaultFramebufferList *fbl = GPU_viewport_framebuffer_list_get(ar->draw_buffer->viewport[0]); + GPU_framebuffer_bind(fbl->color_only_fb); + /* XXX not supported yet, disabling for now */ scene->r.scemode &= ~R_COMP_CROP; -- cgit v1.2.3