summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/gl_common
Commit message (Collapse)AuthorAgeFilesLines
* evas/evas3d - use the image loader of the evas instead of the png lib.ChunEon Park2014-04-151-124/+20
|
* Evas_3D : Eolian changesubhransu2014-04-143-69/+105
|
* Merge branch 'devs/cedric/evas-3d' of ssh://git.enlightenment.org/core/efl ↵ChunEon Park2014-04-107-0/+3288
|\ | | | | | | into devs/cedric/evas-3d
| * Evas: 3D: Fix typo error in preprocessor for GLESTaekyun Kim2014-03-301-1/+1
| |
| * Evas: 3D: Introducing 3D scene rendering featuresTaekyun Kim2014-03-307-0/+3288
| | | | | | | | | | | | Enable 3D features using --enable-evas-3d=yes when configuring. APIs are exposed through Evas_3D.h. Currently, evas-3d is being supported only on gl_x11 engine.
* | Evas gl: Remove unused variableJean-Philippe Andre2014-04-081-1/+0
| |
* | Evas gl: Fix colors when using ETC1 texturesJean-Philippe Andre2014-04-041-4/+4
| | | | | | | | | | We need to use the RGBA shader to invert R and B otherwise those will be inverted on the screen.
* | Evas gl: Fix dlsym usage for glCompressedTexImage2dJean-Philippe Andre2014-04-041-0/+3
| | | | | | | | | | | | | | This symbol should be part of the loaded libraries, can be found using dlsym, even if eglGetProcAddress() returns NULL. Add etc1 flag in the debug output.
* | Evas gl: Use implicit cast to DATA8 with image.data8Jean-Philippe Andre2014-04-041-3/+3
| | | | | | | | | | | | | | data8 is there precisely to avoid casting the iamge data when handling it as DATA8. This is purely a cosmetic change
* | evas: add ETC1 texture format support to Evas.Cedric BAIL2014-04-014-15/+120
| |
* | evas: support uploading AGRY88 and GRY8 directly to GPU.Cedric BAIL2014-04-013-214/+149
| |
* | evas: add support for GL_LUMINANCE_ALPHA and GL_LUMINANCE when loading image ↵Cedric BAIL2014-04-013-20/+67
|/ | | | from disk.
* evas: Fixed warning for uninitialized variablesAnand2014-03-241-2/+2
| | | | | | | | | | | | | | | | | | | | | Summary: Warning fixed of evas modules/evas/engines/gl_common/evas_gl_context.c: In function 'evas_gl_common_context_new': modules/evas/engines/gl_common/evas_gl_context.c:392:32: warning: 'minor' may be used uninitialized in this function [-Wuninitialized] modules/evas/engines/gl_common/evas_gl_context.c:314:8: note: 'minor' was declared here modules/evas/engines/gl_common/evas_gl_context.c:392:16: warning: 'major' may be used uninitialized in this function [-Wuninitialized] modules/evas/engines/gl_common/evas_gl_context.c:313:8: note: 'major' was declared here @fix Compilation Warning Fixed Test Plan: Compile efl Reviewers: singh.amitesh CC: seoz, cedric Differential Revision: https://phab.enlightenment.org/D656
* evas: cleaner fail handler.Cedric BAIL2014-03-241-5/+3
|
* evas_gl: fix memory leak in case that version doesn't include dotJihoon Kim2014-03-231-1/+5
| | | | fix CID 1193479
* evas/gl - fill up missed blend mode.ChunEon Park2014-03-221-7/+19
| | | | | | Still there few mode are unsatisfied. @fix
* evas/gl - don't set blend function in RENDER COPY mode.ChunEon Park2014-03-221-2/+3
| | | | it's enough that just disabling the blend mode.
* evas: let's be more resistant even with things that should never happen.Cedric BAIL2014-03-201-0/+1
| | | | Fix CID 1193212.
* Evas gl: Fix clip in image_draw if it's not setJean-Philippe Andre2014-03-181-1/+1
| | | | | | | | | | | In evas_gl_common_image_draw, if an image is drawn with a fresh context, containing no clip and no cutouts, then it will be wrongly clipped to the source image size instead of the destination surface size. This case seems to never happen, ever, since the contexts are always fully set by the render functions. @fix
* Evas gl: Fix buffer dump filenamesJean-Philippe Andre2014-03-181-1/+5
| | | | | | | | evas_gl_common_buffer_dump can be used to dump all frames into a series of PNG files. But the filename contained some garbage characters (and potential segv, too). (cherry picked from commit a0f886138ed5a28d0d1596df3b805fca06d1ae31)
* Evas gl_x11: Fix usage of glReadPixelsJean-Philippe Andre2014-03-132-5/+0
| | | | | | | | | | | It is not necessary to dynamically link to glReadPixels since this is not an extension. This code wouldn't even work on some devices. Also, the pixels returned are not premultiplied (yeah >_<) And some devices (EGL) don't support GL_BGRA... so glReadPixels would just fail and not fill in the pixels. Conversion is required.
* Evas gl_x11: Add support for glReadPixelsJean-Philippe Andre2014-03-072-0/+6
| | | | | | | | | | | | | | | | | | | | | | | This will be needed by the filters for proxy rendering, for textures and maps (displacement). Add new engine functions to unleash the (sluggish) power of glReadPixels. The idea is to be able to bypass glReadPixels later, so 3 new APIs are added: - surface_lock - surface_read_pixels - surface_unlock They must be called in that order. Note (for history): glReadPixels was always getting the wrong data during first draw, but the right data during a redraw... Why? Well simply because for OpenGL itself, the image had never been drawn in teh first place! Only the Evas GL context knew about the image drawing, as it was queued somewhere in the pipe. One line solution: Call evas_gl_common_context_flush before doing anything else.
* evas gl: added partial rendering support for qcom extensionSung W. Park2014-02-156-25/+225
| | | | | | | | When running in direct rendering mode, properly support partial rendering if the extension is properly supported. Also, fixed the SwapBufferwWithDamage rectangle coordinate bug. It wasn't properly y-inverted before.
* evas - gl - core - checke for wrong context in error checkCarsten Haitzler (Rasterman)2014-02-131-1/+1
| | | | this fixes CID 1135266
* evas - gl core - don't access null ptr on initCarsten Haitzler (Rasterman)2014-02-131-3/+5
| | | | this fixes CID 1135270
* Evas filters: OpenGL support part 1.Jean-Philippe Andre2014-02-071-6/+7
| | | | | | | | | Quick and dirty solution to support the OpenGL engine: [1] Allocate CPU buffers [2] Render text and process all effects to these buffers [3] Push final image as an OpenGL texture. This patch implements [1].
* evas gl - fix egl/gles build after alpha4 change for fontsCarsten Haitzler (Rasterman)2014-01-132-0/+24
|
* evas - fonts - move to using 4bit and rel 4 bit compressed font glyphsCarsten Haitzler (Rasterman)2014-01-131-63/+19
| | | | | | | | | this changes the internal encoding of font glyphs in evas to use 4bit uncompressed if small, or 4bit rle (run length encoded) if larger. this caves at least 50% of memory on fonts - and more if bigger. with large fonts (40-80pixel size) we can save in the region of 80% of memory used for glyphs. this also happesn to allow speedups in rendering too.
* evas gl - prefer alpha4 format for font textures if possible (save memory)Carsten Haitzler (Rasterman)2014-01-131-17/+33
| | | | | | if alpha4 is possible (desktopgl) then use it for fonts as this should cut memory in half for them and possibly speed things up due to less memory bandwidth needed
* evas gl - comment out unreachable codeCarsten Haitzler (Rasterman)2014-01-101-1/+3
| | | | fixes CID 1132634
* fix mingw build for setuid fix/checksCarsten Haitzler (Rasterman)2014-01-081-2/+6
|
* setuid safeness - ensure if an app that is setuid doesn't do bad thingsCarsten Haitzler (Rasterman)2014-01-081-0/+2
| | | | | | this makes efl ignore certain env vars for thnigs and entirely removes user modules (that no one ever used) etc. etc. to ensure that *IF* an app is setuid, there isn't a priv escalation path that is easy.
* evas - gl engine - glerr should be off by default for performanceCarsten Haitzler (Rasterman)2013-12-271-1/+1
| | | | stable release - cherry-pick me!
* evas gl engine - ensure on texture delete we never leave a cur tex id danglingCarsten Haitzler (Rasterman)2013-12-261-0/+2
|
* efl: Unified eina critical manro to CRI.Daniel Juyung Seo2013-12-263-8/+8
| | | | | | | | Being annoyed by different types of eina critical macros - CRI, CRIT, CRITICAL -, I concluded to unify them to one. Discussed on IRC and finally, CRI was chosen to meet the consistency with other macros - ERR, WRN, INF, DBG - in terms of the number of characters. If there is any missing bits, please let me know.
* evas - evas gl - fix realloc failure case to handle it properlyCarsten Haitzler (Rasterman)2013-12-111-3/+10
| | | | | patched shader string realloc failure not handled right - could leak patched string and p.
* evas - evas_gl - fix shader patch to not free static stringsCarsten Haitzler (Rasterman)2013-12-111-3/+6
| | | | | | parsing problem with opengl_strtok() which would free the previous token "p", but in some cases it would be a const string. this should fix CID 1039653
* Evas: Fix crash in GL engine(s) during preload cancelJean-Philippe Andre2013-12-091-0/+4
| | | | | | | In my config, running terminology with the GL engine and under cserve2, some image could not be loaded. The tex argument in evas_gl_preload_target_[un]register was NULL, leading to an immediate crash.
* evas: add missing define for some target.Cedric Bail2013-11-271-0/+49
|
* Revert "Revert "evas: allow fuzziness on the texture format returned by GL.""Cedric Bail2013-11-271-1/+37
| | | | This reverts commit 87385b05c3117aa8d46fd4029bfdeadf3444a7b9 that is necessary for desktop target.
* Revert "evas: allow fuzziness on the texture format returned by GL."Rafael Antognolli2013-11-261-37/+1
| | | | | | This reverts commit 2b5b3438e82a9a1bb4086864660942d3c1ddc113. Breaks gl engines when using GLES + EGL.
* evas: allow fuzziness on the texture format returned by GL.Cedric Bail2013-11-261-1/+37
|
* evas - gl engine - async texture upload - protect null tex handle accessCarsten Haitzler (Rasterman)2013-11-251-9/+17
| | | | | this stops a very blantant segv when accessing async->tex when it is NULL on _evas_gl_preload_main_loop_wakeup().
* evas_gl : Fixed macro substitution bug in evas_glSung W. Park2013-11-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In evas_gl_api_ext_def.h there're calls such as: _EVASGL_EXT_DRVNAME(EGL_KHR_image_base) The macro is defined in evas_gl_api_ext.c as: (strstr(glexts, #name) != NULL || strstr(glueexts, #name) != NULL) if (_EVASGL_EXT_CHECK_SUPPORT(name)) *ext_support = 1; But EGL_KHR_image_base is itself a macro, which is defined in EGL/eglext.h like this: Thus, the _EVASGL_EXT_CHECK_SUPPORT macro will unwrap into: (strstr(glexts, "1") != NULL || strstr(glueexts, "1") != NULL) instead of intended: (strstr(glexts, "EGL_KHR_image_base") != NULL || strstr(glueexts, "EGL_KHR_image_base") != NULL) This patch fixes this by applying stringification earlier in _EVASGL_EXT_DRVNAME Bugfix reported by jinhyung.jo@samsung.com
* evas/cserve2: Fix image preload with gl-x11 engineJean-Philippe Andre2013-10-303-0/+35
| | | | | | Cserves supports only the SW (xlib) and GL (gl-x11) engines. Also, improve cs2 support for some lesser used functions in the gl_x11 engine.
* EvasGL: cleaning up unnecessary code.Sung W. Park2013-10-303-58/+0
| | | | Cleaning up unnecessary code.
* evas/cserve2: Implement support for GL engineJean-Philippe Andre2013-10-281-15/+132
| | | | | | | | | Simply call the appropriate cache2 functions when possible and check for usage of cache2 whenever an evas_cache_ function is called. This effectively adds cserve2 image (data) load support for the GL engines. Fonts were already working out-of-the-box.
* EvasGL: Fixed direct rendering not clipping issueSung W. Park2013-10-244-163/+208
| | | | | | | | | | | | | | Evas GL direct rendering mode didn't properly take into account the image object's clipping information and clip the region that it was directly rendering to. Hence there were issues with the direct rendering region drawing over the objects that are sitting on top of it. Also, cleaned up the direct rendering coordinate computation code and a nasty dependency with image object that should have been removed a long time ago. Basically the evas-gl engine was directly accessing the image object data structure for its data when it really should have just passed along necessary information.
* evas - gl - dont allocate image and/or texture until needed on native unsetCarsten Haitzler (Rasterman)2013-10-162-1/+15
|
* evas - try cleanup pipe_region_intersects again.. this time without bugs.Carsten Haitzler (Rasterman)2013-10-011-18/+13
|