Commit Graph

426 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri b5c8891349 Restrict rectangles to be inside the screen at evas_tiler
SVN revision: 30274
2007-06-08 00:03:56 +00:00
Gustavo Sverzut Barbieri f685af6573 Be polite and flush cache when tilebuf is free()d.
SVN revision: 30249
2007-06-05 03:30:05 +00:00
Gustavo Sverzut Barbieri 294769b086 Use memory pool for rect_node_t
SVN revision: 30238
2007-06-04 18:32:57 +00:00
Carsten Haitzler 849e428e7f documentation from brett... tiler can compiler again.
SVN revision: 30221
2007-06-04 09:48:28 +00:00
Carsten Haitzler c9dd4797f3 patch seems to give a bit of a speedup at fuzz = 32 overall.
SVN revision: 30207
2007-06-03 05:28:12 +00:00
Carsten Haitzler 861fde2fd7 splitrectfuzz of 32 seems fine. havent checked other architectures/cpus and
engines. this should probably luse the tilebuf size instead of FUZZ anyway so
int is (in theory) settable runtime.


SVN revision: 30198
2007-06-02 17:35:21 +00:00
Carsten Haitzler a730b4be5d 1. gustavo';s fuzzy rect implementation for updates. fixed so del's work,
tuned for best performance on my core2 duo desktop - for now. will check
more. also make the yuv colorspace code be a bit more robust and fix leak in
gl engine with shaders.


SVN revision: 30192
2007-06-02 15:30:59 +00:00
Carsten Haitzler 9605e2fff0 remove cpuid stuff - not used. causes some build issues
SVN revision: 29933
2007-05-10 16:15:02 +00:00
tilman 936b791547 a bunch of constness fixes
SVN revision: 29871
2007-05-06 11:29:37 +00:00
Stafford Mitchell Horne f0c58de312 Fix problem with fonts that cant load completely
* fix reference counting for font_int(s)
 * properly backout if face doesnt load correctly, this way we dont end up
   using the face again
 * put some comments about fudged font cache


SVN revision: 29863
2007-05-05 10:30:11 +00:00
Carsten Haitzler 7b392c8ce3 gustavo's patch on free an empty/unused evas.
SVN revision: 29777
2007-04-30 04:23:47 +00:00
Carsten Haitzler b0717e8539 use alloca - not malloc :)
SVN revision: 29774
2007-04-30 03:28:05 +00:00
Carsten Haitzler 16df9e0047 add in the work I did for a 16bit engine - for now, a dormant project until i
can be convinced it provides real and significant speedups that warrant the
significant effort.


SVN revision: 29770
2007-04-29 15:45:40 +00:00
Carsten Haitzler 970bc1e2a1 patches into cvs we go.
SVN revision: 29708
2007-04-24 11:16:24 +00:00
Carsten Haitzler ecfa6af1ec just spotted a bug - i think its efreet related, but this is to make sure it
is or isnt as this struct was overwritten or seemingly pointing to an efreet
data struct


SVN revision: 29643
2007-04-22 07:01:44 +00:00
Carsten Haitzler 2d2ad07524 yuv call removed if yuv support not built
SVN revision: 29553
2007-04-16 14:30:22 +00:00
Carsten Haitzler e73d7fd1bc fix up #fidef to be consistent
SVN revision: 29477
2007-04-12 11:17:51 +00:00
Sebastian Dransfeld 8f7a264131 Remove unused variables.
SVN revision: 29378
2007-04-05 15:42:39 +00:00
Carsten Haitzler a9daf7dd89 cedric's patches.
SVN revision: 29353
2007-04-04 13:25:55 +00:00
Carsten Haitzler 5ac7b84136 pager urgent popup patch - good
evas clipouts less allocs patch - definite spedusp for when it's used heavily!


