Commit Graph

138 Commits

Author SHA1 Message Date
Rafael Antognolli 56eeac8fbd evas/cserve2: Always return FALSE to can_do_region when
using cserve2.
Return always FALSE since we are not implementing this load option yet.



SVN revision: 73374
2012-07-05 18:42:30 +00:00
Cedric BAIL 1d415b796b evas: add more infrastructure to the prepare stage of pipe rendering.
NOTE: this improve some test by 10 to 15% some other are down by 5%.
Their is still more tunning and improvement possible now (Particularly
with Map), but it will do for now.


SVN revision: 73264
2012-07-04 09:39:23 +00:00
Rafael Antognolli 2f3426b67c evas/cserve2: CServe2 client side lib modifications.
Add the calls to request font loading and glyphs on the client lib.



SVN revision: 72700
2012-06-22 20:31:31 +00:00
Tom Hacohen a9709c792e Evas font: Support no bidi no shaping mode in font rendering.
For no bidi: just don't set the bidi stuff. I.e paragraph props and the
other stuff (including text_props_direction_set). If you disable BiDi you most
likely want to disable shaping as well.
For no shaping: Disable bidi (i.e don't set direction) and pass
EVAS_TEXT_PROPS_MODE_NONE to info create.

This will prove especially useful for textgrid, but not only.

SVN revision: 72032
2012-06-12 14:14:52 +00:00
Cedric BAIL b0d3526d89 evas: another improvement part of the previous lock less font rendering patch.
Now evas will in all case do the layout during the prepare stage. It will do that
once and as long as the text didn't change. This does improve by a factor of at
least 2.3 in all expedite test case except the text change that only get a 30%
increase (I expect a drop in performance on non pipe rendering for text change
expedite test only, but this case is not common in real life).

This also fix the issue that show random size glyph when using pipe rendering.


SVN revision: 71220
2012-05-18 02:16:54 +00:00
Cedric BAIL c686762c35 evas: warning--, tasn.happy++.
SVN revision: 70993
2012-05-14 09:21:50 +00:00
Carsten Haitzler ce4a431e4d Fix pixman rendering support if you set alpha flag AFTER
setting image size for custom image data.
                


SVN revision: 70987
2012-05-14 06:56:22 +00:00
Iván Briano f9de301af5 Fix whatever went wrong here that made software sluggish when not using pipe render
SVN revision: 70911
2012-05-10 17:42:25 +00:00
Iván Briano a033707137 And make map work with cserve2
SVN revision: 70858
2012-05-07 19:58:34 +00:00
Iván Briano 15328efb85 evas/cserve2: fix typo that kept cserve2 disabled
now seriously...

Introducing Cache Serve 2.

This cache server will initially load images for clients connected to
it. It starts slave processes to load these images, and share the loaded
images through shm with the clients. All the connection done between
clients and the server goes through sockets.

The cserve2 build option is turned on by default, while the old cserve
was disabled, but in order to make clients use it, the environment
variable EVAS_CSERVE2 must be set, and a server must be running.

Clients will try to find the socket on a specified location using the
environment variable EVAS_CSERVE2_SOCKET. If it's not defined, then the
XDG_RUNTIME_DIR path should be used, and finally HOME, TMPDIR and /tmp.



SVN revision: 70699
2012-05-03 21:01:31 +00:00
Carsten Haitzler cc87921515 missing fribidi cflags in all places that include evas_private.h ...
which includes fribidi headers from evas font bidi headers...



SVN revision: 70565
2012-05-01 07:35:35 +00:00
Cedric BAIL f046fa4c46 evas: remove unused parameter.
SVN revision: 70550
2012-04-30 09:42:42 +00:00
Cedric BAIL 377cc2368a evas: remove EVAS_FRAME_QUEUING.
NOTE: This should be part of evas_render itself and not
delegated to the engine. So cleaning things to make it easier
during evas_render rewrite.


SVN revision: 70503
2012-04-26 09:53:03 +00:00
Thanatermesis 4776bcfbd7 Fix linking complaints brought out by:
From: Thanatermesis <thanatermesis.ecvs@gmail.com>
Subject: [E-devel] LDFLAGS with -Wl,-z,defs

Aparently if you add the option "-Wl,-z,defs" to your LDFLAGS, there's some
libs that doesn't compile, like evas and e_dbus, there's some logs:



SVN revision: 68464
2012-02-27 05:20:17 +00:00
Seungsoo Woo cf926fda0b From: Seungsoo Woo <om101.woo@samsung.com>
subject: [E-devel] [Patch] Add override gl apis for osmesa

When an application use glBindFramebuffer or glBindRenderbuffer via 
evas_gl after loding libosmesa.so,it shows segment fault.

Because glBindFramebuffer and glBindRenderbuffer are not overrided.
So, I fixed it.



SVN revision: 68391
2012-02-24 07:55:04 +00:00
Vincent Torri 4060b7d96e Evas: remove WIN32_CPPFLAGS and WIN32_CFLAGS are there are not used anymore. Move some headers in evas_common.h
SVN revision: 68100
2012-02-18 08:33:00 +00:00
Sung Park 9afd5b3f3f Added Direct Rendering to Evas' window instead of an FBO in Evas_GL.
This optimization is significant for rendering to a large surface 
because it'l save an extra copy overhead as well as an extra rendering pass.

To enable it, you can give EVAS_GL_OPTIONS_DIRECT hint in the surface
config options_bits. The following conditions have to be met in order
for evas to render directly into the Evas' window. If they are not met, the 
engine will fallback to rendering to an FBO as it normally does. 

conditions: 
1.) All the GL calls have to be called using the pixel_get_callback function.
This is necessary for the evas object order to be maintained.
2.) Alpha must be disabled on the image ojbect that renders evas_gl.
3.) No rotation allowed.

