Commit Graph

15764 Commits

Author SHA1 Message Date
Carsten Haitzler e477ff0629 remove warning - bug ready to happen with fastpath. didnt pass
sharedlist or direct down.



SVN revision: 65895
2011-12-05 09:18:05 +00:00
Carsten Haitzler 9f5a8809c7 fix gles/egl bugs/issues in sungwoo's new patch
SVN revision: 65894
2011-12-05 09:05:04 +00:00
Carsten Haitzler 5967841988 I'm attaching a patch for the initial version of the GL Fastpath
addition to evas gl backend.

Working on different mobile devices, we've noticed that the cost of context
switch (MakeCurrent) in GL can be very expensive depending on the driver
implementation.  To minimize the poorly written driver's context switch
overhead, I've implemented a state tracking layer on top of the driver
implemented GL.

Essentially, this layer wraps all the GL/Glue(GLX/EGL) APIs and manages its own
state changes.  Internally, only one real GL context is created and logical
contexts are created every time a user requests context creation.  The logical
contexts keep track of its states and sets only the necessary states
(the ones that are different than the current ones)
when there is a MakeCurrent request.  The real MakeCurrent gets called when
there is a Surface/Window change request.

The GL library is dlopened and all the APIs are dlsym'ed and wrapped
accordingly.  All the GL functions are in evas_gl_core.{h,c}.

Here's a very simply flow of the code.
   - all the APIs are exported as function pointers (*glsym_glBegin),
     (*glsm_eglCreatContext), and etc.
   - all the native GL/Glue(GLX/EGL) APIs are dlsym'ed as _sym_glBegin,
     _sym_eglCreateContext, and etc.
   - all the fastpath APIs are implmemnted as fpgl_glBegin,
     fpgl_eglCreateContext, and etc.
   - if faspath is seletected, the exported APIs are set accordingly
     ie. glsym_glBegin = fpgl_glBegin;
   - default mode is the regular gl symbols are directly set.
     ie. glsym_glBegin = _sym_glBegin;
             
I have an Environment variable where you can set it to three different Modes

EVAS_GL_FASTPATH = 0    // Default mode. Regular GL symbols are directly loaded
EVAS_GL_FASTPATH = 1    // Fastpath mode. Takes the path described above.
EVAS_GL_FASTPATH = 2    // Wrapped mode.  All the regular GL functions are
                           wrapped once.  This can be used for various
purposes

Since all the GL symbols are now loaded in this library, I took out all
the gl symbol loading parts in the evas gl backend as you'll see in the patch.
The changes to the engine and the backend itself is pretty minor.

There are still some known issues to hammer out but I thought we're at a good
place for an initial version so that my source doesn't diverge too much.

Known Issues and To Do's
* Current GL Fastpath version doesn't support multiple threads. Instead of
  having one global real context, I would need to do it for each thread. I'll
  get on this soon.
  
  * Issues running Evas GL on certain conditions.  When running the elementary
  test (with gl engine), if you run ELMGLview test that runs in ON_DEMAND mode,
  everything works fine. BUT, when you run the ELMGLView test in ALWAYS
    mode, the subsequent elm tests shows blank screen. When you destroy the
  GLView window, everything else comes on fine.
  
  * Resource protection code.  This actually applies to Evas GL code in general
  as well. Since all the resources are shared among all the contexts that get
  created, I would like to eventually have a resource protecting mechanism that
  prevents access to resources outside of its context unless specifically
  specified.
  
  I'm attaching three files
     - evas_gl_core.h, evas_gl_core.c, fastpath.patch
     
  To get the code running...
     - copy evas_gl_core.{c,h} to src/modules/engine/gl_common/
     - apply the fastpath.patch
     - compile/install evas
     - to run with fastpath GL (ie. % EVAS_GL_FASTPATH=1 ./evasgl_sample1)



SVN revision: 65891
2011-12-05 08:54:14 +00:00
Mike Blumenkrantz 39467c29b6 giant patch refactoring ecore-con-url from bluezery <opowel@gmail.com>
will it blend?!


