Commit Graph

2985 Commits

Author SHA1 Message Date
Brett Nash c391638bec ...but don't draw twice
SVN revision: 50588
2010-07-28 07:34:04 +00:00
Brett Nash 3f3f0909cc Fall through to slow path if no word and metric cache
SVN revision: 50587
2010-07-28 07:33:48 +00:00
Brett Nash 507834e27d Don't try and render wordcache if GL is on, and metric cache is enabled.
SVN revision: 50586
2010-07-28 07:33:23 +00:00
Carsten Haitzler 1154cf402c add new win before deleting old.
SVN revision: 50584
2010-07-28 06:00:02 +00:00
Carsten Haitzler c4da05607d and add in the 8bpp gray stuff
SVN revision: 50571
2010-07-28 02:27:29 +00:00
Alexander Kerner 0ec2a33a22 From: Alexander Kerner <alexander.kerner@googlemail.com>
Subject: [E-devel] 8bpp xcb evas engine

Hi all,

I've implemented the 8bpp grayscale evas engine. It is based on the 16bpp
engine. It would be nice if someone could review the code and maybe commit
into svn. The patches against evas and ecore are attached.



SVN revision: 50560
2010-07-28 00:16:06 +00:00
Brett Nash 97528eaa60 Bloody fenceposts. Draw the right stuff when rendering. neon fixes ++ ;-)
SVN revision: 50503
2010-07-26 05:37:36 +00:00
Brett Nash 9357c5d284 Use memcmp instead of stringshare. Much faster.
Everyones favourite arm benchmarks (a8 cortex)
Base                       stringshare   memcmp     Diff   Diff %
Widgets File Icons               32.48    36.78      4.3   13.24%
Widgets File Icons 2             73.65    74.93     1.28    1.74%
Widgets File Icons 3             44.87    46.89     2.02    4.50%
Widgets File Icons 4             65.66    66.45     0.79    1.20%
Text Basic                       88.67    91.21     2.54    2.86%
Text Styles                      10.71    10.95     0.24    2.24%
Text Styles Different St           8.3     8.45     0.15    1.81%
Text Change                       56.4    57.34     0.94    1.67%
Textblock Basic                  60.75     68.8     8.05   13.25%
Textblock Intl                  155.33   193.51    38.18   24.58%


SVN revision: 50498
2010-07-26 03:17:40 +00:00
Brett Nash a834d2e85f Some improvements to 90 degree rotated neon.
SVN revision: 50476
2010-07-24 04:52:13 +00:00
Brett Nash 68682317e8 Bump the default buffer size. USeful for expedite ;-)
SVN revision: 50474
2010-07-24 02:38:36 +00:00
Brett Nash 8528bb0179 Tweaks to neon text: Help with some bugs at least.
SVN revision: 50410
2010-07-21 08:09:41 +00:00
Brett Nash 59d93f9353 Minor fix: Don't render text if there is nothing to do
SVN revision: 50408
2010-07-21 06:43:47 +00:00
Brett Nash 9dc5a96f2d Generally speaking, dereffing uninited pointners is not so good.
Squash one nasal daemon!


SVN revision: 50403
2010-07-21 03:51:36 +00:00
Cedric BAIL 58dfd1c2b8 * evas: make WORD/METRIC cache work with pipe rendering.
SVN revision: 50381
2010-07-20 12:11:49 +00:00
Cedric BAIL 3479d5e0ea * evas: fix fribidi lock.
SVN revision: 50380
2010-07-20 12:10:40 +00:00
Cedric BAIL 0a5c65549a * evas: font config access is not thread safe at all. Don't forget
to call FTLOCK/FTUNLOCK around each FT_* call.


SVN revision: 50379
2010-07-20 12:09:46 +00:00
Cedric BAIL 8006ed3753 * evas: METRIC and WORD cache require stringshare use in thread, so
enable it.


SVN revision: 50378
2010-07-20 12:07:51 +00:00
Cedric BAIL 8bd358c65e * evas: unbreak pipe rendering, that was a long break.
SVN revision: 50374
2010-07-20 09:32:28 +00:00
Christopher Michael 39adb32e71 Use eina_stringshare_replace rather than several _del & _add calls
(tested w/ no apparent adverse affects).

Fix some formatting.



