Commit Graph

1001 Commits

Author SHA1 Message Date
Carsten Haitzler bc10321643 disable getting of xft.dpi - always been an option but it just leads
to inconsistent rendering.



SVN revision: 64386
2011-10-25 12:01:44 +00:00
Carsten Haitzler fb447485e8 oh dear.. lewft and right pixle duplication for interpolation had the
WRONG PIXELS!!! amazing it never crashed! fix fix! (also handle
opengls that doesnt support unpack row length)



SVN revision: 64377
2011-10-25 09:27:54 +00:00
Rafael Antognolli 78410d7e8f evas/fb: use virtual sizes to describe the fb mode geometry.
This was causing the fb engine to draw incorrectly when the virtual size
was different from the size (xres != xres_virtual). For example, it
happens an additional monitor is plugged into a notebook.
Patch for SiT.



SVN revision: 64259
2011-10-21 16:21:09 +00:00
Cedric BAIL ce3a658ef7 evas: coorectly dirty YUV data.
SVN revision: 64254
2011-10-21 14:06:42 +00:00
Carsten Haitzler a4bb9db2fa hmm gles doesnt have internal format fetching.
SVN revision: 64253
2011-10-21 12:03:41 +00:00
Carsten Haitzler f8f5ad72ef note on detecting texture alloc fail. need to percolate that back
SVN revision: 64250
2011-10-21 10:03:17 +00:00
Carsten Haitzler f95a1783a7 debug for future. for now found the problem.
SVN revision: 64248
2011-10-21 09:59:13 +00:00
Carsten Haitzler 11409eb48e have evas engine also to update rect math so we can exclude useless
updates when obscured objects change



SVN revision: 64246
2011-10-21 08:58:00 +00:00
Carsten Haitzler 1541b0e97e add call to get maximum image size (eg max texture size)
SVN revision: 64244
2011-10-21 08:17:14 +00:00
Carsten Haitzler f63b1d9ecd if image biger than max texture size... report allocation errors.
SVN revision: 64241
2011-10-21 06:10:15 +00:00
Carsten Haitzler a396da70de we dont need the dirty at the end either.
SVN revision: 64173
2011-10-19 09:50:55 +00:00
Jiyoun Park 0028add9c6 From: Jiyoun Park <jy0703.park@samsung.com>
Subject: [E-devel] [Patch] Add scale down decoding feature to evas png loader

I add scale down decoding feature to evas png loader. 5515X3986 size png image need 80~90M memory, 
but scale down(scale num=2) option can reduce memory to 25~30M.

I use down sample method for scale down. 
(there is more efficient algorithm for scale down, I'll add this to my
todo list)



SVN revision: 64170
2011-10-19 09:04:34 +00:00
Cedric BAIL 519750e778 evas: simplify code at the same time.
SVN revision: 64169
2011-10-19 09:04:18 +00:00
Carsten Haitzler 6f3529fe65 nono - we dont dirty images when we set data...
SVN revision: 64168
2011-10-19 08:59:29 +00:00
Jiyoun Park a1e7fa3103 From: Jiyoun Park <jy0703.park@samsung.com>
Subject: Re: [E-devel] [Patch] Implement scale down decoding feature of bmp loader

I implement scale down decoding feature of bmp loader using down sample algorithm.
Desktop have low risk to go wrong memory problem during big image decoding, 
but mobile device is different.

Raster said it is life (meet memory problem during big image decoding),
and it is enough to return decoding fail.

But I think it seems a bit harsh, because 2 or 3 bmp image (5000X5000 size: for example) 
can cause application close because of memory lack.   



SVN revision: 64163
2011-10-19 06:36:28 +00:00
Jiyoun Park bfbd9abf9d From: Jiyoun Park <jy0703.park@samsung.com>
Subject: [E-devel] [Patch] modify gl engine's animated function
related with cache entry

I modified the gl engine code related with animated images
This is very trivial.  Evas image object passes images to the engine. 
In the software engine, it is a cache entry , but in the GL engine, it is 
an Evas_GL Image. So I modified the gl engine code to get the cache entry
from the gl image.



SVN revision: 64143
2011-10-18 09:10:26 +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
Youness Alaoui 93d79aa509 Evas: Check for dlsym and disable gl engines if not found
SVN revision: 64091
2011-10-15 09:31:04 +00:00
Youness Alaoui 74c3fe766e Evas: Remove a useless ifdef that was causing dead code.
You can't compile a gl_common .c file based on whether or not the SDL
header was included. The .c file will result in only one .o and since
the Evas_Engine_Sdl.h is not included by evas_gl_context.c itself, then
that ifdef will never be true.
gl_common should request a callback function pointer from the evas engine
for doing symbol resolution. This needs a refactor.

SVN revision: 64086
2011-10-15 09:30:33 +00:00
Christopher Michael 3bb739d7fa Evas: Fix compiler warnings wrt uninitialized variables.
SVN revision: 64079
2011-10-15 01:02:55 +00:00
Carsten Haitzler ab7d9bdd84 fix use of invalid program id IF viewport changed - also disable
GLERR. this can really hurt performance.



SVN revision: 64027
2011-10-12 23:22:26 +00:00
Carsten Haitzler 4d5b4b2f24 fix gl pipeline problem with textures and map and the wrong program id
being set/restored.