SVN revision: 29331
2007-04-04 09:55:40 +00:00
tilman 99060c539f evas now uses pkg-config to detect EET. i also reworked the autoconf code for that, IMO it now is MUCH cleaner and easier to read than before. if this causes any trouble, please contact me rather than putting weird code in again. thanks :)
SVN revision: 28838
2007-03-21 02:15:30 +00:00
Carsten Haitzler 921304555c now limit stats per any 1 file to STAT_GAP (2 seconds).
SVN revision: 28544
2007-03-03 09:04:47 +00:00
Carsten Haitzler 63a4cbb869 chasing somethnig really bizarre... but this works right now.
SVN revision: 28533
2007-03-02 23:12:10 +00:00
Carsten Haitzler e58afbca6e i've put back timestamp checks - but evas wont stata file more frequently
than once per 2 seconds to avoid overhead.


SVN revision: 28532
2007-03-02 22:27:52 +00:00
Carsten Haitzler 635e741438 oh dear - when i added load opts - i broke speculative caching. fixed!
SVN revision: 28531
2007-03-02 22:09:18 +00:00
Carsten Haitzler 55c06e75ff rotation patches for 180 degrees - thankyoooo! :)
SVN revision: 28527
2007-03-02 14:51:17 +00:00
Carsten Haitzler 6e452edfd4 patches applied as per emails :)
SVN revision: 28302
2007-02-10 17:23:09 +00:00
Sebastian Dransfeld 7957735d5b Remove unused variables.
Add */ to comment.


SVN revision: 27589
2006-12-28 12:40:42 +00:00
Sebastian Dransfeld 4b1cf1116c Fix warning. First compute value then increment pointer.
SVN revision: 27588
2006-12-28 12:37:37 +00:00
Sebastian Dransfeld f3b4ebd01f Remove unused variables.
SVN revision: 27587
2006-12-28 12:36:41 +00:00
Sebastian Dransfeld 81b53cdaa4 Fix warning, first compute value then increment pointer.
SVN revision: 27586
2006-12-28 12:35:08 +00:00
Sebastian Dransfeld f979c8e54d Fix warnings. First compute value, then increment pointer.
SVN revision: 27585
2006-12-28 12:33:29 +00:00
Christopher Michael 90a63b2699 Be a little more paranoid about freeing image data by adding some missing
checks for valid im->cs.data and im->image->data before trying to compare
them.


SVN revision: 27526
2006-12-19 23:51:44 +00:00
Carsten Haitzler f83220c857 not complete yet - actually i need help with the fragment shader.
in evas_gl_texture.c i have a frag shader, and it tries to use a set of 3
textures that act as the yuv planes, BUT the u and v textures (Utex and Vtex)
are simply getting values from the Ytex - regardless of what i try. grrr.
what's up with that?


SVN revision: 27495
2006-12-17 15:48:52 +00:00
Carsten Haitzler 103458be65 remove thread deadlock! werd!
SVN revision: 27164
2006-11-18 03:24:40 +00:00
Carsten Haitzler f3e4e0d7ed threads back on - try this.
SVN revision: 27162
2006-11-18 02:51:27 +00:00
Carsten Haitzler f80a02f999 a few things.
1. disable viewports other than 1:1 at 0,0
2. remove output space coorsds for pointer.
3. remove geom caching
4. make threaded pipelined engine a runtime detect if u have > 1 cpu.
5. pthread build default if u have pthread.h and sched.h


SVN revision: 27131
2006-11-16 03:20:24 +00:00
Carsten Haitzler ccc60306a0 sli is possible- but not optimal.
SVN revision: 27129
2006-11-15 16:44:34 +00:00
Carsten Haitzler 9781eb9b38 1. evas gets a pipeline with deferred rendering ability (sometimes faster,
sometimes slower)
2. --enable-pthreads will enable multi-threaded rendering (current support is
for up to 4 threads so if you have a new fanled quad core or dual cpu dual
core box or whatever you will in theory be able to max moe of its cpu grunt
with the software rendering engine. this can only be done because i added the
pipelines which means almsot entirely lock-free multithreading internally in
evas. the only locks are for fonts but with a little work i might be able to
remove some/most of those too)

for now pthreaded rendering likely will be linux only (it relies on sched.h
for setting scheduler params to force the slave threads to run on separate
cpu's as linux likes to keep them on the same cpu otherwise and thus we get
no speedups at all - only slowdowns).

