path: root/src/modules/evas/engines/gl_common/evas_gl_font.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Evas masking: Ensure texture is up-to-date before drawing (GL)Jean-Philippe Andre2015-04-011-9/+14
* Evas GL generic: Simplify "scaled" images (used for masking)Jean-Philippe Andre2015-04-011-13/+5
| | | | | | | | | | | Invert the meaning of scaled (w,h), so that im->(w,h) corresponds to the final scaled size, and the original size is stored directly in the texture itself. This simplifies code a little bit. Also, lift the limitation on the maximum texture size, as those virtual textures are not limited by GPU texture size.
* Evas masking: Refactor GL codeJean-Philippe Andre2015-04-011-27/+5
| | | | | | | | | | | | | | Use the same method as for map masking: - Pass absolute geometry of the mask to the push functions, - Compute absolute position in the shader (like gl_Position) and apply scaling factor + offset to sample the mask. Masking now uses a single vec4 attribute instead of hi-jacking other vertices. This way, all masking shaders share the same code and are way simpler. On the other hand, the vertex shaders have a little bit more work to do.
* Evas masking: Add fast path for image-only masks in GL.Jean-Philippe Andre2015-02-271-35/+44
| | | | | | | | | | | | | | | | | | | | | | | This will currently optimize most of the masks when using the GL engine[1]. This is a very special case that adds a highly optimized path for masking in GL. It works by creating a virtual image, containing a pointer to the original image and a new geometry[2]. Instead of creating a new FBO-based surface (image_map_surface), we refer to the original image and adjust the mask geometry on the fly. KNOWN BUGS: - masking a map with such a scaled image is now broken. [1] Right now all masks are simple Evas Object Image, so that means all cases of masking, except masks of masks, or masks of maps, will be optimized with this new method. [2] This virtual image mechanism is still quite hackish and may be improved (for memory usage, refcounting, etc...)
* evas: do not compute things twice.Cedric BAIL2015-01-211-4/+4
| | | | Fix CID 1265599, 1265597, 1265598 and 1265596.
* Evas masking: Fix invalid geometry after mask redrawJean-Philippe Andre2015-01-071-1/+1
| | | | | The proper geometry should be set when rendering the mask, otherwise we can't create a new surface if it changed dimensions.
* Evas masking: Add support for BGRA/ARGB maskingJean-Philippe Andre2015-01-071-27/+31
| | | | Also, refactor font & image GL masking.
* Evas masking: Font masking for GLJean-Philippe Andre2015-01-071-0/+37
* evas gl - fixz minor leak on exit of rectanglesCarsten Haitzler (Rasterman)2014-08-071-4/+4
| | | | | | these were static rect cutouts, so they stayed around on exit and thus we "lost" them. this nukes them on context free and each new frame. fixes the "leak"
* 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: cover some more cannot-allocate-texture cases.Carsten Haitzler (Rasterman)2013-07-151-0/+1
* evas: preliminary work on texture destruction for async preload of texture.Cedric Bail2013-06-141-1/+1
* merge: and now EvasVincent Torri2012-11-041-0/+205
I've tested make -j 3 install and it works nicely I've tested expedite with software and opengl xlib, and it works. Not tested other engines, so please report any problems (engines or other) on the ML. TODO: examples and tests, I'll add them later ISSUE: Eina_Unicode size check. It indirectly depends on eina_config.h, which is created at the end of the configure script. So its size is always 0. I don't know how that size is used, so I can't do a lot, for now. SVN revision: 78895