One way to override above condition is to set EVAS_GL_DIRECT_OVERRIDE=1 but 
there is no guarantee in its behavior.

Currently, this optimization is added for gl_x11 engine only. 




SVN revision: 67388
2012-01-20 12:29:14 +00:00
Gustavo Sverzut Barbieri 9a47bffc98 fix gcc warnings about set-but-unused and shadows of y1.
NOTE: did not touch mess that is jpeg, someone else can deal with it :-P



SVN revision: 67353
2012-01-19 16:49:47 +00:00
Christopher Michael 0b6f56aa34 Evas (software_generic): Add UNUSED for params that are not used
(where missing).
Remove unused variables.
Comment out functions that were defined but not used.



SVN revision: 67066
2012-01-11 10:40:17 +00:00
Cedric BAIL 8a4dfb08c1 evas: just disable Evas_GL support in software engine when we don't have dlopen.
NOTE: there is many system without dlopen and we do support them. Please keep it
this way in the future.


SVN revision: 66901
2012-01-05 12:59:08 +00:00
Sung Park 2f6b837c7c Added EvasGL support for software backend finally.
* This feature requires libOSMesa to be installed.   

One caveat with OSMesa is that a surface config (ie. Depth Buffer and etc)
is associated with a context rather than a surface, which is the case 
in EvasGL.  So for now, when a user specifies a surface config, it gets 
associated with the first context that the surface does a make current to.
For typical usage case, this shouldn't be a prolem. Will need to fix it 
eventually.




SVN revision: 66896
2012-01-05 07:55:23 +00:00
Christopher Michael b3d6859de5 Evas: Software_Generic: Fix typo? for __UNUSED__.
SVN revision: 66222
2011-12-14 18:27:29 +00:00
Michael BOUCHAUD 33eb1e5e79 evas: Add api to know if an evas_object_image could support region
SVN revision: 66170
2011-12-13 16:58:20 +00:00
Cedric BAIL 889b6c749f evas: warning--
SVN revision: 65432
2011-11-20 13:52:18 +00:00
Carsten Haitzler 4483c0ef6f warning--
SVN revision: 64387
2011-10-25 12:07:56 +00:00
Cedric BAIL ce3a658ef7 evas: coorectly dirty YUV data.
SVN revision: 64254
2011-10-21 14:06:42 +00:00
Sung W. Park c1cc0a7ed2 From: "Sung W. Park" <sungwoo@gmail.com>
Subject: Re: [E-devel] [E-Devel][Review][Patch] Evas GL Extensions + a
bug fix