SVN revision: 50307
2010-07-17 19:49:16 +00:00
Gustavo Sverzut Barbieri 7521047f09 Fix invalid access if using async-render
Ouch, that was nasty! src/lib/cache/evas_cache_image.c was assuming
all Image_Entry were RGBA_Image (why?!?!?), thus doing the cast and
having mutexes and other to operate on garbage (possibly crashing due
segv). This happened to be the case with Soft16_Image used by
software_16 engines.

I'm not sure, but this may fix problems that people noticed with
async-render hanging their systems even if not explicitly enabled
during runtime.

I also found it quite strange the number of locks required by this
code! Clearly we could use macros to simplify and avoid bugs, but
maybe some atomic_inc/dec code should be used to remove half of the
mutexes in that code?

/me wonders what kinds of bug more we can expect from this code :-/



SVN revision: 50300
2010-07-16 22:52:04 +00:00
Gustavo Sverzut Barbieri a7e471700b Fix soft16 preload by replicating Image_Entry::info.
Software 16bpp variants were crashing if using preload as the
Image_Entry that was used by preload did not keep the loader and
module information, since these were only set in the
Soft16_Image::source.  Now we copy these members while the source is
live.



SVN revision: 50299
2010-07-16 22:47:31 +00:00
Eduardo de Barros Lima 9b3cf97523 Ability to disable NEON code in runtime
Just set the EVAS_CPU_NO_NEON environment var if you want to disable Neon.
The same is done for other specific CPU codes, such as MMX, MMX2, SSE, etc.



SVN revision: 50271
2010-07-15 17:58:38 +00:00
Lucas De Marchi 2a84379ba9 Remove unneeded code with notnull.cocci script
The notnull.cocci script from Coccinelle finds places where you check if a
variable is NULL, but it's known not to be NULL. The check can be safely
removed. For example, this code would be caught by notnull:

if (!var) return;
if (var && var->fld) { ... }

It's needless to check again if var is not NULL because if it's in fact NULL,
it would have returned on the previous "if". This commit removes all the
trivial places where this pattern happens. Another patch will be generated for
the more complex cases.


SVN revision: 50241
2010-07-14 02:05:47 +00:00
Carsten Haitzler e80f08b4b4 bitrot-- > work again (minus map features etc. tho)
SVN revision: 50192
2010-07-12 02:47:02 +00:00
Carsten Haitzler c8765d7594 a more correct version of the dso fix.
SVN revision: 50184
2010-07-11 23:56:40 +00:00
Jonathan Atton d97c0b0a9a the min size of the box is the sum of the items min size
SVN revision: 50156
2010-07-09 11:17:35 +00:00
Christopher Michael fefbc09a63 Move Evas (and associated headers) to their own dir (ie: the 'eet.h'
move).



SVN revision: 50141
2010-07-09 06:10:55 +00:00
Lucas De Marchi 9df58ae530 Remove NULL pointer dereference
Bug found by the "andand" semantic patch:

// The right argument of || or && is dereferencing something known to be NULL
//
// Confidence: High
// Copyright: (C) Gilles Muller, Julia Lawall, EMN, INRIA, DIKU.  GPLv2.
// URL: http://coccinelle.lip6.fr/rules/andand.html
// Options:

@ expression@
expression E;
identifier fld;
@@

- !E &&
+ !E ||
  <+...E->fld...+>

@ expression@
expression E;
identifier fld;
@@

- E ||
+ E &&
  <+...E->fld...+>




SVN revision: 50118
2010-07-08 03:21:33 +00:00
Brett Nash 8dfc47998e Add more control over word-cache size. Also really fix my leak on international text.
The new wordcache option is an environment variable called:
	EVAS_WORD_CACHE_MAX_WORDS
set this to a number between 1-500 to change the cache size.

Larger values (40+) fix regressions in a few of the expedite tests.