SVN revision: 64014
2011-10-12 10:27:17 +00:00
Carsten Haitzler 6412cc1358 fixme--
SVN revision: 64013
2011-10-12 10:15:35 +00:00
Carsten Haitzler 23df774e8d all vert shaders always highp on gles.
SVN revision: 64004
2011-10-12 02:54:06 +00:00
Carsten Haitzler 0bfb70e48e oops - typo.
SVN revision: 63967
2011-10-11 01:51:49 +00:00
Carsten Haitzler 7597814df2 adapt to SEC direct texture access changes for the last time.
SVN revision: 63959
2011-10-10 10:08:29 +00:00
Vincent Torri 50cfcfc323 Evas: Add GL_EET_CFLAGS tp CPPFLAGS so that Eet.h is found. Patch by JGMiller, fix ticket #874
SVN revision: 63922
2011-10-08 07:16:36 +00:00
Carsten Haitzler 2f674f7059 be quiet about the EEK.
SVN revision: 63921
2011-10-08 05:33:47 +00:00
Carsten Haitzler 6fd17b839d Commit Neil's patch reported here:
http://trac.enlightenment.org/e/ticket/880



SVN revision: 63920
2011-10-08 04:58:57 +00:00
Carsten Haitzler 4e4e7a03a4 fix cedric's nv12 shader! it worked by luck only. tex_y -> tex_c in
vert shdr



SVN revision: 63918
2011-10-08 03:04:16 +00:00
Carsten Haitzler 7c7f8803f5 try and make newgl work again... fail! why does glx hate me?
SVN revision: 63885
2011-10-06 15:05:32 +00:00
Carsten Haitzler 837165ed8a no no.. oops. i missed an error!
SVN revision: 63883
2011-10-06 13:46:06 +00:00
Carsten Haitzler bdbfbbd2d3 newgl work.. now.. why?
SVN revision: 63882
2011-10-06 13:45:14 +00:00
Carsten Haitzler 82b843d222 only use highp *IF* compiler supports it.
SVN revision: 63880
2011-10-06 13:25:18 +00:00
Cedric BAIL a33eccf6e2 evas: fix shader for nv12.
SVN revision: 63835
2011-10-05 10:16:25 +00:00
Carsten Haitzler 27431cacdd oh and compile script missing updates to make shd's... grrr. and nv12
shader bad!



SVN revision: 63832
2011-10-05 09:52:08 +00:00
Carsten Haitzler 4ddeed5933 all shaders -> use high precision not medium to avoid rounding errors.
SVN revision: 63804
2011-10-04 11:21:22 +00:00
Carsten Haitzler f054f04d08 bad cedric! broke gl engine!
SVN revision: 63729
2011-09-30 16:18:41 +00:00
Cedric BAIL 0d03abde6b evas: remove warning.
SVN revision: 63728
2011-09-30 15:54:26 +00:00
Cedric BAIL cc71e34616 evas: zero swizzeling code for Samsung platform.
SVN revision: 63727
2011-09-30 15:51:32 +00:00
Cedric BAIL 308cf81312 evas: correctly handle direct mapping of data for non RGBA case.
SVN revision: 63726
2011-09-30 15:43:51 +00:00
Jiyoun Park c231bf108b From: Jiyoun Park <jy0703.park@samsung.com>
Subject: [E-devel] [Patch] support Animation gif's disposal mode

I make patch support animation gif disposal mode.

Before, gif loader only decode & render based on previous frame. 

This patch can support "do not dispose mode" & "restore background
mode". 

So It solve after image problem of restore background mode.




SVN revision: 63716
2011-09-30 07:10:40 +00:00
Cedric BAIL 442589f4ca evas: handle exif rotation information directly inside evas jpeg loader.
Patch by Jiyoun Park <jy0703.park@samsung.com>


SVN revision: 63659
2011-09-29 09:02:30 +00:00
Carsten Haitzler 823fa1b566 make fonts obey the same cutout rules as images.
SVN revision: 63478
2011-09-19 10:48:33 +00:00
Carsten Haitzler 9522d5b359 warning--
SVN revision: 63477
2011-09-19 10:48:11 +00:00
Christopher Michael 1a1248b689 Evas: Add simple .Xdefaults files parsing to get DPI.
NB: Xcb has no support (yet) for dealing with xrdb (Xresource
database), so add a simple parser to read an .Xdefaults file and get
things like xft.dpi.



SVN revision: 63297
2011-09-08 21:49:45 +00:00
Youness Alaoui ada2b9e072 Evas: Small fixes to clean software-sdl and software-16-sdl engines
Comparing software-sdl and software-16-sdl showed many small differences
this makes both engines' code much more alike.
The software-16-sdl was especially buggy, hopefully, this should make
it just as stable as the software-sdl engine.

SVN revision: 63248
2011-09-07 06:53:35 +00:00
Youness Alaoui efea89b471 Evas: Allow independent static compilation of software_16_sdl engine
SVN revision: 63247
2011-09-07 06:53:28 +00:00
Cedric BAIL 120306f05f evas: add YUV double buffering for OpenGL backend.
SVN revision: 63225
2011-09-06 07:56:47 +00:00
Cedric BAIL ce8904076d evas: fix alignment issue.
SVN revision: 63202
2011-09-05 15:21:23 +00:00