From 3411fccc1eededc349d8e131643e77015c9fde24 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 16 Nov 2013 18:46:36 +0900 Subject: [PATCH] evas - gl - osmesa also try older osmesa major versions --- .../engines/software_generic/evas_engine.c | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index a42cd9cb72..5cb07c7892 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -2375,11 +2375,11 @@ eng_gl_context_create(void *data EINA_UNUSED, void *share_context) ctx->share_ctx = share_ctx; - /* +#if 0 if (share_ctx) - ctx->context = OSMesaCreateContextExt( OSMESA_RGBA, 8, 0, 0, share_ctx->context ); + ctx->context = _sym_OSMesaCreateContextExt( OSMESA_RGBA, 8, 0, 0, share_ctx->context ); else - ctx->context = OSMesaCreateContextExt( OSMESA_RGBA, 8, 0, 0, NULL ); + ctx->context = _sym_OSMesaCreateContextExt( OSMESA_RGBA, 8, 0, 0, NULL ); if (!ctx->context) @@ -2388,7 +2388,7 @@ eng_gl_context_create(void *data EINA_UNUSED, void *share_context) free(ctx); return NULL; } - */ +#endif ctx->initialized = 0; @@ -2450,10 +2450,10 @@ eng_gl_make_current(void *data EINA_UNUSED, void *surface, void *context) share_ctx = NULL; ctx->context = _sym_OSMesaCreateContextExt(sfc->internal_fmt, - sfc->depth_bits, - sfc->stencil_bits, - 0, - share_ctx); + sfc->depth_bits, + sfc->stencil_bits, + 0, + share_ctx); if (!ctx->context) { ERR("Error initializing context."); @@ -2466,7 +2466,7 @@ eng_gl_make_current(void *data EINA_UNUSED, void *surface, void *context) // Call MakeCurrent ret = _sym_OSMesaMakeCurrent(ctx->context, sfc->buffer, GL_UNSIGNED_BYTE, - sfc->w, sfc->h); + sfc->w, sfc->h); if (ret == GL_FALSE) { @@ -2750,7 +2750,6 @@ gl_sym_init(void) if (!dst) DBG("Symbol not found %s\n", sym); #define FALLBAK(dst, typ) if (!dst) dst = (typeof(dst))sym_missing; - //------------------------------------------------------// // GLES 2.0 APIs... FINDSYM(_sym_glActiveTexture, "glActiveTexture", glsym_func_void); @@ -3622,7 +3621,15 @@ gl_lib_init(void) { #ifdef EVAS_GL // dlopen OSMesa - gl_lib_handle = dlopen("libOSMesa.so.1", RTLD_NOW); + gl_lib_handle = dlopen("libOSMesa.so.9", RTLD_NOW); + if (!gl_lib_handle) gl_lib_handle = dlopen("libOSMesa.so.8", RTLD_NOW); + if (!gl_lib_handle) gl_lib_handle = dlopen("libOSMesa.so.7", RTLD_NOW); + if (!gl_lib_handle) gl_lib_handle = dlopen("libOSMesa.so.6", RTLD_NOW); + if (!gl_lib_handle) gl_lib_handle = dlopen("libOSMesa.so.5", RTLD_NOW); + if (!gl_lib_handle) gl_lib_handle = dlopen("libOSMesa.so.4", RTLD_NOW); + if (!gl_lib_handle) gl_lib_handle = dlopen("libOSMesa.so.3", RTLD_NOW); + if (!gl_lib_handle) gl_lib_handle = dlopen("libOSMesa.so.2", RTLD_NOW); + if (!gl_lib_handle) gl_lib_handle = dlopen("libOSMesa.so.1", RTLD_NOW); if (!gl_lib_handle) gl_lib_handle = dlopen("libOSMesa.so", RTLD_NOW); if (!gl_lib_handle) {