SVN revision: 50047
2010-07-05 06:40:20 +00:00
Brett Nash daa5685bd3 Don't check alloca, it's like checking the stack exists.
SVN revision: 49991
2010-07-02 08:31:12 +00:00
Brett Nash 0227f22ad7 Some fixes for internation support and word cache
SVN revision: 49990
2010-07-02 07:05:20 +00:00
Brett Nash 59bbcfbb8a Put a FIXME where someone doesn't understand alloca.
SVN revision: 49989
2010-07-02 06:53:41 +00:00
Brett Nash b304ae1642 Only use work and metric cacheing on 3 character or longer strings.
SVN revision: 49988
2010-07-02 06:47:22 +00:00
Brett Nash ac552cd762 Renable 'free' for word cache
SVN revision: 49986
2010-07-02 02:20:11 +00:00
Brett Nash 4b7cab6ed4 Not pure, don't need to care about results.
Code with side effects is NOT pure.  Cdoe where you can ignore the return
value because you care about the side effects should not have WARN_UNUSED...
Please only add such things when you've checked


SVN revision: 49984
2010-07-02 00:44:03 +00:00
Carsten Haitzler 5716032298 no! include this!
SVN revision: 49961
2010-07-01 05:06:23 +00:00
Carsten Haitzler 41e2c165ec ok - i think this can double-check if neon code can be compiled at all.
SVN revision: 49960
2010-07-01 04:52:45 +00:00
Lucas De Marchi e502081fa3 Use macro to get container of inlist
Revove warning.



SVN revision: 49959
2010-07-01 03:12:14 +00:00
Tom Hacohen 3e2b214065 evas: Removed the obsolete Arabic shaping as it's now done in FrBiDi (starting from version 0.19.2).
If you are having any problems with Arabic shaping please make sure you have FriBiDi version 0.19.2 installed at the time of compilation. If your distro doesn't have that version yet, make them upgrade, it's an year and a half old.

SVN revision: 49949
2010-06-30 16:51:49 +00:00
Cedric BAIL 7d75cf9914 * Evas: deprecating gradient API.
WARNING: I AM SORRY, BUT IF NO ONE IS PLANNING TO BECOME
	THE EFFECTIVE MAINTAINER OF THAT PIECE OF CODE, I WILL
	REMOVE IT NEXT WEEK.


SVN revision: 49945
2010-06-30 09:47:55 +00:00
Brett Nash 13fcfaa5a1 Neon fixes for text rendering
SVN revision: 49917
2010-06-28 05:21:34 +00:00
Brett Nash 5710adfa7b whitespace --
SVN revision: 49916
2010-06-28 05:21:05 +00:00
Brett Nash ee5ef216ef Suppress warnign about dropping const (AKA: C is stupid)
SVN revision: 49914
2010-06-28 05:14:36 +00:00
Carsten Haitzler 89baaff057 and final post snap - next releasename
SVN revision: 49903
2010-06-27 14:06:10 +00:00
Carsten Haitzler 83b36be7a3 snap+release
SVN revision: 49899
2010-06-27 13:45:27 +00:00
Carsten Haitzler 5e26049385 Snapshot evas
SVN revision: 49891
2010-06-27 13:32:41 +00:00
Brett Nash 22e2ac921c Fic names of caching vars.
SVN revision: 49854
2010-06-25 08:52:37 +00:00
Vincent Torri 3a7d06b04d fix linking with mingw
SVN revision: 49819
2010-06-23 15:51:20 +00:00
Bruno Dilly 40db7f8c61 Add 3 missing symbols to escape strings
SVN revision: 49794
2010-06-22 14:01:50 +00:00
Carsten Haitzler 166dc4c594 try no surf/context etc. on free in egl.
SVN revision: 49790
2010-06-22 00:06:40 +00:00
Carsten Haitzler 7f99f93744 use before freeing to make sure context is right
SVN revision: 49781
2010-06-21 07:59:46 +00:00
Carsten Haitzler a08e99cd82 warnings--
SVN revision: 49765
2010-06-20 06:32:05 +00:00
Cedric BAIL a1bfc834d5 * configure.ac: take inept translation a little bit into account.
SVN revision: 49743
2010-06-18 14:45:42 +00:00
Brett Nash 4d591c3148 Some more Neon updates: 180 degress.
SVN revision: 49692
2010-06-16 09:02:09 +00:00
Brett Nash 725e12bdfa Don't double declare len
SVN revision: 49663
2010-06-14 08:16:47 +00:00
Brett Nash c410401441 Remoive extra #endif
SVN revision: 49662
2010-06-14 08:07:12 +00:00
Brett Nash 02f204b84c Add experimental word and metric caching.
SVN revision: 49661
2010-06-14 05:59:23 +00:00
Gustavo Sverzut Barbieri 94ee30952b Although evas_debug is flagged with "debug" in the name, messages are critical.
The evas_debug functions are just called from MAGIC_DEBUG errors, that
are quite critical, so messages should come out by default, and do
that loud with a CRITICAL warning.