aso note that it is a bit of a mixed bag. complex ops (like smooth scaling
with alpha blending) get speedups, but simple ops (like blits/fills) slow down.

this all neds examination and tweaking still - but it's a start.


SVN revision: 27098
2006-11-13 23:23:44 +00:00
Carsten Haitzler 41b70e1b8a simply as PLACEHOLDER for a glitz engine. i plan on making it almost
identical to the xrender engine - but xrender and glitz do not map entirely
1:1 api-wise.


SVN revision: 27045
2006-11-11 06:03:13 +00:00
Carsten Haitzler 1c6ed968fd simon's patch is back - fixed. :) still just makes parsing of tuf8 string
more forgiving. it doesn't "fix" the real problem.


SVN revision: 26901
2006-11-01 23:00:42 +00:00
Carsten Haitzler 2742499473 evas utf8 patch broke e17's about box. revert
SVN revision: 26897
2006-11-01 12:56:12 +00:00
Carsten Haitzler b964c06760 fair enough to be more forgiving of malformed utf8 strings - but the problem
just changes from being cut off to garbage in the middle of the string.


SVN revision: 26893
2006-10-31 23:43:06 +00:00
Carsten Haitzler fd60c655b0 i was just playing with adding thread supprot to INTERNALS of evas (ie the
renderer gets threaded). if i thread at the simplest levels (low down in for
example the image scaler code - one of the most expensvie gfx routnes) on an
actual dual core system - performance drops by 40%. this just doesn't work
well at that level. thread creates and joins per render op are just a bad
thing (tm) :) so this really needs to go in much higher up and that presents
problems. :( i will need to clearly define entry and exit points to and from
threaded space (and thus all the locks) - remove all nested calls (where
internal code goes thru the same entry/exit points traditionally so it
deadlocks itself).. anyway - this here has all that code stripepd out i
played with - it is just the autofoo and build stuff so we can turn on/off
thread support at will in the build.


SVN revision: 26817
2006-10-28 03:02:23 +00:00
tilman 050db03ce7 don't rely on TT_CONFIG_OPTION_BYTECODE_INTERPRETER in freetype 2.1, because distros suck so much. oh well.
SVN revision: 26428
2006-10-08 13:58:58 +00:00
tilman 4bd6d8870a fixed evas_common_hinting_available so it works properly with both freetype 2.1 and 2.2
SVN revision: 26421
2006-10-08 13:00:26 +00:00
Carsten Haitzler 94e3e465bf remove sub-pixel cursor advance for font rendering
SVN revision: 26420
2006-10-08 12:43:31 +00:00
Carsten Haitzler 801bdf34d8 joses fixes for grads with premul
SVN revision: 26348
2006-10-05 05:28:35 +00:00
Carsten Haitzler 64ab8b381d oooh - lots of cache misses due to new load opts - if load opts have "0"
members cache was being missed. fixed. :)


SVN revision: 26339
2006-10-03 23:49:03 +00:00
Carsten Haitzler 42aa3066e9 check sparseness when doing eet loads.
SVN revision: 26300
2006-10-02 11:24:26 +00:00
Carsten Haitzler 87af70ceef fix unpremul - broken :(
SVN revision: 26288
2006-10-02 05:19:39 +00:00
Carsten Haitzler 8c93e825a8 same as previous commit.
SVN revision: 26236
2006-09-30 10:18:37 +00:00
Carsten Haitzler a65d40c050 avoid loading all loaders if file doesn't exist
SVN revision: 25962
2006-09-18 14:51:48 +00:00
Carsten Haitzler 3115a52684 and i implemented module UNLOADING. given enough cycles of non-use of a
module and no references, it will get.... UNLOADED :)