Here's an initial attempt at the GL extensions issue for Evas GL.

I have been in discussion with a few EFL developers regarding how we should
provide extensions.  Essentially, there are two ways to go about doing this.

1. provide evas_gl_proc_address_get() function as it is done in other
glue layers

2. provide all the extension functions in the EVAS_GL_API struct.

#1 approach is how it's done in other glue layers and the driver implementor can
provide new extensions easily.  It is however pretty annoying to get the
function prototypes right and use the function pointers and etc.

#2 approach provides all the extension functions in the struct so it's
definitely easier to use.  Adding new extensions can be a pain as people may
have to wait for new version releases.

For now, we thought it was OK to just throw them in the struct as in
#2 and try it out.  So, I've implemented this approach.  As for the extensions,
I've basically included all the extensions in gl2ext.h as EvasGL currently
provides all the GLES 2.0 functions.   In order to display the right
information, I had to override glGetString() with GL_EXTENSIONS as parameter to properly
display the supported extensions.

Also, I've added a few EGL extensions that have been
modified for EvasGL use.  For example, eglCreateImage/eglDestroyImage has been
defined as folllows.

   EvasGLImage  (*evasglCreateImage) (int target, void* buffer, int*
                                         attrib_list); void
                                            (*evasglDestroyImage)
(EvasGLImage image);

const char *evas_gl_string_query() function was added to return a string of
supported EvasGL extensions.  So essentially, a user can search this string to see
if the desired extension is supported.  if it is, he can use the functions.  He can
always check if the function pointers are NULL as well.

Take a look at the pach and let me know what you think.

______________

While I was adding the extension code, I've added a few fixes/ changes
to the EvasGL.

1. glDeletBuffers bug
- When I wad destroying evasgl context, I was deleting the context FBO with
glDeleteBuffers instead of glDeleteFramebuffers. This code in effect was
deleting BOs in other contexts and we had some funky behaviors as a
result.  The
bug has been fixed.

2. make_current
- I've made some changes to the make current code and also added a resource
context to the engine data.  the resource context is used for creating surface
texture/ fbos when surface/ context is created.  Before, i was using evas'
context but thought it'd be a good idea to use a separate context.



SVN revision: 64139
2011-10-18 08:13:23 +00:00
Cedric BAIL 26ee52dd61 evas: add NV12 and MT12 colorspace.
MT12 is has documented in Linux videodev documentation
a 64 * 32 macro block tiled colorspace format used on
Samsung hardware.


SVN revision: 62967
2011-08-29 20:56:48 +00:00
Jiyoun Park dae46003e7 From: Jiyoun Park <jy0703.park@samsung.com>
Subject: RE: [E-devel] [Patch] Animation gif feature patch

Animated gif suport in evas and api's to handle animated images and
frame flipping. from jy.



SVN revision: 62331
2011-08-11 06:04:08 +00:00
Cedric BAIL 5cbc6350ba evas: add software YUY2 colorspace converter.
NOTE: will shortly learn how to write the corresponding shader and add it soon.


SVN revision: 61548
2011-07-21 10:36:05 +00:00
Boris Faure e6119fa4d9 remove .cvsignore files
SVN revision: 60246
2011-06-12 21:38:37 +00:00
Carsten Haitzler 5d2bd283c3 disable evas filter code. buggy. doesn't work right.
SVN revision: 59898
2011-06-02 10:40:43 +00:00
Tom Hacohen 60aa86a0ef Evas font-engine: Added two font opaque types.
Added Evas_Font_Instance and Evas_Font_Set which correspond to
RGBA_Font_Int and RGBA_Font. This is very important for strict type
checking which we now finally have.

This commit does not include logic changes, only casting and changing
types of pointers to the opaque pointer types.