SVN revision: 65888
2011-12-05 06:08:46 +00:00
Mike Blumenkrantz 32808c9760 totally meant to write this wrong the first time to see if anyone was watching.
SVN revision: 65878
2011-12-04 23:54:41 +00:00
Mike Blumenkrantz 7e3d3eb914 another failure attempt at pleasing Demon Lord Vincent Torri
SVN revision: 65877
2011-12-04 23:16:25 +00:00
Mike Blumenkrantz 955e23a8a9 +ecore_timer_reset
SVN revision: 65876
2011-12-04 23:12:06 +00:00
Mike Blumenkrantz ba15384eaf unfuck header formatting
SVN revision: 65874
2011-12-04 23:01:36 +00:00
Mike Blumenkrantz b4b851b9a0 install Eeze_Net.h
SVN revision: 65873
2011-12-04 22:53:22 +00:00
Vincent Torri 3398e62ea9 Evil : fix doc build, the release archive is updated
SVN revision: 65868
2011-12-04 14:04:19 +00:00
Mike Blumenkrantz 96f572f8b3 add a newline before api link
SVN revision: 65865
2011-12-04 04:29:55 +00:00
Carsten Haitzler 5419196236 add multisense back in post 1.1
SVN revision: 65864
2011-12-04 03:18:49 +00:00
Carsten Haitzler ac4c70ab7b fix changelogs to mention release.
SVN revision: 65860
2011-12-04 01:56:31 +00:00
Vincent Torri a3970d1f96 Ecore_Win32: Fix the modifiers value
SVN revision: 65856
2011-12-03 22:06:43 +00:00
Mike Blumenkrantz 8b6899154c in 2011, we began using formatting tools to fix problematic formatting.
in later 2011, we began using formatting tools to fix problematic formatting caused by previous runs of formatting tools used to fix problematic formatting


SVN revision: 65852
2011-12-03 20:05:48 +00:00
Mike Blumenkrantz 6b13c32a78 remove annoying trailing comments
SVN revision: 65851
2011-12-03 19:41:12 +00:00
Cedric BAIL 0f3df65317 eio: i see dead file.
SVN revision: 65848
2011-12-03 16:41:58 +00:00
Cedric BAIL 8564b85b05 eio: latest attempt to fix auto doc.
SVN revision: 65846
2011-12-03 16:07:54 +00:00
Cedric BAIL 74ab97acc6 eio: trying to fix eio doc build.
SVN revision: 65844
2011-12-03 15:00:13 +00:00
Cedric BAIL 461d95f308 edje: fix building example in another directory.
SVN revision: 65843
2011-12-03 14:23:44 +00:00
Carsten Haitzler f834ab3e12 re-enable evas_gl for trunk dev
SVN revision: 65841
2011-12-03 14:15:14 +00:00
Cedric BAIL 2e21c6899f eio: move documentation into header like other EFL library.
NOTE: need some help to finish splitting this API in a more meaningfull sense.

TODO: Fix a few FIXME and update monitoring backend to work on most system.


SVN revision: 65840
2011-12-03 13:21:07 +00:00
Carsten Haitzler 96b3521583 lets not show a disable or enable opt for installing examples. no need
for this to be a bugfix - really. so no backport.



SVN revision: 65839
2011-12-03 08:42:49 +00:00
Christopher Michael 191659da9a Ecore_X(cb): Add function for backlight_available so that E will work
again :)



SVN revision: 65838
2011-12-03 04:41:30 +00:00
Mike Blumenkrantz 952b5f6326 +ecore_x_randr_output_backlight_available() from Term <term@twistedpath.org>
also corresponding e17 usage


