From cabe929b2a3d6ec34abff49e07961cc1ceb39a15 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 29 Apr 2013 15:50:12 +0000 Subject: Changes to image draw method options It's now default to 2D textures, and no AUTO mode at this moment, since detecting which method is the best not so simple. Image drawing could manually be switched to GLSL for tests and feedback, but for default GLSL is not so much great. Reason of this is huge images, where operations like panning becomes dead slow comparing GLSL vs. 2D texture. --- source/blender/editors/interface/resources.c | 3 +++ source/blender/editors/screen/glutil.c | 4 +--- source/blender/editors/space_sequencer/sequencer_draw.c | 2 +- source/blender/makesdna/DNA_userdef_types.h | 2 +- source/blender/makesrna/intern/rna_userdef.c | 3 +-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index b4246fe5b9c..89469d47fba 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -2187,6 +2187,9 @@ void init_userdef_do_versions(void) if (U.pixelsize == 0.0f) U.pixelsize = 1.0f; + if (U.image_draw_method == 0) + U.image_draw_method = IMAGE_DRAW_METHOD_2DTEXTURE; + /* funny name, but it is GE stuff, moves userdef stuff to engine */ // XXX space_set_commmandline_options(); /* this timer uses U */ diff --git a/source/blender/editors/screen/glutil.c b/source/blender/editors/screen/glutil.c index 44d7c8d0114..723dce5e226 100644 --- a/source/blender/editors/screen/glutil.c +++ b/source/blender/editors/screen/glutil.c @@ -1049,9 +1049,7 @@ void glaDrawImBuf_glsl(ImBuf *ibuf, float x, float y, int zoomfilter, force_fallback |= ibuf->channels == 1; /* If user decided not to use GLSL, fallback to glaDrawPixelsAuto */ - force_fallback |= !ELEM(U.image_draw_method, - IMAGE_DRAW_METHOD_AUTO, - IMAGE_DRAW_METHOD_GLSL); + force_fallback |= (U.image_draw_method != IMAGE_DRAW_METHOD_GLSL); /* This is actually lots of crap, but currently not sure about * more clear way to bypass partial buffer update crappyness diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index efda7554b33..d1684e91bea 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -1062,7 +1062,7 @@ void draw_image_seq(const bContext *C, Scene *scene, ARegion *ar, SpaceSeq *sseq else { bool force_fallback = false; - force_fallback |= !ELEM(U.image_draw_method, IMAGE_DRAW_METHOD_AUTO, IMAGE_DRAW_METHOD_GLSL); + force_fallback |= (U.image_draw_method != IMAGE_DRAW_METHOD_GLSL); force_fallback |= (ibuf->dither != 0.0f); if (force_fallback) { diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index c7aa6254bc7..7ed524f30ba 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -754,7 +754,7 @@ typedef enum eMultiSample_Type { } eMultiSample_Type; typedef enum eImageDrawMethod { - IMAGE_DRAW_METHOD_AUTO = 0, + /* IMAGE_DRAW_METHOD_AUTO = 0, */ /* Currently unused */ IMAGE_DRAW_METHOD_GLSL = 1, IMAGE_DRAW_METHOD_2DTEXTURE = 2, IMAGE_DRAW_METHOD_DRAWPIXELS = 3, diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 63765516650..dc10c1b4aae 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -3375,9 +3375,8 @@ static void rna_def_userdef_system(BlenderRNA *brna) #endif static EnumPropertyItem image_draw_methods[] = { - {IMAGE_DRAW_METHOD_AUTO, "AUTO", 0, "Auto", "Try to detect best drawing method automatically"}, - {IMAGE_DRAW_METHOD_GLSL, "GLSL", 0, "GLSL", "Use GLSL shaders for display transform and draw image with 2D texture"}, {IMAGE_DRAW_METHOD_2DTEXTURE, "2DTEXTURE", 0, "2D Texture", "Use CPU for display transform and draw image with 2D texture"}, + {IMAGE_DRAW_METHOD_GLSL, "GLSL", 0, "GLSL", "Use GLSL shaders for display transform and draw image with 2D texture"}, {IMAGE_DRAW_METHOD_DRAWPIXELS, "DRAWPIXELS", 0, "DrawPixels", "Use CPU for display transform and draw image using DrawPixels"}, {0, NULL, 0, NULL, NULL} }; -- cgit v1.2.3