forked from enlightenment/efl
ecore_evas_x: Refactor/flourish gl_dync_draw_done member from Ecore_Evas
structure. - moved gl_sync_draw_done for a better structure packing. - changed gl_sync_draw_done type from int to char which is enough. - added more description to gl_sync_draw_done
This commit is contained in:
parent
3e89295c73
commit
881f4e9c75
|
@ -253,13 +253,24 @@ struct _Ecore_Evas
|
|||
double async_render_start;
|
||||
#endif
|
||||
|
||||
/* A flag to show if sync_draw_done is sent by gl or by ecore_evas.
|
||||
Some GL drivers do buffer copy in a separate thread. We need to check
|
||||
whether GL driver sends SYNC_DRAW_DONE message after buffer copy.
|
||||
This is required to synchronize rendering and sync_draw_done message
|
||||
sending.
|
||||
|
||||
-1 : uninitialized
|
||||
0 : sync_draw_done is sent by ecore_evas
|
||||
1 : sync_draw_done is sent by gl
|
||||
*/
|
||||
char gl_sync_draw_done;
|
||||
|
||||
unsigned char ignore_events : 1;
|
||||
unsigned char manual_render : 1;
|
||||
unsigned char registered : 1;
|
||||
unsigned char no_comp_sync : 1;
|
||||
unsigned char semi_sync : 1;
|
||||
unsigned char deleted : 1;
|
||||
int gl_sync_draw_done;
|
||||
unsigned char profile_supported : 1;
|
||||
unsigned char in_async_render : 1;
|
||||
unsigned char can_async_render : 1;
|
||||
|
|
|
@ -1433,10 +1433,6 @@ _ecore_evas_x_event_window_show(void *data EINA_UNUSED, int type EINA_UNUSED, vo
|
|||
if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
|
||||
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
|
||||
|
||||
/* some GL drivers are doing buffer copy in a separate thread.
|
||||
* we need to check whether GL driver sends SYNC_DRAW_DONE msg afger copying
|
||||
* that are required in order to exactly render.
|
||||
*/
|
||||
if (ee->gl_sync_draw_done < 0)
|
||||
{
|
||||
if (getenv("ECORE_EVAS_GL_SYNC_DRAW_DONE"))
|
||||
|
|
Loading…
Reference in New Issue