Commit Graph

135 Commits

Author SHA1 Message Date
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 e99a611e98 fix --enable-ptrhead and poly render symbol - oops
SVN revision: 27121
2006-11-15 11:57:42 +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 d75744200c and fix final off-by-a-bit in the xform.
SVN revision: 26966
2006-11-05 12:53:25 +00:00
Carsten Haitzler b24c5e70da massively improve xrender scaling to be almost perfect. a few nigglies remain
though with transformed images (especailly with border scaling)


SVN revision: 26965
2006-11-05 12:51:23 +00:00
Carsten Haitzler 69e346c9a0 doing some cleanups to xr engine
SVN revision: 26958
2006-11-05 09:28:50 +00:00
Carsten Haitzler 1a2bbc3b2d fix fade of solid images in xrender engine
SVN revision: 26957
2006-11-05 06:04:51 +00:00
Carsten Haitzler c3674c8595 check dimensions for safety
SVN revision: 26954
2006-11-05 05:07:53 +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
Carsten Haitzler 5564c2a722 been doing instrumentation. i'm cuttong down on startup time - a little here
and there - noticing lots of excessive io and stat and what not junk.
trimming out.


SVN revision: 26729
2006-10-21 10:28:01 +00:00
Carsten Haitzler cfa5c0cad4 yamaguchi-san's dfb patch
SVN revision: 26672
2006-10-17 10:36:36 +00:00
Mike Frysinger 88ce3a9252 fix up some orphaned context handling in previous commit
SVN revision: 26586
2006-10-14 04:43:28 +00:00
doursse 83bb15914f automated tools can not be perfect
SVN revision: 26497
2006-10-10 19:32:36 +00:00
doursse cacc00f14a update to the new new api of XCB
SVN revision: 26496
2006-10-10 19:16:16 +00:00
doursse 70a562b239 update to the new new api of XCB. The xrender engine needs review
SVN revision: 26495
2006-10-10 19:15:48 +00:00
Carsten Haitzler 801bdf34d8 joses fixes for grads with premul
SVN revision: 26348
2006-10-05 05:28:35 +00:00
Carsten Haitzler 42aa3066e9 check sparseness when doing eet loads.
SVN revision: 26300
2006-10-02 11:24:26 +00:00
Carsten Haitzler 3df80d676c add sparseness checker :)
SVN revision: 26299
2006-10-02 11:12:39 +00:00
Carsten Haitzler b8606a2712 dont unpremul
SVN revision: 26293
2006-10-02 07:05:35 +00:00
Carsten Haitzler 7794ad5de9 fix eet load of premul images - need to check they are not "bad" :)
SVN revision: 26291
2006-10-02 05:28:39 +00:00
Carsten Haitzler 87af70ceef fix unpremul - broken :(
SVN revision: 26288
2006-10-02 05:19:39 +00:00
doursse 5eda84b66b update to the new api of xcb 1.0. et rid of xcb_aux dependancy
SVN revision: 26279
2006-10-01 18:27:31 +00:00
Carsten Haitzler 2190ed562a more commit....
SVN revision: 26237
2006-09-30 10:21:23 +00:00
Carsten Haitzler 8c93e825a8 same as previous commit.
SVN revision: 26236
2006-09-30 10:18:37 +00:00
Carsten Haitzler 9865a4fadb add asm/page.h back in. doesn't hurt on x86
SVN revision: 26138
2006-09-25 11:49:03 +00:00
Carsten Haitzler 9fb59104ab and the xpm loader also leaked!
SVN revision: 26126
2006-09-24 23:31:21 +00:00
sebastid 0780d4cd45 Remove unused variables.
SVN revision: 26101
2006-09-24 13:32:25 +00:00
sebastid b7029d1b60 Fix more typo.
SVN revision: 26100
2006-09-24 13:31:19 +00:00
Carsten Haitzler fc717d365f fix pixel buffer overflow on loading corrupt/malformed/bad xpm's
SVN revision: 26098
2006-09-24 13:28:01 +00:00
sebastid 7b9f59d959 Fix typo.
SVN revision: 26097
2006-09-24 13:24:28 +00:00
Carsten Haitzler 8b641a9035 cleanups of xpm loader - possibly mem overruns fixed.
SVN revision: 26096
2006-09-24 13:03:39 +00:00
David Walter Seikel 3fb0627858 printf no longer needed.
SVN revision: 25992
2006-09-21 00:22:43 +00:00
David Walter Seikel 73c3668895 printf added so that we can sort out why it's crashing for Hawkwind.
SVN revision: 25991
2006-09-21 00:00:01 +00:00
tilman 2a77e9a6a7 ported filter fixes from the xrender_x11 engine to the xrender_xcb engine
SVN revision: 25891
2006-09-16 16:43:32 +00:00
tilman 98ac1e9af0 ported the transformation matrix fixes from the xrender_x11 engine to the xrender_xcb engine
SVN revision: 25890
2006-09-16 16:32:22 +00:00
tilman 5e59f3af40 xrender's filters also kick in if we don't specify a transformation matrix (that's _not_ a bug), so only specify a filter if we're scaling the image
SVN revision: 25887
2006-09-16 14:59:28 +00:00
tilman 360ceff261 move the filter lookup to its own function - should make the code more readable and makes it easier to play with the filter settings
SVN revision: 25813
2006-09-13 10:28:22 +00:00
tilman 60c2e94a4c use double precision for the greater good of humanity
SVN revision: 25766
2006-09-12 10:33:28 +00:00
tilman ce599dcde7 avoid rounding errors when setting up the transformation matrix
SVN revision: 25765
2006-09-12 10:30:12 +00:00
tilman 912834c325 use the proper macros for the picture filter names
SVN revision: 25764
2006-09-12 10:06:45 +00:00
Carsten Haitzler bce5edacbd #ifdef the 1 bit transform stuff.
SVN revision: 25756
2006-09-12 00:03:53 +00:00
tilman 19ea4966bb missed another case of identiy-transform setting
SVN revision: 25734
2006-09-11 15:24:54 +00:00
tilman 84baf60045 don't set the picture transform to the identity - that's a no-op
SVN revision: 25731
2006-09-11 15:19:02 +00:00
tilman 1cb97ea4b8 um, raster, you cannot chain == like that. gcc even told you ;)
SVN revision: 25728
2006-09-11 14:53:19 +00:00
tilman 89ce1b8367 cleaned up the transformation matrix code. use the proper x macro to convert a double into a matrix component instead of hardcoding the bitshift. added init_transform() which will initialize a matrix to the identity transform.
SVN revision: 25726
2006-09-11 14:42:39 +00:00
Carsten Haitzler d87d871417 add system icons dir for e, patches for evas.
SVN revision: 25715
2006-09-11 09:36:32 +00:00
doursse a5c5e9699a do not free buf if no available buf
SVN revision: 25694
2006-09-10 16:06:51 +00:00
doursse 1f19215c72 missing reply frees
SVN revision: 25685
2006-09-10 09:35:24 +00:00
doursse e96c6828d0 fix xrender xcb engine, add old stuff committed to the Xlib engines and not to the XCB ones, replace deprecated XCBSync call by a call of GetInputFocus, fix some round trips but a complete review of the engines must be done to fix them all, first part of a cleanup, first part of XCB error management
SVN revision: 25657
2006-09-09 08:10:24 +00:00