summaryrefslogtreecommitdiff
path: root/legacy/evas/README.in
diff options
context:
space:
mode:
authorGustavo Sverzut Barbieri <barbieri@gmail.com>2010-09-19 21:12:04 +0000
committerGustavo Sverzut Barbieri <barbieri@gmail.com>2010-09-19 21:12:04 +0000
commit9f5dd747efa5f6c044e8c94ff90a372440b90028 (patch)
tree2ca7c2442a567d164f43cc62f8d53214e1bbb14a /legacy/evas/README.in
parent200fd80f4e301dfce25a1a2862787727ac9d88a6 (diff)
update README.in with relevant information, fix typos and improve formatting.
* add information about modules "=static" suffix. * fix lots of typos spotted by emacs "flyspell-mode". * add more spacing and separator lines around sections. SVN revision: 52477
Diffstat (limited to 'legacy/evas/README.in')
-rw-r--r--legacy/evas/README.in217
1 files changed, 167 insertions, 50 deletions
diff --git a/legacy/evas/README.in b/legacy/evas/README.in
index e619697..16b9cb8 100644
--- a/legacy/evas/README.in
+++ b/legacy/evas/README.in
@@ -4,9 +4,9 @@ Evas @VERSION@ ALPHA
4 4
5 FOR ANY ISSUES PLEASE EMAIL: 5 FOR ANY ISSUES PLEASE EMAIL:
6 enlightenment-devel@lists.sourceforge.net 6 enlightenment-devel@lists.sourceforge.net
7 7
8****************************************************************************** 8******************************************************************************
9 9
10Requirements: 10Requirements:
11------------- 11-------------
12 12
@@ -34,12 +34,12 @@ that can draw anti-aliased text, smooth super and sub-sampled scaled
34images, alpha-blend objects much and more. 34images, alpha-blend objects much and more.
35 35
36Evas is designed to be portable to different display systems. Evas uses very 36Evas is designed to be portable to different display systems. Evas uses very
37little RAM too (try profiling it in memprof if you want to 37little RAM too (try profiling it in memprof if you want to
38know) most of the ram allocated, if you look, is for freetype itself, 38know) most of the ram allocated, if you look, is for freetype itself,
39image pixel data, and font glyph data. You can't really avoid this, though 39image pixel data, and font glyph data. You can't really avoid this, though
40evas tries to share this data as much as possible and not duplicate where it 40evas tries to share this data as much as possible and not duplicate where it
41can. Feel free to point me at sensible memory optimizations etc. though :) I 41can. Feel free to point me at sensible memory optimizations etc. though :) I
42want this baby to be lean, mean tiny, fast and do everything from your 42want this baby to be lean, mean tiny, fast and do everything from your
43massive multi-cpu desktop with gobs of ram and disk to a tiny watch. 43massive multi-cpu desktop with gobs of ram and disk to a tiny watch.
44 44
45Evas also supports full UTF-8 for text object strings, thus allowing for 45Evas also supports full UTF-8 for text object strings, thus allowing for
@@ -63,7 +63,7 @@ if you want to know what options to enable
63 63
64Evas's rendering code assumes a decently optimizing compiler. For 64Evas's rendering code assumes a decently optimizing compiler. For
65example gcc with -O2 -march=nocona for example (compile for core2 duo 65example gcc with -O2 -march=nocona for example (compile for core2 duo
66x86 or better). Yoiu may choose not to compile for a very modern 66x86 or better). You may choose not to compile for a very modern
67architecture, and Evas still has MMX/SSE, NEON and other hand-crafted 67architecture, and Evas still has MMX/SSE, NEON and other hand-crafted
68assembly, but not for everything, so make use of your compiler 68assembly, but not for everything, so make use of your compiler
69optimizing as much as possible. At least use -O2 or equivalents. 69optimizing as much as possible. At least use -O2 or equivalents.
@@ -80,6 +80,8 @@ notes on features (--enable-FEATURE enables it and --disable-FEATURE
80disables it, some being enabled or disabled by default or if 80disables it, some being enabled or disabled by default or if
81dependencies are found): 81dependencies are found):
82 82
83
84------------------------------------------------------------------------------
83SCALING: 85SCALING:
84--enable-scale-sample 86--enable-scale-sample
85 87
@@ -88,11 +90,14 @@ code, but also the lowest quality. when scaling up pixels will become blocky
88and when scaling down you will see shimmering/aliasing artifacts. this is a 90and when scaling down you will see shimmering/aliasing artifacts. this is a
89speed vs. quality tradeoff 91speed vs. quality tradeoff
90 92
93
91--enable-scale-smooth 94--enable-scale-smooth
92 95
93this is the nicest looking scaler that is not that much slower than 96this is the nicest looking scaler that is not that much slower than
94tri-linear, but it looks really good. 97tri-linear, but it looks really good.
95 98
99
100------------------------------------------------------------------------------
96DITHERING: 101DITHERING:
97--enable-small-dither-mask 102--enable-small-dither-mask
98 103
@@ -104,6 +109,7 @@ this unless you are struggling for speed. the compaq ipaq for example shows
104a slowdown with this large a dither mask so enabling a small dither mask is 109a slowdown with this large a dither mask so enabling a small dither mask is
105recommended unless you really want to forgo the speed. 110recommended unless you really want to forgo the speed.
106 111
112
107--enable-line-dither-mask 113--enable-line-dither-mask
108 114
109this is a faster alternative to the small or large dither masks above. 115this is a faster alternative to the small or large dither masks above.
@@ -113,6 +119,7 @@ between the 2 closest colors available, but it is very fast. almost as
113fast as no dithering. quality though will not be as good as small or 119fast as no dithering. quality though will not be as good as small or
114default "large" dither masks. 120default "large" dither masks.
115 121
122
116--enable-no-dither-mask 123--enable-no-dither-mask
117 124
118this disables dithering entirely. this is the fastest option, but the 125this disables dithering entirely. this is the fastest option, but the
@@ -124,22 +131,35 @@ not anything unusual. just in the evas world the quality is considered
124poor enough to be discouraged as evas's internal rendering is so much 131poor enough to be discouraged as evas's internal rendering is so much
125higher quality. 132higher quality.
126 133
134
135------------------------------------------------------------------------------
127ENGINES: 136ENGINES:
128--enable-software-xlib 137
138All engines can be compiled statically inside libevas.so in order to
139reduce runtime time at dynamically loaded modules. All you have to do
140is to enable your chosen modules with "=static" suffix. If they depend
141on software_generic (most do), you need that as well. Examples:
142
143 ./configure --enable-static-software-generic --enable-software-xlib=static
144
145
146--enable-software-xlib[=static]
129 147
130this enables the software x11 rendering engine that renders to X drawable 148this enables the software x11 rendering engine that renders to X drawable
131targets using highly optimised software routines. there is no hardware 149targets using highly optimized software routines. there is no hardware
132assist here. this engine requires X11 to be installed to build (and run). 150assist here. this engine requires X11 to be installed to build (and run).
133This is a godo generic engine that is fast and can run in X for good 151This is a good generic engine that is fast and can run in X for good
134development and debugging purposes. 152development and debugging purposes.
135 153
136--enable-software-xcb 154
155--enable-software-xcb[=static]
137 156
138this enable the software xcb rendering engine. It allows the same 157this enable the software xcb rendering engine. It allows the same
139features than the software xlib engine. It require the XCB and XCBImage 158features than the software xlib engine. It require the XCB and XCBImage
140libraries. For the test programs, XCBICCCM is also needed. 159libraries. For the test programs, XCBICCCM is also needed.
141 160
142--enable-fb 161
162--enable-fb[=static]
143 163
144this is the software framebuffer driving engine. this uses the linux 164this is the software framebuffer driving engine. this uses the linux
145framebuffer device (/dev/fb{X}) and will currently just inherit the current 165framebuffer device (/dev/fb{X}) and will currently just inherit the current
@@ -150,7 +170,8 @@ embedded devices such as the ipaq, zaurus, etc. it also scales up to high-res
150desktop systems as 170desktop systems as
151well. 171well.
152 172
153--enable-direcfb 173
174--enable-directfb[=static]
154 175
155this is the direct fb engine that uses direcftb (http://www.directfb.org) on 176this is the direct fb engine that uses direcftb (http://www.directfb.org) on
156linux to access the framebuffer with (or maybe without) acceleration. for 177linux to access the framebuffer with (or maybe without) acceleration. for
@@ -160,14 +181,16 @@ directfb that offer acceleration (otherwise the fb driver will likely be
160faster). as such this engine is in relative disrepair and is not 181faster). as such this engine is in relative disrepair and is not
161maintained. use with great care. 182maintained. use with great care.
162 183
163--enable-buffer 184
185--enable-buffer[=static]
164 186
165this enables the memory buffer rendering engine. this engine renders 187this enables the memory buffer rendering engine. this engine renders
166to a region of memory that is considered to be a 32bit ARGB buffer of 188to a region of memory that is considered to be a 32bit ARGB buffer of
167pixels, allowing the results of rendering to be directly read out or 189pixels, allowing the results of rendering to be directly read out or
168used again for other purposes. 190used again for other purposes.
169 191
170--enable-xrender-x11 192
193--enable-xrender-x11[=static]
171 194
172this engine uses the xrender api to do drawing via (possibly) 195this engine uses the xrender api to do drawing via (possibly)
173accelerated 2d or 3d hardware means. as such xrender has never lived 196accelerated 2d or 3d hardware means. as such xrender has never lived
@@ -175,11 +198,13 @@ up to its possible performance levels and has fallen into disrepair.
175use this engine at your own risk. it is considered to be "bitrotting" 198use this engine at your own risk. it is considered to be "bitrotting"
176and be unmaintained. 199and be unmaintained.
177 200
178--enable-xrender-xcb 201
202--enable-xrender-xcb[=static]
179 203
180this is the same as xrender-x11 but uses/exposes an xcb api. 204this is the same as xrender-x11 but uses/exposes an xcb api.
181 205
182--enable-gl-x11 206
207--enable-gl-x11[=static]
183 208
184this is the opengl engine. it is intended for an x11 target (via xlib) 209this is the opengl engine. it is intended for an x11 target (via xlib)
185rather than framebuffer (even if you use EGL, the EGL flavor is 210rather than framebuffer (even if you use EGL, the EGL flavor is
@@ -259,11 +284,11 @@ minimize fragmentation). the default value for this is 512. if you set
259this environment variable it will be overridden by the value it is set 284this environment variable it will be overridden by the value it is set
260to. the maximum value possible here is 512. you may set it to a 285to. the maximum value possible here is 512. you may set it to a
261smaller value. 286smaller value.
262 287
263export EVAS_GL_ATLAS_MAX_H=N 288export EVAS_GL_ATLAS_MAX_H=N
264 this is the same as EVAS_GL_ATLAS_MAX_W, but sets the maximum height 289 this is the same as EVAS_GL_ATLAS_MAX_W, but sets the maximum height
265of an image that is allowed into an atlas texture. 290of an image that is allowed into an atlas texture.
266 291
267export EVAS_GL_ATLAS_SLOT_SIZE=N 292export EVAS_GL_ATLAS_SLOT_SIZE=N
268 this sets the height granularity for atlas strips. the default (and 293 this sets the height granularity for atlas strips. the default (and
269minimum) value is 16. this means texture atlas strips are always a 294minimum) value is 16. this means texture atlas strips are always a
@@ -271,7 +296,7 @@ multiple of 16 pixels high (16, 32, 48, 64, etc...). this allows you
271to change the granularity to another value to avoid having more 296to change the granularity to another value to avoid having more
272textures allocated or try and consolidate allocations into fewer atlas 297textures allocated or try and consolidate allocations into fewer atlas
273strips etc. 298strips etc.
274 299
275export EVAS_GL_NO_MAP_IMAGE_SEC=1 300export EVAS_GL_NO_MAP_IMAGE_SEC=1
276 if this environment variable is set, it disabled support for the SEC 301 if this environment variable is set, it disabled support for the SEC
277map image extension (a zero copy direct-texture access extension that 302map image extension (a zero copy direct-texture access extension that
@@ -280,6 +305,7 @@ evas images, and this is detected by evas (see EVAS_GL_INFO above to
280find out if its detected), then setting this will allow it to be 305find out if its detected), then setting this will allow it to be
281forcibly disabled. unset it to allow auto-detection to keep working. 306forcibly disabled. unset it to allow auto-detection to keep working.
282 307
308
283--enable-gl-flavor-gles 309--enable-gl-flavor-gles
284 310
285this enables the opengl-es 2.0 flavor of opengl (as opposed to desktop 311this enables the opengl-es 2.0 flavor of opengl (as opposed to desktop
@@ -289,6 +315,7 @@ evas works on several opengl-es 2.0 compliant gpu's and gains more
289testing and optimization regularly. it is also capable of 315testing and optimization regularly. it is also capable of
290texture-from-pixmap support in opengl-es like it is in desktop opengl. 316texture-from-pixmap support in opengl-es like it is in desktop opengl.
291 317
318
292--enable-gles-variety-sgx 319--enable-gles-variety-sgx
293 320
294this tells evas that you are building the gl-es engine for a 321this tells evas that you are building the gl-es engine for a
@@ -296,6 +323,7 @@ shader-compiler "sgx style" opengl-es 2.0 implementation. this is
296where the shader compiler is provided at runtime and can accept the 323where the shader compiler is provided at runtime and can accept the
297shader glsl source and work 324shader glsl source and work
298 325
326
299--enable-gles-variety-s3c6410 327--enable-gles-variety-s3c6410
300 328
301this tells evas that you have an s3c6410 style opengl-es 329this tells evas that you have an s3c6410 style opengl-es
@@ -304,56 +332,84 @@ pre-compiled shader binaries (provided with evas). this has not been
304tested in quite a while as the drivers and environment for this system 332tested in quite a while as the drivers and environment for this system
305have gone missing 333have gone missing
306 334
307--enable-software-gdi 335
336--enable-software-gdi[=static]
308 337
309windows gdi based engine for evas 338windows gdi based engine for evas
310 339
311--enable-software-ddraw 340
341--enable-software-ddraw[=static]
312 342
313windows direct-draw engine for evas 343windows direct-draw engine for evas
314 344
315--enable-direct3d 345
346--enable-direct3d[=static]
316 347
317evas direct3d engine (experimental) 348evas direct3d engine (experimental)
318 349
319--enable-quartz 350
351--enable-quartz[=static]
320 352
321macos-x quartz engine (experimental) 353macos-x quartz engine (experimental)
322 354
323--enable-gl-glew 355
356--enable-gl-glew[=static]
324 357
325opengl glew based gl engine for evas (experimental) 358opengl glew based gl engine for evas (experimental)
326 359
327--enable-software-sdl 360
361--enable-software-sdl[=static]
328 362
329this is the sdl engine that uses sdl library (http://www.libsdl.org). This 363this is the sdl engine that uses sdl library (http://www.libsdl.org). This
330library should work on many operating system. the buffer is 364library should work on many operating system. the buffer is
331software-rendered with evas's default software rendering core. 365software-rendered with evas's default software rendering core.
332 366
333--enable-gl-sdl 367
368--enable-gl-sdl[=static]
334 369
335opengl (and opengl-es2.0) rendering engine that uses sdl as the front 370opengl (and opengl-es2.0) rendering engine that uses sdl as the front
336end interface. see --enable-gl-x11 etc. for information. 371end interface. see --enable-gl-x11 etc. for information.
337 372
338--enable-software-8-x11 373
374--enable-software-8-x11[=static]
339 375
3408bit only rendering core. intended for greyscale output on things like 3768bit only rendering core. intended for greyscale output on things like
341e-paper or simplistic greyscale LCD devices which have no color. 377e-paper or simplistic greyscale LCD devices which have no color, such
378as ebook readers.
379
380if compiling with =static suffix, then must
381"./configure --enable-static-software-8" as well.
382
342 383
343--enable-software-16-x11 384--enable-software-16-x11[=static]
344 385
34516bit specific renderer. lower quality than the default. also limited 38616bit specific renderer. lower quality than the default. also limited
346in abilities. in a state of disrepair. do not use. 387in abilities (no support for smooth scale or transformations/map). in
388a state of disrepair. do not use unless your hardware is just 16bpp
389and very limited in CPU and memory.
347 390
348--enable-software-16-ddraw 391if compiling with =static suffix, then must
392"./configure --enable-static-software-16" as well.
393
394
395--enable-software-16-ddraw[=static]
349 396
35016bit renderer for direct-draw. same as software-16-x11 - don't use. 39716bit renderer for direct-draw. same as software-16-x11 - don't use.
351in disrepair. 398in disrepair.
352 399
353--enable-software-16-wince 400if compiling with =static suffix, then must
401"./configure --enable-static-software-16" as well.
402
403
404--enable-software-16-wince[=static]
354 405
355same as software-16-ddraw but for windows-ce. in disrepair. don't use. 406same as software-16-ddraw but for windows-ce. in disrepair. don't use.
356 407
408if compiling with =static suffix, then must
409"./configure --enable-static-software-16" as well.
410
411
412------------------------------------------------------------------------------
357CPU: 413CPU:
358--enable-cpu-c 414--enable-cpu-c
359 415
@@ -362,6 +418,7 @@ fallback code and only have the mmx routines for example. it is suggested to
362always use this regardless unless you have some definite size issues with the 418always use this regardless unless you have some definite size issues with the
363code. 419code.
364 420
421
365--enable-cpu-mmx 422--enable-cpu-mmx
366 423
367this enables the mmx optimized routines. this works for pentium, pentium2, 424this enables the mmx optimized routines. this works for pentium, pentium2,
@@ -372,6 +429,7 @@ routines yet. :) arm owners will also have to rely on the c fallback
372routines as i haven't managed to come up with any arm assembly that actually 429routines as i haven't managed to come up with any arm assembly that actually
373can beat the c code (when compiled with all optimizations) in speed. 430can beat the c code (when compiled with all optimizations) in speed.
374 431
432
375--enable-cpu-sse 433--enable-cpu-sse
376 434
377this enables sse optimizations available in he pentium3 and 4 cpus (not 435this enables sse optimizations available in he pentium3 and 4 cpus (not
@@ -381,6 +439,7 @@ ALTIVEC asm routines yet. :) arm owners will also have to rely on the c
381fallback routines as i haven't managed to come up with any arm assembly that 439fallback routines as i haven't managed to come up with any arm assembly that
382actually can beat the c code (when compiled with all optimizations) in speed. 440actually can beat the c code (when compiled with all optimizations) in speed.
383 441
442
384--enable-cpu-neon 443--enable-cpu-neon
385 444
386This enables support for the Arm Cortex-A8 and later Neon register 445This enables support for the Arm Cortex-A8 and later Neon register
@@ -395,22 +454,25 @@ the gains in drawing are more then worth it overall.
395 454
396This is enabled by default, and turns off if a small test program is 455This is enabled by default, and turns off if a small test program is
397unable to compile. 456unable to compile.
398 457
399Performance is at least 50%, and in some real world tests approaches 458Performance is at least 50%, and in some real world tests approaches
400100%. 459100%.
401 460
402If you have any issues with neon, please report them to either the 461If you have any issues with neon, please report them to either the
403edevel mailing list or Brett Nash <nash@nash.id.uau> 462edevel mailing list or Brett Nash <nash@nash.id.au>
463
404 464
465------------------------------------------------------------------------------
405IMAGE LOADERS: 466IMAGE LOADERS:
406--enable-image-loader-png 467--enable-image-loader-png[=static]
407 468
408this enables the loader code that loads png files using libpng. there may be 469this enables the loader code that loads png files using libpng. there may be
409call for embedded devices later that have custom written small image 470call for embedded devices later that have custom written small image
410loaders that uses less disk space than libpng to load custom format images. 471loaders that uses less disk space than libpng to load custom format images.
411for now this is the only loader so you may as well include it. 472for now this is the only loader so you may as well include it.
412 473
413--enable-image-loader-jpeg 474
475--enable-image-loader-jpeg[=static]
414 476
415this enables the loader code that loads jpeg files using libjpeg. this 477this enables the loader code that loads jpeg files using libjpeg. this
416loader also supports load options to pre-scale jpeg images down to 478loader also supports load options to pre-scale jpeg images down to
@@ -419,14 +481,16 @@ provide much faster load times while also getting downscaling by 1/2,
419patch to libjpeg7, it can also fast-decode a specific region of a jpeg 481patch to libjpeg7, it can also fast-decode a specific region of a jpeg
420file (without the patch it take a slow-path to do this). 482file (without the patch it take a slow-path to do this).
421 483
422--enable-image-loader-edb 484
485--enable-image-loader-edb[=static]
423 486
424edb image loader- can load images inside edb database files. not very 487edb image loader- can load images inside edb database files. not very
425useful as edb itself is no longer used by enlightenment. may be 488useful as edb itself is no longer used by enlightenment. may be
426removed at some point, so unless you have a burning need for this, 489removed at some point, so unless you have a burning need for this,
427don't use edb files to store image data and rely on this loader 490don't use edb files to store image data and rely on this loader
428 491
429--enable-image-loader-eet 492
493--enable-image-loader-eet[=static]
430 494
431loads image data from eet files. eet files are the backing for edje 495loads image data from eet files. eet files are the backing for edje
432storage, so this is needed for edje to work. it is very useful as it 496storage, so this is needed for edje to work. it is very useful as it
@@ -435,18 +499,24 @@ files are like "zip" files where you can pack a whole lot of image and
435other data together and just pick out the pieces you need at runtime. 499other data together and just pick out the pieces you need at runtime.
436requires the eet library. 500requires the eet library.
437 501
438--enable-image-loader-gif 502
503--enable-image-loader-gif[=static]
439 504
440gif image loader. gif is an obsolete format, but due to its longevity, 505gif image loader. gif is an obsolete format, but due to its longevity,
441sitll has lots of existing data around. 506sitll has lots of existing data around.
442 507
443--enable-image-loader-pmaps 508NOTE: evas has no notion of time, thus animated gif file are not
509supported!
510
511
512--enable-image-loader-pmaps[=static]
444 513
445ppm/pnm/pgm image loader that can load the "pnm" style image format. 514ppm/pnm/pgm image loader that can load the "pnm" style image format.
446not very common, but the files are simple raw RGB, greyscale image or 515not very common, but the files are simple raw RGB, greyscale image or
447bitmap data in binary or ascii format 516bitmap data in binary or ascii format
448 517
449--enable-image-loader-svg 518
519--enable-image-loader-svg[=static]
450 520
451this loader can load svg files via librsvg (thus it is a dependency). 521this loader can load svg files via librsvg (thus it is a dependency).
452this loader supports load options to set the dpi to decode the svg at 522this loader supports load options to set the dpi to decode the svg at
@@ -454,11 +524,13 @@ etc. which can then be used to create scalable images that scale to
454any size without becoming blocky or blurry, if the source is an svg 524any size without becoming blocky or blurry, if the source is an svg
455file. 525file.
456 526
457--enable-image-loader-tiff 527
528--enable-image-loader-tiff[=static]
458 529
459this loader uses libtiff to load tiff image files 530this loader uses libtiff to load tiff image files
460 531
461--enable-image-loader-xpm 532
533--enable-image-loader-xpm[=static]
462 534
463this is an xpm format image loader. xpm format images are ascii files 535this is an xpm format image loader. xpm format images are ascii files
464that look like c/c++ source code that contain images. these files are 536that look like c/c++ source code that contain images. these files are
@@ -466,7 +538,8 @@ old-fashioned unix+x11 images you may encounter, but are inefficient
466for storage and decoding and have been superseded by png files in 538for storage and decoding and have been superseded by png files in
467almost every way 539almost every way
468 540
469--enable-image-loader-bmp 541
542--enable-image-loader-bmp[=static]
470 543
471this enables the bmp image format loader. note that there seems to be 544this enables the bmp image format loader. note that there seems to be
472a disagreement on 32bit bmp format images where alpha channels are 545a disagreement on 32bit bmp format images where alpha channels are
@@ -474,38 +547,47 @@ concerned and you may run into issues with bmps generated by the gimp
474that have alpha channels. there is a problem where they don't seem to 547that have alpha channels. there is a problem where they don't seem to
475be spec-conformant. 548be spec-conformant.
476 549
477--enable-image-loader-tga 550
551--enable-image-loader-tga[=static]
478 552
479this loader load tga format files. these files are very old-fashioned 553this loader load tga format files. these files are very old-fashioned
480but found often in the 3d graphics world. 554but found often in the 3d graphics world.
481 555
556
557------------------------------------------------------------------------------
482FONT LOADERS: 558FONT LOADERS:
483--enable-font-loader-eet 559--enable-font-loader-eet[=static]
484 560
485this loader can load font (ttf) files directly from eet archives like 561this loader can load font (ttf) files directly from eet archives like
486the eet image loader. requires the eet library 562the eet image loader. requires the eet library
487 563
564
565------------------------------------------------------------------------------
488CONVERTERS: 566CONVERTERS:
489--enable-convert-yuv 567--enable-convert-yuv
490 568
491this enables an optimized yuv (yv12 601 colorspace) to ARGB32 569this enables an optimized yuv (yv12 601 colorspace) to ARGB32
492converter in evas 570converter in evas
493 571
572
494--enable-convert-16-rgb-565 573--enable-convert-16-rgb-565
495 574
496the most common converter you'll want for 16bpp. this means 5 bits for red, 575the most common converter you'll want for 16bpp. this means 5 bits for red,
4976 bits for green and 5 bits for blue are used. 5766 bits for green and 5 bits for blue are used.
498 577
578
499--enable-convert-16-rgb-555 579--enable-convert-16-rgb-555
500 580
501this is a converter for what many people know as "15 bit" color. you might 581this is a converter for what many people know as "15 bit" color. you might
502want to enable this for X output as it used to be common to find many cards 582want to enable this for X output as it used to be common to find many cards
503that do this. 583that do this.
504 584
585
505--enable-convert-16-rgb-444 586--enable-convert-16-rgb-444
506 587
507this converter outputs to 12bit packed (int 16 bit WORDS). 588this converter outputs to 12bit packed (int 16 bit WORDS).
508 589
590
509--enable-convert-16-rgb-ipq 591--enable-convert-16-rgb-ipq
510 592
511this converter was written specifically for the ipaq (and may apply to 593this converter was written specifically for the ipaq (and may apply to
@@ -524,12 +606,14 @@ the ipaq and even still works in 16bpp 565 on your pc. it is highly
524recommended to use this renderer if your target is an ipaq or your device 606recommended to use this renderer if your target is an ipaq or your device
525displays similar qualities of the ipaq for display purposes. 607displays similar qualities of the ipaq for display purposes.
526 608
609
527--enable-convert-16-rgb-rot-0 610--enable-convert-16-rgb-rot-0
528 611
529this enables the 16bpp converters to run with 0 degrees rotation - this is 612this enables the 16bpp converters to run with 0 degrees rotation - this is
530normal display and you should really include this (though it is optional if you 613normal display and you should really include this (though it is optional if you
531only ever want to do portrait mode - perhaps like on an ipaq embedded device) 614only ever want to do portrait mode - perhaps like on an ipaq embedded device)
532 615
616
533--enable-convert-16-rgb-rot-270 617--enable-convert-16-rgb-rot-270
534 618
535this enables the portrait mode (270 degree rotation) converters for 16bpp. 619this enables the portrait mode (270 degree rotation) converters for 16bpp.
@@ -537,50 +621,61 @@ this is the standard display mode for things like pocketpc on the ipaq and
537the zaurus etc. this is an optimized part of the rendering pipeline to allow 621the zaurus etc. this is an optimized part of the rendering pipeline to allow
538portrait display with a much lower overhead than doing it through X. 622portrait display with a much lower overhead than doing it through X.
539 623
624
540--enable-convert-16-rgb-rot-180 625--enable-convert-16-rgb-rot-180
541 626
542same as --enable-convert-16-rgb-rot-270 but for 180 degrees 627same as --enable-convert-16-rgb-rot-270 but for 180 degrees
543 628
629
544--enable-convert-16-rgb-rot-90 630--enable-convert-16-rgb-rot-90
545 631
546same as --enable-convert-16-rgb-rot-270 but for 90 degrees 632same as --enable-convert-16-rgb-rot-270 but for 90 degrees
547 633
634
548--enable-convert-24-rgb-888 635--enable-convert-24-rgb-888
549 636
550this converts evas's 32bit ARGB to 24bit RGB packed format for output 637this converts evas's 32bit ARGB to 24bit RGB packed format for output
551if needed 638if needed
552 639
640
553--enable-convert-24-bgr-888 641--enable-convert-24-bgr-888
554 642
555this converts evas's 32bit ARGB to 24bit packed BGR format for output 643this converts evas's 32bit ARGB to 24bit packed BGR format for output
556if needed 644if needed
557 645
646
558--enable-convert-32-rgb-8888 647--enable-convert-32-rgb-8888
559 648
56032bit RGB output conversion support. byteswapping compared to evas's 64932bit RGB output conversion support. byteswapping compared to evas's
561native colorspace 650native colorspace
562 651
652
563--enable-convert-32-bgr-8888 653--enable-convert-32-bgr-8888
564 654
565conversion (reduces toa memory copy) from evas's native colorspace to 655conversion (reduces toa memory copy) from evas's native colorspace to
566the same color format. 656the same color format.
567 657
658
568--enable-convert-32-rgb-rot-0 659--enable-convert-32-rgb-rot-0
569 660
570copies without rotation evas's native image format 661copies without rotation evas's native image format
571 662
663
572--enable-convert-32-rgb-rot-270 664--enable-convert-32-rgb-rot-270
573 665
574copies evas's native ARGB32 pixels but at a rotation of 270 degrees. 666copies evas's native ARGB32 pixels but at a rotation of 270 degrees.
575 667
668
576--enable-convert-32-rgb-rot-180 669--enable-convert-32-rgb-rot-180
577 670
578same as --enable-convert-32-rgb-rot-270 but for 180 degrees 671same as --enable-convert-32-rgb-rot-270 but for 180 degrees
579 672
673
580--enable-convert-32-rgb-rot-90 674--enable-convert-32-rgb-rot-90
581 675
582same as --enable-convert-32-rgb-rot-270 but for 90 degrees 676same as --enable-convert-32-rgb-rot-270 but for 90 degrees
583 677
678
584--enable-convert-24-rgb-ezx 679--enable-convert-24-rgb-ezx
585 680
586a special colorspace handler for 18bit color packed into 24bit output 681a special colorspace handler for 18bit color packed into 24bit output
@@ -588,62 +683,76 @@ a special colorspace handler for 18bit color packed into 24bit output
588platform that did this was the motorola esx based phones that used 683platform that did this was the motorola esx based phones that used
589qtopia originally and have open ezx ports for them. 684qtopia originally and have open ezx ports for them.
590 685
686
591--enable-convert-8-gry-1 687--enable-convert-8-gry-1
592 688
593enable 8bit gray to 1 bit black & white converter 689enable 8bit gray to 1 bit black & white converter
594 690
691
595--enable-convert-8-gry-16 692--enable-convert-8-gry-16
596 693
5978bit grey to 16 level grayscale converter 6948bit grey to 16 level grayscale converter
598 695
696
599--enable-convert-8-grayscale-64 697--enable-convert-8-grayscale-64
600 698
6018bit grey to 64 level grayscale converter 6998bit grey to 64 level grayscale converter
602 700
701
603--enable-convert-8-rgb-332 702--enable-convert-8-rgb-332
604 703
605enable converter from 32bit ARGB to 8bit color "332" colorspace (3bits 704enable converter from 32bit ARGB to 8bit color "332" colorspace (3bits
606red, 3 bits green, 2 bits blue) 705red, 3 bits green, 2 bits blue)
607 706
707
608--enable-convert-8-rgb-666 708--enable-convert-8-rgb-666
609 709
610enable converter from 32bit ARGB to 8bit color "216" "websafe" 710enable converter from 32bit ARGB to 8bit color "216" "websafe"
611colorspace (6 values for red, 6 for green and 6 for blue - 6x6x6 being 711colorspace (6 values for red, 6 for green and 6 for blue - 6x6x6 being
612216 colors). 712216 colors).
613 713
714
614--enable-convert-8-rgb-232 715--enable-convert-8-rgb-232
615 716
616same as convert-8-rgb-332 but 2 bits red, 3 green, 2 blue 717same as convert-8-rgb-332 but 2 bits red, 3 green, 2 blue
617 718
719
618--enable-convert-8-rgb-222 720--enable-convert-8-rgb-222
619 721
620same as convert-8-rgb-332 but 2 bits red, 2 green, 2 blue 722same as convert-8-rgb-332 but 2 bits red, 2 green, 2 blue
621 723
724
622--enable-convert-8-rgb-221 725--enable-convert-8-rgb-221
623 726
624same as convert-8-rgb-332 but 2 bits red, 2 green, 1 blue 727same as convert-8-rgb-332 but 2 bits red, 2 green, 1 blue
625 728
729
626--enable-convert-8-rgb-121 730--enable-convert-8-rgb-121
627 731
628same as convert-8-rgb-332 but 1 bit red, 2 green, 1 blue 732same as convert-8-rgb-332 but 1 bit red, 2 green, 1 blue
629 733
734
630--enable-convert-8-rgb-111 735--enable-convert-8-rgb-111
631 736
632same as convert-8-rgb-332 but 1 bit red, 1 green, 1 blue. this is the 737same as convert-8-rgb-332 but 1 bit red, 1 green, 1 blue. this is the
633lowest sized colorspace supported for rgb (3bits, 8 color). 738lowest sized colorspace supported for rgb (3bits, 8 color).
634 739
740
741------------------------------------------------------------------------------
635MISC: 742MISC:
636--enable-pthreads 743--enable-pthreads
637 744
638this enables pthread support in evas so multiple threads may run 745this enables pthread support in evas so multiple threads may run
639internally for parallel rendering, loading etc. 746internally for parallel rendering, loading etc.
640 747
748
641--enable-async-events 749--enable-async-events
642 750
643this provides the ability for evas to have an asynchronous event 751this provides the ability for evas to have an asynchronous event
644notification pipe to provide events when background threads are done 752notification pipe to provide events when background threads are done
645with tasks, like pre-loading image files 753with tasks, like pre-loading image files
646 754
755
647--enable-async-preload 756--enable-async-preload
648 757
649evas can load images (preload) them in the background using a thread 758evas can load images (preload) them in the background using a thread
@@ -651,6 +760,7 @@ if you ask it to, and provide events when done. this goes hand-in-hand
651with --enable-pthreads and --enable-async-events. you really want all 760with --enable-pthreads and --enable-async-events. you really want all
652of these available. 761of these available.
653 762
763
654--enable-async-render **CAUTION - MAY NOT WORK RIGHT** 764--enable-async-render **CAUTION - MAY NOT WORK RIGHT**
655 765
656this enables a software multi-frame threaded renderer. this will 766this enables a software multi-frame threaded renderer. this will
@@ -672,12 +782,14 @@ use this feature, don't enable it in the build as there is a general
672performance hit of maintaining this feature at all, so beware that 782performance hit of maintaining this feature at all, so beware that
673enabling it for single core systems will likely take a performance hit. 783enabling it for single core systems will likely take a performance hit.
674 784
785
675--enable-pipe-render **DISABLED DUE TO BUGS** 786--enable-pipe-render **DISABLED DUE TO BUGS**
676 787
677this enables a multiple-thread renderer that divides the rendering 788this enables a multiple-thread renderer that divides the rendering
678into N regions (1 per core) to speed up rendering in software when you 789into N regions (1 per core) to speed up rendering in software when you
679have multiple cpu cores. 790have multiple cpu cores.
680 791
792
681--enable-word-cache 793--enable-word-cache
682 794
683Cache rendered words and draw them as a single object, instead of 795Cache rendered words and draw them as a single object, instead of
@@ -700,13 +812,14 @@ the e-devel mailing list or Brett Nash <nash@nash.id.uau>
700 812
701For GL see metric caching... 813For GL see metric caching...
702 814
815
703--enable-metric-cache 816--enable-metric-cache
704 817
705Metric caching saves character metrics between characters in words. 818Metric caching saves character metrics between characters in words.
706This enables it to render words much quicker as it avoids things like 819This enables it to render words much quicker as it avoids things like
707space calculations and kerning calculation. 820space calculations and kerning calculation.
708 821
709The cache seize is also controlled by EVAS_WORD_CACHE_MAX_WORDS 822The cache size is also controlled by EVAS_WORD_CACHE_MAX_WORDS
710 823
711It is useful for GL in particular, although software engines do get 824It is useful for GL in particular, although software engines do get
712some gain. 825some gain.
@@ -718,21 +831,24 @@ caching (and neon on arm if you can), for GL, turn on metric caching.
718If you have any issues with metric caching, please report them to either 831If you have any issues with metric caching, please report them to either
719the e-devel mailing list or Brett Nash <nash@nash.id.uau> 832the e-devel mailing list or Brett Nash <nash@nash.id.uau>
720 833
834
721--enable-fontconfig 835--enable-fontconfig
722 836
723this enables fontconfig support for loading font files by using 837this enables fontconfig support for loading font files by using
724generic fontconfig font names and styles. you really should use this 838generic fontconfig font names and styles. you really should use this
725by default on any linux/unix platform for universal font support. 839by default on any linux/unix platform for universal font support.
726 840
841
727--enable-fribidi 842--enable-fribidi
728 843
729this enables support for the fribidi library to have right to left and 844this enables support for the fribidi library to have right to left and
730left to right font rendering so languges such as arabic, hebrew and 845left to right font rendering so languges such as arabic, hebrew and
731other "RTL" langauges display properly. 846other "RTL" langauges display properly.
732 847
848
733--enable-evas-magic-debug 849--enable-evas-magic-debug
734 850
735this allows oyu to enable and disable evas's extra magic number 851this allows you to enable and disable evas's extra magic number
736checks. these allow better stability with runtime object magic 852checks. these allow better stability with runtime object magic
737"number" checks to make sure you are accessing a real object in memory 853"number" checks to make sure you are accessing a real object in memory
738of the right type, and will avoid doing "bad things" if they detect 854of the right type, and will avoid doing "bad things" if they detect
@@ -740,6 +856,8 @@ the wrong object type being passed in. if you are absolutely sure your
740system has no bugs in accessing objects of the wrong type with the 856system has no bugs in accessing objects of the wrong type with the
741wrong calls, you can gain some small performance by disabling this. 857wrong calls, you can gain some small performance by disabling this.
742 858
859
860------------------------------------------------------------------------------
743NOTES: 861NOTES:
744 862
745For the arm optimizations you want to try: 863For the arm optimizations you want to try:
@@ -754,7 +872,6 @@ For compilation with MinGW, fnmatch.h is probably missing. That file can be
754found here: 872found here:
755 http://www.koders.com/c/fid2B518462CB1EED3D4E31E271DB83CD1582F6EEBE.aspx 873 http://www.koders.com/c/fid2B518462CB1EED3D4E31E271DB83CD1582F6EEBE.aspx
756It should be installed in the mingw include directory. 874It should be installed in the mingw include directory.
757 875
758For the OpenGL engine on Windows, the glew library is needed: 876For the OpenGL engine on Windows, the glew library is needed:
759 http://glew.sourceforge.net/ 877 http://glew.sourceforge.net/
760