SVN revision: 59782
2011-05-29 13:00:54 +00:00
Tom Hacohen 81b217f8c4 Evas font-engine: Fixed font fallback in the same script run.
SVN revision: 59777
2011-05-29 09:20:18 +00:00
Christopher Michael 8c2397f8c2 Evas: Add UNUSED to evas_engine function 'eng_image_load_error_get'
for data paramater (it is not used in the function).



SVN revision: 59547
2011-05-20 01:35:41 +00:00
Carsten Haitzler 4dd1d5cf62 fix load of data to ACTUALLY set the load error in evas's image
objects. including preload.



SVN revision: 59529
2011-05-19 11:19:22 +00:00
Carsten Haitzler 569ca2b315 wrn--
SVN revision: 59139
2011-05-03 03:11:08 +00:00
Tom Hacohen e93f10b8aa Evas font-engine: Remove passing of strings to font_draw.
This is not needed anymore because we have working string objects.

SVN revision: 59133
2011-05-02 15:33:46 +00:00
Carsten Haitzler c885080057 an initial test at trying pixman instead of evas software rendering.
results... in comments. disabled atm unless u --enable it. only
replaces 1 operation in 2 cases.



SVN revision: 58824
2011-04-22 11:47:14 +00:00
Carsten Haitzler 18619830c4 oh god. more warning fixes...
SVN revision: 58745
2011-04-20 08:01:04 +00:00
Brett Nash 9eaea94252 Evas: Filters:
More work, proudly supported by Samsung.  Filters!

So now you can apply a whole host of cheesy visual effects to objects at
runtime.  This is the first commit, there are a couple of more to come as I
tweak the filters, and fix blur with GL[1].

Please direct bugs to me nash@nash.id.au.

[1] You'd think shaders would be good at this.. but no, generic blur and GL
are like trying to get an apple product to work with Linux.

SVN revision: 58726
2011-04-19 05:47:56 +00:00
Tom Hacohen 1dac813ace Evas font-engine: Fix the fallback fribidi shaper.
Just keep the shaped string in the string object if fribidi is used
without harfbuzz.

SVN revision: 58620
2011-04-13 08:37:01 +00:00
Tom Hacohen 682c7dcdc5 Evas font-engine: Fixed *props_info_create to accept a const string.
We don't want to have to alloc just for the engine. We want to be able to
pass our own const copy.

SVN revision: 58618
2011-04-13 08:36:54 +00:00
Tom Hacohen ad3b167e88 Evas font-engine: Added support for runtime-italic/bold.
Now when setting :style=Oblique/Italic/Cursiva/Bold and etc and there's
no matching font found in the system, adjustments will be done on
runtime to support that feature.

Patch by Myoungwoon Roy Kim (roy_kim).

SVN revision: 58584
2011-04-12 09:05:47 +00:00
Tom Hacohen 5d4f6d3cbe Evas font-engine: Remove most of the passing of strings.
We have string objects, we don't really need them. Draw still uses strings
for metric cache, but that will be removed soon as well.

SVN revision: 58460
2011-04-07 16:25:56 +00:00
Brett Nash f915ba4ef4 Evas: Mask: Fix undeclared warnings.
Also comment out a function.

SVN revision: 58376
2011-04-06 06:10:31 +00:00
Brett Nash b96d227334 Masking: Push a bit more arbitrary clipping
This seems to have got lost in my big messup before.  This pushes enough of
mask/arbitrary clip to be somewhat useful.  I need to push a little more soon
for it to be 100% happy, but this is useful level.

SVN revision: 58373
2011-04-06 05:38:38 +00:00
Carsten Haitzler 8859f850fb API add: From <dunamis.park@samsung.com> - sungwoo
start of evas gl api (with compile warning fixes).



SVN revision: 58318
2011-04-04 10:23:12 +00:00
Tom Hacohen 533ef3530e Evas font-engine: Added right_inset_get.
This lets us get the difference between the width and the advance
of a string pretty fast, which means we only need to calculate either
advance or width, because we can now calculate one from the other.

SVN revision: 58181
2011-03-29 13:52:22 +00:00
Gustavo Sverzut Barbieri 7502b7fe0b Don't create useless modules dir if we're not going to install modules.
SVN revision: 58014
2011-03-23 03:33:55 +00:00