SVN revision: 25954
2006-09-18 09:40:29 +00:00
Carsten Haitzler c3fde12000 a few patches from emails. :) emails will be coming.. when i flush my mush.
SVN revision: 25533
2006-09-06 12:09:53 +00:00
sebastid e55f7b27b2 Functions used by modules must be EAPI
SVN revision: 25526
2006-09-06 07:33:40 +00:00
sebastid cabfc4a09a Remove unused variables.
SVN revision: 24991
2006-08-21 15:19:07 +00:00
Carsten Haitzler 6ca2a14020 use already loaded var :)
SVN revision: 24937
2006-08-20 14:51:10 +00:00
Carsten Haitzler d5a131c924 fix caching to account for load options
SVN revision: 24890
2006-08-19 00:22:02 +00:00
Carsten Haitzler 7899758192 guess svgz faster too
SVN revision: 24871
2006-08-18 14:54:24 +00:00
Carsten Haitzler 0889c589f2 added the ability to set load scaledown, dpi or load size - the svg loader
uses these to know what to render and how (or has defaults if these are not
set)


SVN revision: 24868
2006-08-18 14:45:26 +00:00
Carsten Haitzler 08e2c38474 jose's svg loader - in. needs the ability to set dpi etc. etc. - loader api
work and evas api work there.


SVN revision: 24830
2006-08-17 14:11:59 +00:00
Carsten Haitzler 48b81d3bfa remove printf
SVN revision: 24687
2006-08-14 13:56:18 +00:00
Carsten Haitzler 7f41aeb177 fix some warnings!
SVN revision: 24599
2006-08-12 14:46:15 +00:00
Carsten Haitzler 21896dc50d jose's xpm loader.
SVN revision: 24579
2006-08-12 09:16:30 +00:00
rephorm a9ff065c01 i assume this was meant as an optimization. however, it wasn't correct for some cases (e.g. rgb = 187, 169, 123)
SVN revision: 24465
2006-08-08 06:01:37 +00:00
sebastid e3be454d46 Can someone who knows this code fix this?
SVN revision: 24413
2006-08-06 01:27:22 +00:00
ningerso d85048c93f Did some cache miss profiling with a large number of transient text objects
and found that reordering the evas list containing the font path list was
actually hurting cache performance. Frequent cache misses occurred in
evas_mempool_free in it's main loop. So removing the list node and re adding it
actually decreased cache performance in some cases. This would also cause memory
allocation bouncing if mempools were not used.

Added evas_list_promote_list to move a list node to the beginning of a list.
Changed reordering lists to use evas_list_promote_list.


