diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-04-12 14:52:47 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-04-12 14:52:47 +0400 |
commit | 0d86c3f84c22aadad8719492ca27a7c9e88d2996 (patch) | |
tree | 6832444b03813a3c5f7f43544b37b1575ea1fe3e /source/blender/makesdna/DNA_userdef_types.h | |
parent | 677a96e189289b82e28f3ba391061cb610bebc0a (diff) |
Image draw method option
This option replaces previously added GPU limit
option, which became tricky to follow after GLSL
display space conversion.
There're 4 modes available:
- AUTO which will try to guess which mode is
best to use.
Currently It'll try using GLSL and if it fails,
will fallback to 2D textures.
Probably it'll make sense checking on whether
2D textures works well but currently such behavior
shall be sufficient.
Later we could make this method smarter (for example
don't try to use GLSL on certain GPU or so).
- GLSL will currently behave the same way as AUTO,
but it is intended to always try using GLSL
(unless it can not be used because of existing
limitation of dither and RGB curves).
- 2D Textures will use CPU-based color space conversion
and use OGL 2D Texture to display the image.
Image will be displayed in tiles, so there shall be
no big GPU memory consumption.
- DrawPixels will straightly fallback to glDrawPixels
without trying to use any fancy GPU stuff.
Hopefully this will also fix
#34943: Blender crashes when resizing the Compositing Screen Window
Diffstat (limited to 'source/blender/makesdna/DNA_userdef_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_userdef_types.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index a68d702594f..c7aa6254bc7 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -452,7 +452,7 @@ typedef struct UserDef { short ogl_multisamples; /* amount of samples for OpenGL FSA, if zero no FSA */ - short image_gpubuffer_limit; /* If set, amount of mega-pixels to use for texture drawing of images */ + short image_draw_method; /* Method to be used to draw the images (AUTO, GLSL, Textures or DrawPixels) */ float glalphaclip; @@ -753,7 +753,12 @@ typedef enum eMultiSample_Type { USER_MULTISAMPLE_16 = 16, } eMultiSample_Type; - +typedef enum eImageDrawMethod { + IMAGE_DRAW_METHOD_AUTO = 0, + IMAGE_DRAW_METHOD_GLSL = 1, + IMAGE_DRAW_METHOD_2DTEXTURE = 2, + IMAGE_DRAW_METHOD_DRAWPIXELS = 3, +} eImageDrawMethod; #ifdef __cplusplus } |