summaryrefslogtreecommitdiff
path: root/src/lib/evas/include
diff options
context:
space:
mode:
authorSung W. Park <dunamis.park@samsung.com>2013-05-13 14:12:36 +0900
committerSung W. Park <dunamis.park@samsung.com>2013-05-13 14:12:36 +0900
commit97806103ebc76059ab144a4842723bebabadb510 (patch)
tree469d881ce08c5023f219b8f58b2a9be29793a15b /src/lib/evas/include
parentb77016ad0282cc7061f9308287b63aba5a7c2545 (diff)
evas: fix evas flushing its command queue to wrong gl context in gl-backends
For native surface rendering (glX, egl) in gl-backend, if pixel get callback function is called for native rendering, there is a case where evas will try to call evas_gl_common_context_flush() to flush its remaining commands in its command queue while the context is set current to the native surface/ context that is called within the pixel get callback. So, I've added an engine function that forces a flush before it enters the pixel get callback function.
Diffstat (limited to 'src/lib/evas/include')
-rw-r--r--src/lib/evas/include/evas_private.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index d0df9df2a0..831f900570 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -896,6 +896,8 @@ struct _Evas_Func
896 Eina_Bool (*multi_font_draw) (void *data, void *context, void *surface, Evas_Font_Set *font, int x, int y, int w, int h, int ow, int oh, Evas_Font_Array *texts, Eina_Bool do_async); 896 Eina_Bool (*multi_font_draw) (void *data, void *context, void *surface, Evas_Font_Set *font, int x, int y, int w, int h, int ow, int oh, Evas_Font_Array *texts, Eina_Bool do_async);
897 897
898 Eina_Bool (*pixel_alpha_get) (void *image, int x, int y, DATA8 *alpha, int src_region_x, int src_region_y, int src_region_w, int src_region_h, int dst_region_x, int dst_region_y, int dst_region_w, int dst_region_h); 898 Eina_Bool (*pixel_alpha_get) (void *image, int x, int y, DATA8 *alpha, int src_region_x, int src_region_y, int src_region_w, int src_region_h, int dst_region_x, int dst_region_y, int dst_region_w, int dst_region_h);
899
900 void (*context_flush) (void *data);
899}; 901};
900 902
901struct _Evas_Image_Save_Func 903struct _Evas_Image_Save_Func