SVN revision: 65837
2011-12-03 04:24:02 +00:00
Mike Blumenkrantz 9cc624c718 add some INF messages for connection death
SVN revision: 65835
2011-12-03 03:50:20 +00:00
Mike Blumenkrantz b0b7fc46b2 #undef header macro
SVN revision: 65834
2011-12-03 03:42:41 +00:00
Mike Blumenkrantz 54a2db0044 mempools++
SVN revision: 65833
2011-12-03 03:39:07 +00:00
Mike Blumenkrantz ccf4af02aa unrevert 65828 and unspank myself.
SVN revision: 65832
2011-12-02 22:50:00 +00:00
Vincent Torri e5cbe13992 Release Version 1.0.0.
* NEWS: Mention the release.



SVN revision: 65829
2011-12-02 18:00:12 +00:00
Michael BOUCHAUD 057bc8be54 eet: revert works from discomfitor. too buggy elementary segv. I'm pleased to SPANK him :D
SVN revision: 65828
2011-12-02 17:53:37 +00:00
Mike Blumenkrantz a1af23ce28 move majority of allocations to mempool allocators similar to ecore-con
SVN revision: 65825
2011-12-02 16:10:41 +00:00
Mike Blumenkrantz 323cd79c4c unfrenchify mempool docs
SVN revision: 65822
2011-12-02 15:34:11 +00:00
Mike Blumenkrantz afdbaf8651 +eina_mempool_calloc
SVN revision: 65821
2011-12-02 15:27:35 +00:00
Mike Blumenkrantz ce0bd5f36e remove annoying post-brace comments
SVN revision: 65819
2011-12-02 14:42:13 +00:00
Mike Blumenkrantz 916595afff no need to alloc filename
SVN revision: 65818
2011-12-02 14:35:36 +00:00
Mike Blumenkrantz f0c69e575f news
SVN revision: 65817
2011-12-02 14:12:19 +00:00
Mike Blumenkrantz df65cbde06 changelog for eeze 1.2
SVN revision: 65816
2011-12-02 14:09:35 +00:00
Mike Blumenkrantz fb3c8a5de8 ef->path is now stringshared
SVN revision: 65813
2011-12-02 14:07:34 +00:00
Mike Blumenkrantz 3e0353f80b +eet_file_get()
SVN revision: 65812
2011-12-02 14:03:46 +00:00
Mike Blumenkrantz 573a9a5c5b eeze 1.2 is now operational
SVN revision: 65809
2011-12-02 13:42:36 +00:00
Carsten Haitzler 4797954c4d and now go to normal-like svn revs
SVN revision: 65806
2011-12-02 09:45:25 +00:00
Carsten Haitzler e51c9a6705 revert my 1.x.99 stuff so i can branch.
SVN revision: 65803
2011-12-02 09:32:11 +00:00
Carsten Haitzler b90b289063 and lets bump on to 1.x.99 (or so) for svn... and back to adding snap
rev.



SVN revision: 65802
2011-12-02 09:10:56 +00:00
Mike Blumenkrantz 1b59d38784 more trivial fixes from Joerg Sonnenberger <joerg@britannica.bec.de>
SVN revision: 65799
2011-12-02 03:33:19 +00:00
Mike Blumenkrantz d9587433b5 remove some unused functions pointed out by Joerg Sonnenberger <joerg@britannica.bec.de>
SVN revision: 65798
2011-12-02 03:27:04 +00:00
Cedric BAIL 70af557501 ethumb: provide facility using Ecore_Idler.
SVN revision: 65781
2011-12-01 15:37:21 +00:00
David Walter Seikel e80e88c5cd Last of the docs.
No bloody functional change.


SVN revision: 65779
2011-12-01 12:34:47 +00:00
Sanjeev BA ea0c40b3af Fix README.
Signed-off-by: Sanjeev BA <as2902.b@samsung.com>

SVN revision: 65772
2011-12-01 10:47:12 +00:00
Rafal Krypa 20896e3c14 From: Rafal Krypa <r.krypa@samsung.com>
Subject: Fix Neon build with Thumb-2

    In assembly part of function evas_common_convert_rgba_to_32bpp_rgb_8888_rot_90:
    Don't use 3-operand add instructions (e.g. add r2, r5, #2) as this is
    not supported in unified syntax.
    


SVN revision: 65768
2011-12-01 10:00:44 +00:00