Raster, cedric and others: now that we have Eina as a common
dependency between Evas and Ecore, maybe it is worth to unify the
debug system on top of Eina logging? It already provides "abort on
critical", runtime configurable log levels. I'd say the same about the
magic and safety checks themselves (eina_magic and eina_safety).




SVN revision: 49643
2010-06-11 18:35:40 +00:00
Gustavo Sverzut Barbieri ddb8c95fa9 SVN_REPO_PATH envvar during autoconf to use svnversion in there.
Some systems, like the Gentoo, copy the svn contents somewhere before
doing the autoconf, this may result in lack of .svn and thus minor
version "0".

This patch introduces the $SVN_REPO_PATH to say where the svn checkout
containing the ".svn" directory is.



SVN revision: 49594
2010-06-09 18:22:47 +00:00
Vincent Torri 5ab3172ca0 it seems that gcc 4.5.0 on Windows does not like my function pointers
SVN revision: 49592
2010-06-09 14:43:40 +00:00
Vincent Torri 558daff395 use function pointers
SVN revision: 49563
2010-06-08 06:08:17 +00:00
Vincent Torri 7eacb5c1d4 use (A)RGB_JOIN macro
SVN revision: 49562
2010-06-08 05:39:46 +00:00
Carsten Haitzler 1520bad01b restore after snap/release
SVN revision: 49540
2010-06-06 17:43:03 +00:00
Carsten Haitzler 05c5b03d5e Snapshot evas
SVN revision: 49532
2010-06-06 17:26:38 +00:00
Vincent Torri a84e00ed28 as we use fopen ourself, no need to use the wrapping for win ce
SVN revision: 49527
2010-06-06 17:18:10 +00:00
Carsten Haitzler f0eee2d260 post-snap anr release.. reset svn back.. this time for real.
SVN revision: 49526
2010-06-06 17:17:52 +00:00
Carsten Haitzler af8efb723b Snapshot evas
SVN revision: 49515
2010-06-06 16:42:31 +00:00
Carsten Haitzler 25ff64e960 post release - move relname to pre-svn again.
SVN revision: 49506
2010-06-06 16:23:16 +00:00
Carsten Haitzler fa74e6d2bb Snapshot evas
SVN revision: 49496
2010-06-06 16:07:58 +00:00
Christopher Michael 3ba73cf34b No reason to include the same header twice.
SVN revision: 49449
2010-06-04 16:00:28 +00:00
Cedric BAIL 5685faac42 * evas: make it possible to call unload_all from surface_alloc.
SVN revision: 49448
2010-06-04 15:21:12 +00:00
Carsten Haitzler 0d5088488e clean up smart cb descriptions on del.
SVN revision: 49438
2010-06-04 04:07:12 +00:00
Carsten Haitzler a4769c42cb change svnversion shell goop to nuke sed and just use tr to delete
unwanted goop.



SVN revision: 49429
2010-06-04 01:04:24 +00:00
Carsten Haitzler 3a5502362e fix valgrind complaint - indeed corner case.
SVN revision: 49414
2010-06-03 14:02:46 +00:00
Iván Briano 6600f0c43f Let git-svn users get the right revision number to be used as version.
SVN revision: 49407
2010-06-03 07:40:54 +00:00
Carsten Haitzler 5cad6a1c95 fix crash on null yuv.
SVN revision: 49392
2010-06-02 09:15:01 +00:00
Rui Seabra a0eb32fd7c Support for new module loaders for BMP and TGA... if they should be enabled by default, please just move them to bcond_with instead of bcond_without
SVN revision: 49380
2010-06-01 20:01:23 +00:00
Carsten Haitzler 3b8ae6502a ooh and also lkd - just to be clean.
SVN revision: 49346
2010-05-31 03:40:48 +00:00
Carsten Haitzler 77123462e1 now that header was a mess - and this wasnt using the same lock! bad
bad!



