diff options
author | mh0310.choi <mh0310.choi@samsung.com> | 2015-07-28 10:46:57 +0900 |
---|---|---|
committer | mh0310.choi <mh0310.choi@samsung.com> | 2015-07-28 13:08:12 +0900 |
commit | 5e67a6f721eaedda61300baf0799199c7771ebd0 (patch) | |
tree | 6cd50b52498aab50e79b966cdccc2a137db316d9 /src/cairo-egl-context.c | |
parent | d3aeffba37161d2b76b29c4ea13369bd67a47a8e (diff) | |
download | cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.tar.gz cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.tar.bz2 cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.zip |
Cairo version Upgrade for Tizen3.0submit/tizen_tv/20150728.091927submit/tizen_mobile/20150728.091912submit/tizen_common/20150728.091859accepted/tizen/tv/20150729.011254accepted/tizen/mobile/20150729.011230
- from 1.12.14 to 1.14.2
Change-Id: I3b62d212041b337bbb926d579f9ce74f42a45c3b
Diffstat (limited to 'src/cairo-egl-context.c')
-rw-r--r--[-rwxr-xr-x] | src/cairo-egl-context.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/src/cairo-egl-context.c b/src/cairo-egl-context.c index fa52a04ba..5b67d4b3c 100755..100644 --- a/src/cairo-egl-context.c +++ b/src/cairo-egl-context.c @@ -93,7 +93,6 @@ typedef struct _cairo_egl_context { EGLSurface dummy_surface; EGLSurface current_surface; - EGLDisplay previous_display; EGLContext previous_context; EGLSurface previous_surface; } cairo_egl_context_t; @@ -110,8 +109,7 @@ _context_acquisition_changed_egl_state (cairo_egl_context_t *ctx, EGLSurface current_surface) { return ctx->previous_context != ctx->context || - ctx->previous_surface != current_surface || - ctx->previous_display != ctx->display; + ctx->previous_surface != current_surface; } static EGLSurface @@ -128,19 +126,8 @@ _egl_get_current_surface (cairo_egl_context_t *ctx) static void _egl_query_current_state (cairo_egl_context_t *ctx) { - ctx->previous_surface = eglGetCurrentSurface (EGL_DRAW); ctx->previous_context = eglGetCurrentContext (); - ctx->previous_display = eglGetCurrentDisplay (); - - /* If any of the values were none, assume they are all none. Not all - drivers seem well behaved when it comes to using these values across - multiple threads. */ - if (ctx->previous_surface == EGL_NO_SURFACE || - ctx->previous_context == EGL_NO_CONTEXT || ctx->previous_display == EGL_NO_DISPLAY) { - ctx->previous_surface = EGL_NO_SURFACE; - ctx->previous_context = EGL_NO_CONTEXT; - ctx->previous_display = EGL_NO_DISPLAY; - } + ctx->previous_surface = eglGetCurrentSurface (EGL_DRAW); } static void @@ -272,7 +259,7 @@ _cairo_egl_get_proc_address (void *data, const char *name) }; for (i = 0; func_map[i].name; i++) { - if (! strncmp (func_map[i].name, name, strlen(name))) + if (! strcmp (func_map[i].name, name)) return func_map[i].func; } @@ -352,6 +339,12 @@ cairo_egl_device_create (EGLDisplay dpy, EGLContext egl) return _cairo_gl_context_create_in_error (status); } + /* Tune the default VBO size to reduce overhead on embedded devices. + * This smaller size means that flushing needs to be done more often, + * but it is less demanding of scarce memory on embedded devices. + */ + ctx->base.vbo_size = 16*1024; + eglMakeCurrent (dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); ctx->current_surface = EGL_NO_SURFACE; |