SVN revision: 24387
2006-08-04 10:00:50 +00:00
Carsten Haitzler 4cedfd95b9 way too many freetype headers are wrong - dont rely on them. :(
SVN revision: 23688
2006-07-03 09:09:06 +00:00
Carsten Haitzler d7eee7eee6 patches that i said were in - commit. (see my reply emails)
also finish off a TODO item or 2


SVN revision: 23267
2006-06-07 23:30:15 +00:00
sebastid a17c875ddc Add const.
Remove unused variables.


SVN revision: 23027
2006-05-31 18:33:46 +00:00
David Walter Seikel e54d244e28 .cvsignore++
SVN revision: 22808
2006-05-21 13:20:02 +00:00
moom f4c549c9f6 * Move the optimizations of Jose for the hsv/rgb conversion functions to Evas
SVN revision: 22790
2006-05-21 09:43:58 +00:00
moom 24b32bd7d4 * Fix hsv-->rgb conversion if h=360.0
SVN revision: 22677
2006-05-17 22:11:46 +00:00
Carsten Haitzler cbeeae7f14 fix segv's in simple line draws
SVN revision: 22642
2006-05-16 08:52:05 +00:00
Carsten Haitzler 1b3c1fb791 really simple fix for aa line draws.
SVN revision: 22639
2006-05-16 07:38:18 +00:00
Carsten Haitzler ea998ce647 gl engine fixes patch from jose, and fix non mmx/sse system build
SVN revision: 22456
2006-05-04 11:52:46 +00:00
Carsten Haitzler 77e35d60a3 jose's software rendering work - slight improvements (about 5-10%). i had to
disable destination alha mmx support for text rendering (mask + color) as it
was broken in tests.


SVN revision: 22440
2006-05-02 07:28:49 +00:00
doursse 5e8ccae68a oups
SVN revision: 22324
2006-04-23 15:40:33 +00:00
doursse fd14218f04 fix a leak in xcb eng sfw (it remains one, but I don't see where it comes from). Update the xrender one. Don't use them yet (but who uses them ??), because it relies on fix of xcb that are in my hd
SVN revision: 22323
2006-04-23 15:38:23 +00:00
Stafford Mitchell Horne 88edaa2e02 Add font charmap caching
* TODO: store cache on disc, for faster cache loading (this requires EET to support arrays)


SVN revision: 22294
2006-04-22 11:08:01 +00:00
Carsten Haitzler 3b3b836125 fix edge interpolation for images with xrender and a segv for font rendering
if multiple engines dont agree on ext data for fonts


SVN revision: 22173
2006-04-17 01:57:11 +00:00
Stafford Mitchell Horne f0b6819b6b Make sure to finish initializing sourced fonts
SVN revision: 21968
2006-04-09 02:36:03 +00:00
Stafford Mitchell Horne 8f207f622f Evas on-demand font loading
* When fonts are added from files we will only load the details
 * The first font is always loaded
 * I know there is a patch for this on the list but this way seems better to me


SVN revision: 21964
2006-04-09 00:02:47 +00:00
stffrdhrn a14f932770 Dont crash on pcf fonts
* for pcf fonts EM square is 0 and ascent and descent are 0
 * TODO: get these things to render correctly


SVN revision: 21404
2006-03-19 10:50:33 +00:00
stffrdhrn ec8cd4cc08 Add fontconfig to evas for finding fonts
* This can be disabled with --enable-fontconfig=no
 * Test in e17 with "enlightenment_remote -font-default-set title_bar Serif 12"
 * This is just the beginning: TODO: style searching, language reorder bypass


SVN revision: 21394
2006-03-19 04:29:57 +00:00
Carsten Haitzler f51753a4b8 rehinting works on the fly now
SVN revision: 20858
2006-03-01 03:48:03 +00:00
Carsten Haitzler 7ee17d1174 oops - yeah. watch the ptr.
SVN revision: 20830
2006-02-27 15:40:46 +00:00
stffrdhrn 436fcc1c36 FIXME: what do you do when fi is NULL?
* hint, don't SEGV.


SVN revision: 20824
2006-02-27 14:52:36 +00:00
Carsten Haitzler 10d6748b56 evas lets you choose font hinting - in theory. :)
SVN revision: 20823
2006-02-27 14:03:27 +00:00
Carsten Haitzler 852c800117 smaller buf for sse test (was too big anyway) and mmx2 is prettry much sse :)
SVN revision: 20130
2006-01-31 01:13:51 +00:00
Carsten Haitzler 18d01b7d4a sse detect b0rken. fix.
SVN revision: 20035
2006-01-26 04:44:58 +00:00
Carsten Haitzler 07e7927004 1. buffer test really wqasnt being very fair - time to be fair.
2. be able to skip a copy in certain cases when scaling - should improve
speed in several situations - evas is defintiely not optimal :)


SVN revision: 19983
2006-01-23 07:57:30 +00:00
Carsten Haitzler 22eee9acc5 oops - missed fixup of end ptr. :)
SVN revision: 19957
2006-01-22 10:48:51 +00:00
Carsten Haitzler 1adf40fbb5 actually use the sse routines!
SVN revision: 19955
2006-01-22 06:54:18 +00:00
Carsten Haitzler 82742c35f2 clean up new modular build to link to the right things, in the right way,
remove usleess extra linkage etc.


SVN revision: 19865
2006-01-17 03:47:40 +00:00
Carsten Haitzler 4cf493dea3 remove cvs ignores!
SVN revision: 19863
2006-01-17 03:38:25 +00:00
David Walter Seikel 35a90b012e Nothing to see here folks.
SVN revision: 19846
2006-01-16 03:43:30 +00:00
doursse 7252101aa3 remove printfs
SVN revision: 19829
2006-01-15 10:44:48 +00:00
Carsten Haitzler 3a301b885b empty buf first
SVN revision: 19827
2006-01-15 10:37:03 +00:00