SVN revision: 49345
2010-05-31 03:31:49 +00:00
Carsten Haitzler f1e19253e6 nopw svn revision works again.
SVN revision: 49344
2010-05-31 03:12:45 +00:00
Carsten Haitzler 17dfab359b fix - if no svn tree, then it will pretend to be a release.
SVN revision: 49343
2010-05-31 01:59:22 +00:00
Carsten Haitzler d231f624eb distcheck!
SVN revision: 49342
2010-05-31 01:34:43 +00:00
Carsten Haitzler 9621532945 trga loader - snarfed 80% from imlib2. missing paletted mode (just
like the imlib2 one) but.. handles alpha correctly- unlike imlib2 and
manyother loaders.



SVN revision: 49330
2010-05-30 17:48:19 +00:00
Carsten Haitzler 2cf09cdc4a on data load alloc surface only if dimensiosn match
SVN revision: 49329
2010-05-30 15:34:22 +00:00
Carsten Haitzler 5f03706efa oops - left over png thing.
SVN revision: 49328
2010-05-30 14:33:36 +00:00
Carsten Haitzler 6f6730eaf8 for shits and giggles... i wrote a bmp loader. i did look at the old
imlib2 bmp loader, but it was imcomplete compared to the bmp
standards, so i actually ended up reading the file format definitions
on line i could find and using lots of test images... wrote a new one.
you can at least view bmp files now. note - i found 1 bmp file that
claims to have an alpha channel (amask is non-empty) and then proceeds
to provide an image with pixels - all alpha 0. so its transparent when
it shouldnt be. beats me but looks like a broken bmp file to me when
it compes to specs.



SVN revision: 49324
2010-05-30 13:04:34 +00:00
Carsten Haitzler 4b43b4ee86 oops - broke module dirs!
SVN revision: 49277
2010-05-29 07:24:43 +00:00
Carsten Haitzler 4bd7dd03d6 move evas version inside extern c.
SVN revision: 49274
2010-05-29 06:37:19 +00:00
Carsten Haitzler e7d93cc2f8 remove semi-colon
SVN revision: 49270
2010-05-29 06:27:29 +00:00
Carsten Haitzler 37e28d6008 evas version too.
SVN revision: 49268
2010-05-29 05:42:21 +00:00
Bruno Dilly 930fdce0ee small fix in evas html escape table
SVN revision: 49240
2010-05-27 21:03:53 +00:00
Brett Nash 285d1558ae Fix buggy arm ldr instruction.
The size suffixes are apparetly allowed only on neon instructions.
Thanks to Ben Zores for the bug report + testing.


SVN revision: 49174
2010-05-24 02:16:14 +00:00
Carsten Haitzler cec0aa3771 segv there in frame queue code. fix.
SVN revision: 49107
2010-05-21 16:50:25 +00:00
Gustavo Sverzut Barbieri 446b0040a4 make it easier to debug if it was enabled, and how :-)
minor style fixes.



SVN revision: 49100
2010-05-21 14:14:54 +00:00
Carsten Haitzler d17e840e13 aaah yes - the flush will ... possibly delete the image - in fract almost
definitely as it got to 0 fref. unlocking the image is bad as it was just
deleted. do the delete (cache fluch) after unlock.



SVN revision: 49089
2010-05-21 07:44:07 +00:00
Carsten Haitzler 6e93fa88d3 unloading of loader module -> bad for sync preload it seems.
SVN revision: 49088
2010-05-21 07:31:03 +00:00
Carsten Haitzler eaad0eb095 big patch from Samsung SAIT (Advanced research group) for async multi-frame
rendering. to turn on:

1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
  
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)

the kind of results you get on a desktop:

http://www.rasterman.com/files/evas-async-vs-none.html



SVN revision: 49087
2010-05-21 07:10:45 +00:00
Carsten Haitzler 8cc1f752d0 be paranoid about gl context - reset it to "0" every frame.
SVN revision: 49065
2010-05-20 15:24:28 +00:00
Carsten Haitzler 6ebb4a2152 2 more symbosl not exported - there, but hidden if visibility hidde.
SVN revision: 49004
2010-05-19 13:00:08 +00:00
Brett Nash 5259fb8d83 BUILD_NEON, not BUILD_NEONx
/me kicks me for commiting debugging code.


SVN revision: 49000
2010-05-19 09:03:46 +00:00