Commit Graph

936 Commits

Author SHA1 Message Date
Gwanglim Lee bcf887153e evas/gl_drm: Remove drm own_fd handling from gl_drm engine
Summary:
These are obsolete codes because evas engines no longer
has a use case for handling the drm file descriptor. And also it
is the same change as what Stefan Schmidt did to evas_drm.

Test Plan: N/A

Reviewers: devilhorns, stefan_schmidt, cedric, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1452
2014-09-16 11:17:39 +02:00
Chinmaya Panigrahi fdd501b773 Evas: fix resource leak.
Summary: Variable palpriv is going out of scope and leaks the storage it points to,
if we do not free it before exiting.

Test Plan: NA

Reviewers: seoz, raster, cedric

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1429

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-11 12:56:02 +02:00
Daniel Zaoui cabdbb2f3c Warning-- 2014-09-11 08:35:15 +03:00
Stefan Schmidt fd1b0053d7 evas-drm: Remove unused function prototype. 2014-09-08 16:21:23 +02:00
Stefan Schmidt 96b767ef77 evas/drm: Remove evas-drm handling of the drm fd
We now longer have a use case for opening the drm file descriptor in the evas
engine itself. This is now all handled in ecore_drm or ecore evas.
2014-09-08 15:14:42 +02:00
Stefan Schmidt 95b1b13c5e evas/drm: Remove trailing whitespace.
That one was looking at me each time I opened the file. Get away!
2014-09-05 16:26:59 +02:00
Stefan Schmidt 79660ae4ae evas/gl_drm: Follow change form evas_drm and remove tty_won and tty struct members
The evas_gl_drm engine followed the changes from evas_drm so we can safely
remove them here as well.
2014-09-05 16:15:22 +02:00
Stefan Schmidt bff3bee8a5 evas/drm: Remove now obsolete tty and own_tty struct members
We used these when expedite was using evas directly without ecore_evas.
That changed and we can now leave tty custody to ecore_evas and ecore_drm.
2014-09-05 15:55:08 +02:00
Chris Michael d3a207bf9a evas-drm: Fix evas-drm picking incorrect resolution/mode for outputs
This fixes an issue where we had to hard-code the resolution in the
wl_drm module. Instead, we now properly get the current screen
resolution/mode from the drm library and use that.

NB: This is needed to fix wl_drm module in Enlightenment to setup the
proper resolution.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 11:18:23 -04:00
Chris Michael 127acd0b26 evas-drm: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 11:18:23 -04:00
Gwanglim Lee 0d9f0d8ffb gl-drm: Make use of ecore_drm for handling tty
Summary:
Now, evas gl-drm engine is using ecore_drm instead of its own code to handle tty.
This patch has removed obsolete tty handling codes from engine. It is almost the same as what
Stefan Schmidt did to evas drm engine.

Test Plan: N/A

Reviewers: devilhorns, cedric, raster, stefan_schmidt

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1409
2014-09-04 13:20:17 +02:00
Gwanglim Lee a797d1a8ef gl-drm: Fix build warnings
Summary: Fix unused paramater and parentheses around assignment.

Test Plan: N/A

Reviewers: devilhorns, cedric, stefan_schmidt, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1408
2014-09-04 09:58:23 +02:00
Cedric BAIL 6bb522cc6b evas: let's bet consistent and not break the build. 2014-09-04 08:54:08 +02:00
Dmytro Dadyka 0d2f4dbc11 [Evas/evas-3d] Add shadow maps. Added two scene-API functions for enable and disable shadows on the scene. Added 6 light-API function for set and get the light projection.
Reviewers: raster, cedric, Hermet

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D1330
2014-09-03 21:19:16 +09:00
Carsten Haitzler 3c5412f728 evas - generic loaders - fix possible string overflow on decoders
fixes CID 1039580
2014-09-01 19:40:46 +09:00
Stefan Schmidt 2761b71c68 evas/engine/drm: Hold a reference to the Ecore_Drm_Device
We will need this in more places of the evas drm engine so keep a reference
in Evas_Engine_Info_Drm for later access.
2014-08-29 15:55:44 +02:00
Stefan Schmidt 5cc2a13763 evas/drm: Remove includes for TTY we no longer need here 2014-08-29 15:55:29 +02:00
Stefan Schmidt 5551567847 evas/drm: Remove rest of the tty handling which is now unused
With the move to ecore_drm for tty handling these all became unused.
Ecore_drm already takes care of setting up the SIGUSR1/2 handler and
the rest of the tty setup.

Now that this is gone evas_drm_init/shutdown have no functionality
anymore either.
2014-08-27 16:01:06 +02:00
Stefan Schmidt 9df3bb10bb evas/drm: Make sure the engine has the correct tty when called from expedite
When getting called from expedite we don't have ecore_evas in between which
normally sets things up for tty. Handle this special case here so the evas
drm engine keeps working for expedite.
2014-08-27 16:01:06 +02:00
Stefan Schmidt 9236a6d972 evas/drm: No need to check info.fd < 0 again as we just did that.
We are in a block here which already checked fro that. Remove this
and adjust indent.
2014-08-27 16:01:06 +02:00
Stefan Schmidt 92ba0c600f evas/drm: Remove obsolete tty open function
Ecore_drm handles this now for use. No need for duplicated functionality here.
2014-08-27 16:01:06 +02:00
Carsten Haitzler 5b5ee4857a evas - tga loader - fix alpha handling for 16/15bpp images
tga provides 16bpp images as actually 15bpp. the upper bit (alpha mask
bit) can be 0 or 1, but we don't check the  descriptor byte to see if
this bit is relevant or not. coverity pointed this out in CID 1039473
- logically dead code that should not have been dead except for this
missing logic. well done coverity!
2014-08-27 11:58:35 +09:00
Carsten Haitzler 7847c2dafe evas tga loader - clean up whitespace 2014-08-27 11:48:32 +09:00
Carsten Haitzler 75a04d6c7f evas gl - remove unused pointer variable return
fixes CID1039920
2014-08-25 12:55:40 +09:00
Carsten Haitzler 0b6fb19b77 evas - fix unused variable
fixes CID 1039921
2014-08-25 12:51:17 +09:00
Stefan Schmidt 3fe554e0b6 build: Allow to use external liblz4 instead of embedded copy
While we are likely will keep the embedded copy for a while to avoid a really
new dependency we allow now to use the external liblz4. You need at least
revision r120 and a package that ships the pc file for it.

Personally I would like to get rid of it rather sooner than later due to the
security implications and a bunch of code we ship but have no idea about.
Reality is that it will need some time until this new lib is actually
packaged and shipped with releases for a a majority of people.

This patch was co-worked with Doug Newgard <scimmia22@outlook.com>
2014-08-22 16:27:28 +02:00
Carsten Haitzler 489404c785 evas gl x11 - fix structurally dead code
fix previous "shut up unused params warnings code bits and use
EINA_UNUSED. fixes CID 1039495
2014-08-22 20:14:59 +09:00
Carsten Haitzler b21d6cfd0c evas gl common - remove logically dead code
fix CID 1039444
2014-08-22 20:14:59 +09:00
Carsten Haitzler e6b92c1b35 evas ico loader - remove logically dead code
cols cant even be > 256, so remove. fix CID 1039442
2014-08-22 20:14:59 +09:00
Carsten Haitzler f5d9fb1320 evas software generic - dont check ptrs - already not null.
we dont check these anywhere else - thus they are valid.

fix CID 1039390 1039391 1039392 1039393
2014-08-22 20:14:59 +09:00
Chris Michael bbe563b33b gl-drm: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-21 10:52:11 -04:00
Chris Michael 3fdbb9e855 gl-drm: Remove useless else block
Swap mode is already defaulted to MODE_FULL, so we don't need this
else here.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-21 10:52:11 -04:00
Chris Michael 97d53c1910 gl-drm: Remove blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-21 10:52:11 -04:00
Mun, Gwan-gyeong f5b8109397 evas: add evas gl-drm engine
Summary: This is the first step to introduce a gl-drm backend.

Test Plan: "ecore evas" create with ecore_evas_gl_drm_new(). It creates "ecore evas" with gl_drm evas backend.
@feature

Reviewers: raster, Hermet, cedric, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1187

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
Gwanglim Lee 53eebe014e evas: Evas_Wayland_Egl - change size of common gl context after egl make current according to current Outbuf's size
Summary:
This fixes broken rendering of the main surface when new surface is created.
Rendering on main surface can be broken due to invalid size of common gl context.
Since common gl context is shared between surfaces, if new surface has been changed
size of common gl context, then rendering on main surface can be broken.
In order to fix problem, engine has to change size of common gl context after egl
make current according to size of current Outbuf.
@fix

Test Plan:
run elementary_test with wayland_egl engine under wayland and click any
button to create new surface. watch the main surface of elementary_test.

Reviewers: devilhorns, raster, stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1346

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
Gwanglim Lee 1563956299 evas: Evas_wayland_Egl - fix black surface during resize
Summary:
use eng_output_resize of software_generic engine and move wl_egl_window_resize to
eng_outbuf_reconfigure. and remove eng_output_resize of wayland_egl.
@fix

Test Plan: run elementary_test with wayland_egl engine under wayland

Reviewers: devilhorns, raster, stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1343

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
Gwanglim Lee cba164072d evas: Evas_Gl_X11 - add missing eng_window_free
Summary:
add missing eng_window_free before return from eng_setup.
@fix

Test Plan: N/A

Reviewers: cedric, raster, devilhorns, stefan_schmidt

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1345

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
Julien Isorce d3c56d5c74 xlib: fix undefined behaviour when freeing colormap too early
Summary:
On Ubuntu 14.04 it makes a 32 bit depth window un-responsive
to any XEvent.

Reviewers: cedric, raster

Reviewed By: raster

Subscribers: raster, capOM, cedric

Differential Revision: https://phab.enlightenment.org/D1236
2014-08-21 18:40:02 +09:00
Chris Michael 37b4bcdbd9 evas-gl-generic: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-19 13:47:22 -04:00
Chris Michael e8023b06e0 evas-gl-generic: Remove useless returns
There is really No point in having the 'return' here as we fall out of
the function anyway.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-19 13:47:10 -04:00
Chris Michael 1fc4ccf67a software-generic: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-19 13:47:10 -04:00
Chris Michael b44a068b4b evas-wayland-egl: Fix wayland egl engine not rendering
Reset the Outbuf's Engine information pointer.
We also don't need to do an eng_window_free during reconfigure because the
software_generic_update function will free it anyway.
We should also re-setup the tilebuffer during eng_setup.
Fix gl_context resize to work even if there is no wl_egl window setup
yet.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-18 16:11:15 -04:00
Chris Michael 958a14e416 evas-wayland-egl: Don't resize gl_context during first_rect
This is the first part of the wayland-egl engine fix. Don't resize the
gl_context during the first_rectangle function, and don't set any
preserve bits on the gl_context

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-18 16:09:57 -04:00
Chris Michael facec1852f evas-wayland-egl: Increment frame count after flush
When we flush the Outbuf, we should be incrementing frame count

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-18 10:44:55 -04:00
Chris Michael 89fb7bf249 evas-wayland-egl: Check for valid tilebuffer before setting tile size
We should check for a valid Tilebuffer before calling tile_strict_set

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-18 10:43:38 -04:00
Chris Michael db31d0ba97 evas-wayland-egl: Free Outbuf if gl_generic_init fails
If we fail to init gl_generic then we should cleanup properly and free
the recently created Outbuf.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-18 10:42:07 -04:00
Cedric Bail 396433bbc2 evas: handle GL_LUMINANCE_ALPHA.
This fix T1459. I have added an ERR to catch this kind of issue earlier.
I am wondering if that should not be even a CRI.

The reason why we do see the problem only after the introduction of the
use of Eina_Rectangle_Pool is due to how efficiently they pack data, resulting
in ressource ending up in the wrong format bucket. Nothing wrong with the
patch itself.
2014-08-16 15:15:07 +02:00
Cedric Bail dde9a1e977 evas: allocate enougth atlas for all supported format. 2014-08-16 15:15:07 +02:00
Carsten Haitzler 401d788bd6 evas gl - fix undefined return added from coverity fixing 2014-08-16 12:40:42 +09:00
Mun Gwan-gyeong ac4074c4fa evas-wayland-egl: Fix segmentation fault on dynamic loaded gl related functions.
Summary:
@fix
Segfault in wayland_egl engine is casused by illegal library linking.
Fix this by linking to GLESv2 and EGL libraries.

Test Plan: N/A

Reviewers: devilhorns, raster, cedric, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1332
2014-08-15 09:24:20 -04:00
Carsten Haitzler 43a932ab3c evas image loaders - silence noisy warnings that are just not needed
several loaders make too much noise when a file fails to load - almost
all of this is because the file isnt actually an image format file at
all, and an ap is just asking evas to try do a load to see if it is a
loadable image at all. this results in noisy strerr output that simply
shouldnt be there. so silence for loaders. @fix
2014-08-15 12:45:01 +09:00
Carsten Haitzler 2098e8c856 evas gl - fix yuv smooth rendering
i found that we are not setting u and v to be smooth (linear
interpolate) for yuv reendering, even when asked. they remain at a
default "nearest". this enables linear for u and v always, meaning
even when smooth is off, we still interpolate u and v (not y), and
even when at 1:1 with no scaling u and v get interpolation for better
quality.

@fix!
2014-08-15 12:11:33 +09:00
Carsten Haitzler 5a722ca6fe fix structurally dead code warning
CID 1039494
2014-08-14 20:21:19 +09:00
Carsten Haitzler 111fd9339c evas gl - fix structurally dead code
unused var protection in ifdef - use unused macro instead. fixes
CID 1039495
2014-08-14 20:18:56 +09:00
Carsten Haitzler eeab470cf1 evas xpm loader - fix xpm loader overrun check
coverity CID 1039596 - the code actually was wrong. do not multiple by
sizeof(DATA32) for ptr compare here.
2014-08-14 20:17:16 +09:00
Carsten Haitzler 03f7ff5f27 evas sw-x11 - fix pointless code in dri swapper
this fixes CID 1039620 - it pointed out a pointless null check.
2014-08-14 19:49:34 +09:00
Carsten Haitzler 1294a91201 evas gl generic - remove dead code
coverity CID 1039633 pointed out dead code and some invalid null
checks. fixed!
2014-08-14 19:44:16 +09:00
Carsten Haitzler 31045df0d2 evas gl - fix possible null tls resource access in bindframebuffer
this fixes CID 1181887
2014-08-14 17:41:55 +09:00
Carsten Haitzler 49694c9a64 xpm - colors cant be 96 bytes long.
since colors are hex, 96 bytes of hex would be 32bytes per r, g and b,
and that would be 128 bits per  r g and b and that just is never seen
or used. also coverity is right in CID 1193201 that we just can't
shift that many, so go down to max 16 bits per rgb which is sensible
and able to be done. (thats 12 bytes max for hex of color).
2014-08-14 17:34:39 +09:00
Carsten Haitzler 3ad7feafe3 evas ico loader - ensure count is within sane ranges
this hopefully addresses CID 1205000
2014-08-14 17:04:55 +09:00
Chris Michael 15064d51c9 evas-software-x11: Remove EINA_UNUSED for function paramater that is
used

Render_Mode is used here so we don't need EINA_UNUSED for it in the
function.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-13 10:23:47 -04:00
Chris Michael 4ad176e481 evas-gl-common: Fix invalid use of Texture
We cannot use the texture to find a valid format Before the texture is
actually created. This is invalid, leads to "warning: tex is used
uninitialized' message from the compiler, and just plain wrong.
Instead, use the alpha property of the Evas_GL_Image to find the
proper texture format, Then create the texture.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-13 09:38:33 -04:00
Carsten Haitzler a44f15ec8e evas software generic engine - fix tb configuring to be consistent
this addresses CID 1224761 - consistent checks for tb in render engine
2014-08-13 19:11:49 +09:00
Carsten Haitzler 05d839e854 evas gl x11 engine do extra check to make coverity happen
this fixes CID 1226192
2014-08-13 18:27:46 +09:00
Carsten Haitzler 2ac4f520d6 fix resource leak on format lookup fail
so in fixing one CID for a format lookup failing and thus invalid mem
access, a possible leak was made in this case. fix that by doing
lookup before any allocation and if lookup fails, return there

this fixes CID 1230999 1230998 1230997
2014-08-13 08:49:07 +09:00
Carsten Haitzler a97f5d7bb8 evas gl common - fix possible negative array accesses if search format fails
this should fix CID 1223506, 1223505, 1223504
2014-08-12 17:32:04 +09:00
Carsten Haitzler 8845ecb2b2 evas gl common - fix potential invalid access during texture free
this should address CID 1223507
2014-08-12 17:25:15 +09:00
Gwanglim Lee 55715ccf05 evas-wayland-egl: Add missing free
Summary:
Add free to eng_gl_context_free
@fix

Test Plan: N/A

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1315
2014-08-11 11:47:25 -04:00
Gwanglim Lee d4c76753c9 evas-wayland-egl: Fix typos about egl context attribute list
Summary:
Fix typos 3 to 2.
@fix

Test Plan: N/A

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1314
2014-08-11 11:45:30 -04:00
Chris Michael 3311729f3c wayland-egl: Fix Outbuf structure not having evas & engine info
gl_generic functions expect the Outbuf to contain the canvas, so we
fixed the eng_window_new function to accept that, And the engine info.
This simplifies the calls to eng_window_new.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-11 11:29:33 -04:00
Chris Michael 7c6b9637d9 wayland-egl: Fix calls to eng_window_new
Since we simplified the eng_window_new function to accept the canvas
and engine info, we need to update calls to that function

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-11 11:28:50 -04:00
Chris Michael 54e913a025 wayland-egl: Fix eng_window_new function prototype
We need to pass in the canvas and engine info structure as the
gl_generic engine needs the outbuf->canvas to be set.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-11 11:28:04 -04:00
Gwanglim Lee 110b0108ad evas-wayland-egl: Fix evas wayland_egl engine crash on mesa driver
Summary:
Evas wayland_egl engine crashes on startup when it is running with mesa.
Evas is trying to get EGL / GLES extension function addresses where evas_gl_symbols.
It is called before eglGetDisplay. Then mesa considers that current egl platform is
X11 if it has no EGL_PLATFORM env var. This behavior of mesa is bad. But we should
provide workaround until it is fixed. Thus EGL_PLATFORM env var should be defined to
wayland before calling eglGetProcAddress.
@fix

Test Plan: run elementary_test under wayland with wayland_egl engine.

Reviewers: raster, stefan_schmidt, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1312
2014-08-11 11:08:09 -04:00
Chris Michael 97adf8a316 evas-wayland-egl: Fix evas wayland_egl engine not loading due to missing symbol
Seems the newer wayland-egl code was missing the log domain variable
and thus would not load at time of dlsym due to missing symbol. This
fixes that problem by defining the variable.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-10 15:54:35 -04:00
Stefan Schmidt 9283575490 evas/gl_common: Use the right list when removing aptt
Another classical copy and paste error. All references but one replaced.

CID: 1223502
2014-08-08 14:54:56 +02:00
Carsten Haitzler 01cd90b6c3 evas gl - glx - sety current to NULL on free of window or context
hunting a mem leak i found we dont nuke the current context when
freeing it or the window bound to the current context. fix this.
2014-08-07 19:39:16 +09:00
Carsten Haitzler f5cff9490e evas gl - did not free all atlas formats - fix
we have expanded atlas formats long since - so use #define to free
correct amount instead of 6
2014-08-07 18:25:20 +09:00
Carsten Haitzler 8b796edce7 evas gl - fixz minor leak on exit of rectangles
these were static rect cutouts, so they stayed around on exit and thus
we "lost" them. this nukes them on context free and each new frame.
fixes the "leak"
2014-08-07 18:15:50 +09:00
Chris Michael 827ca3fcfc evas-wayland-egl: Implement eng_gl_context functions
The eng_gl_context functions are used for Evas 3D, so let's support
those in the wayland_egl engine.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-06 15:05:35 -04:00
Chris Michael 423506a0aa evas-wayland-egl: Fix wayland egl engine to work again
Previous (french) changes to evas_gl code broke the wayland egl engine. This
batch of changes fixes that by rewriting to engine to work with new
evas_gl functions.

Fixes Phab ticket T1478

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-06 14:24:29 -04:00
Chris Michael 9419e48fb4 evas-wayland-egl: Add support for EGL_BUFFER_AGE_EXT and add external
function pointers for glsym_evas_gl functions

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-06 14:19:55 -04:00
Chris Michael e2c08ffec2 evas-wayland-egl: Add support for SWAP_MODE_QUADRUPLE and use
Eina_Bool for boolean values

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-06 14:19:15 -04:00
Chris Michael 7cf7ca213b evas-wayland-egl: Rename Evas_GL_Wl_Window to Outbuf
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-06 07:44:50 -04:00
Chris Michael 59294c7381 evas-wayland-egl: Fix includes for using GL Generic
Recent changes to evas engines require using evas_gl_generic now, so
let's sort out the headers and include the gl_generic one we need

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-06 07:44:50 -04:00
Carsten Haitzler beb7e6e611 evas - gl-x11 - extensions - be more specific about video_sync extn
this should avoid false-positive detection for this extension - other
extensions share string content
2014-07-30 21:40:16 +09:00
Chris Michael aea57d7a8e evas-wayland-shm: Free allocated rectangle after sending damages
We allocate a new eina_rectangle here, but we never free it after
sending damages to the surface.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-29 17:45:24 -04:00
Cedric BAIL 3c179cdb87 evas: move to SDL2 and use GL_Generic infrastructure. 2014-07-25 20:24:29 +02:00
Cedric BAIL 9a9d78dfcb evas: provide GetProcAddress by the engine. 2014-07-25 20:24:28 +02:00
Carsten Haitzler 10405ffc41 evas - ico loader - detect probable p0ng entry in ico file
ico files were defined to have bmp's in each key - in fact a subset of
them. unbenknownst to yours truly, vista now allows them to also be
pngs and thus the ico loader rejects them as corrupt. at least detect
it and complain right now
2014-07-24 17:18:35 +09:00
Carsten Haitzler dee1640d0f fix some formatting in ico loader 2014-07-24 15:22:40 +09:00
Chris Michael 278d55bf0f evas-drm: Remove extra blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-16 11:35:26 -04:00
Stefan Schmidt 18989020d7 evas/drm: Make use of ecore_drm for opening DRM device
We use this functionality already from ecore_drm. The evas version does
not even use udev to acquire the device which means we could not support
hotplugging. The only missing feature was the capability check for
DUMB_BUFFER which I added to ecore_drm now.

This is the second iteration of this patch. Thsi time also taking expedite
runs of he evas drm engine in account.
2014-07-16 08:53:43 +02:00
Cedric BAIL de2536e892 evas: remove useless declaration from GL_Generic. 2014-07-14 15:46:54 +02:00
Vincent Torri 9631585f24 efl: remove Windows CE support 2014-07-13 15:17:17 +02:00
Cedric BAIL cec904cd03 evas: make gl_x11 rely on gl_generic.
Note that we can't access gl_common directly as it is not possible to link it
2 times. I also didn't want to force evas to be linked with GL/EGL. So I rely
now on dlsym on about 20 symbols to get that backend going.
2014-07-11 15:32:51 +02:00
Cedric BAIL ac9cd35892 evas: add gl_generic backend.
This is the first step to introduce a common gl infrastructure for all gl based backend.
For now it is strictly doing the exact same thing that the gl_x11 was doing, but I already
spoted that a lot of the optimization in gl_x11 where not incorporated in other gl backend.
So this is going to help everyone by sharing more code on a crucial part of our infrastructure.
2014-07-11 15:32:51 +02:00
Cedric BAIL 0d00b476cb evas: export symbol from gl_common so that loading gl_generic can expose them. 2014-07-11 15:32:51 +02:00
Cedric BAIL 4f18b499ac evas: check if Render_Engine was created before using it in error case. 2014-07-11 15:32:51 +02:00
ChunEon Park 7e8d43ee85 Revert "evas/gl: improve the rendering quality."
This reverts commit 5e18223f67.

Conflicts:

	src/modules/evas/engines/gl_common/evas_gl_context.c

we've got a side effect(another quality issue) of the patch. so revert it.
2014-07-11 14:50:20 +09:00
Jean-Philippe Andre 7512a54954 Evas gl: Fix upload of RGB+A textures [INCOMPLETE]
The textures have duplicated borders, take them into account.
2014-07-11 13:41:38 +09:00
Jean-Philippe Andre 24f38eaf6d Evas gl: Replace all remaining references to mask stuff by alpha
Masking is not used (there even was a recent commit by Hermet to
remove most of the occurences of mask shaders in GL), and I've
introduced a new ETC1+Alpha feature. Replace the old texm and
associated variables by texa for alpha texures.
2014-07-11 12:20:07 +09:00
Cedric BAIL 255ceb419c evas: gl_common already provide the infrastruture to manipulate ImageSEC. 2014-07-10 11:34:34 +02:00
Chris Michael d7b7f19e5e evas-engine-wayland-shm: Check for depth being INHERIT on reconfigure
Software Generic backend can send us OUTBUF_DEPTH_INHERIT during a
reconfigure. If we are inheriting the previous depth, let's check that
so we don't get needless destrouction/recreation of shm buffers.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-09 12:57:17 -04:00
Chris Michael d5443ffbce evas-engine-drm: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-09 11:39:46 -04:00
Chris Michael a20a12bfbc evas-engine-drm: Fix evas drm engine bufer depth
Seems the new software_generic backend is passing in
OUTBUF_DEPTH_INHERIT during a reconfigure, so let's add a check for
that else if not, the entire drm engine stops rendering due to output
buffers not being created to match the framebuffer depth.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-09 11:39:46 -04:00
Chris Michael 89d4384b14 evas-engine-drm: Fix update of output buffer size
Adjust the ob->w/h dimensions After the framebuffer has been setup
because we cannot have output buffers smaller than the framebuffer

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-09 11:17:21 -04:00
Chris Michael 4f8b8cd398 evas-engine-drm: Fix software_generic_update to use the correct size.
We cannot use epd->output.w/h in these calls as the setup of the
output buffer May cause a resize. Drm buffers cannot be allocated
Smaller than the framebuffer size, so evas_drm_outbuf_setup function
May resize the ob->w/h to match the framebuffer.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-09 11:15:39 -04:00
Cedric BAIL 8d53f4ca3b evas: correct multi buffer support. 2014-07-09 16:14:57 +02:00
Cedric BAIL 68110c63b6 evas: actually put the specific code in the right place. 2014-07-09 15:17:03 +02:00
Jean-Philippe Andre c65918eaed Evas gl: Add errors when using ETC1+Alpha as a normal texture 2014-07-09 14:01:11 +09:00
Jean-Philippe Andre ec9ffd0ae8 Evas gl: Fix invalid number of atlasses
Left-over from a local experiment where ETC1+Alpha had its own
texture pool. Not required.
2014-07-09 12:39:18 +09:00
Jean-Philippe Andre c7d290b447 Evas gl: Remove non-existent filters from compile.sh 2014-07-09 10:40:25 +09:00
Jean-Philippe Andre 698f7f1770 Evas gl: Don't use glCompressedTexSubImage2D for ETC1
Eeeeh. Not only we don't support atlasses with this RGB+A thing
yet, but ETC1 does not even support SubImage2D (according to the
current spec).

Also, fix a few typos in that same function.
2014-07-09 10:18:34 +09:00
Jean-Philippe Andre cb0eef29c8 Evas gl: Fix potential memleak
Fixes CID 1224765.
This CID reports a potential memleak in an "assert" situation.
2014-07-09 09:41:40 +09:00
Jean-Philippe Andre c0b7957d17 Evas gl: Simplify cspace matching for textures
Some colorspaces (ETC, S3TC, GRY, ...) don't care about the value
of BGRA support or the alpha flag. So, let's introduce the
new boolean^Wenum value MATCH_ANY ;)

Note: the compressed texture formats with alpha support have been
marked as matching both TRUE and FALSE for alpha. The images
should always have the alpha flag set to TRUE, though.
The BGRA flag really doesn't matter.
2014-07-09 09:05:37 +09:00
Jean-Philippe Andre 6deda1a722 Evas TGV: Fix compilation with BUILD_NEON
The TGV loader is an Evas_Loader, not part of evas itself
(eg. in cserve), so we can't use evas functions from there.
eina_cpu provides appropriate CPU features detection.
2014-07-09 09:04:55 +09:00
Jean-Philippe Andre 48bcf182b4 Evas gl: Add support for ETC1+Alpha textures
Compile-in the required shaders, add support for the
new EVAS_COLORSPACE_ETC1_ALPHA, and upload textures as RGB+A
pairs.

@feature
2014-07-09 09:04:55 +09:00
Jean-Philippe Andre 0bba7422cb Evas TGV: Add support for ETC1+Alpha
Save images with alpha in two planes:
- RGB data as ETC1
- Alpha as ETC1 (from a greyscale image)

The second plane alpha is located right after the RGB plane.

The RGBA data is not premultiplied, so that RGB can be encoded
at a better quality in ETC1. This should avoid some blockiness
artifacts that we can see in the current ETC2 mode (which supports
alpha natively). Eventually ETC2 should also support non
premultiplied data for a better encoding quality.

This patch implements the saver and the loader.

@feature
2014-07-09 09:04:55 +09:00
Jean-Philippe Andre 224506171f Evas gl: Add shaders for RGB+Alpha mode
These shaders take two textures as input and sample RGB from
texture 1 and alpha from texture 2. This is the non-premultiplied
version, so RGB' = RGB*A.

This includes only the GLSL code.
2014-07-09 09:04:55 +09:00
Jean-Philippe Andre 23e60bd6ff Evas gl: Fix path resolution in compile.sh
Let's make compile.sh work from anywhere (not just from its
containing directory). Also fix problem with calling make-c-str.sh
without setting PATH.
2014-07-09 09:04:55 +09:00
Chris Michael d929151458 evas-engine-drm: Fix invalid variable check
We need to check if evas_outbuf_setup Failed and did not return a new
ob for us to work with...so this if check was invalid

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-08 14:43:29 -04:00
Chris Michael 8534fe1179 evas-engine-drm: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-08 14:43:21 -04:00
Chris Michael 69bac9d701 evas-engine-drm: Fix drm engine breakage from Frenchie
We need to have the drm fd & tty setup Prior to creating the output
buffer so that the output buffer knows what drm card to use

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-08 12:20:42 -04:00
Chris Michael ea8ffdf433 Revert "evas/drm: Make use of ecore_drm for opening DRM device"
This reverts commit 31ad73efa9.

Conflicts:
	src/modules/evas/engines/drm/evas_engine.c

Revert this commit as these functions are needed to run evas engine
standalone (expedite) on drm
2014-07-08 12:09:31 -04:00
Chris Michael e2ad7a18f9 Revert "evas/drm: Remove obsolete tty open function"
This reverts commit 1db13194a2.

Revert this commit as this is needed to run the evas engine in
standalone situations like expedite.
2014-07-08 12:09:23 -04:00
Cedric BAIL 5bf4ae22cb evas: fix bogus update rect, that's what I call black magic. 2014-07-08 14:27:08 +02:00
Cedric BAIL 1b14531146 evas: fix use of already freed data use. 2014-07-08 11:00:23 +02:00
Dmytro Dadyka 8e496570a7 evas: Evas_3D - add fog effect. add two API function for enable and disable fog effect for given mesh.
Reviewers: Hermet, raster, cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D936

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-07 19:26:48 +02:00
Cedric BAIL e85bcfafa4 evas: fix wayland_shm to report buffer state as expected by software generic backend. 2014-07-07 18:27:32 +02:00
ChunEon Park b3d11fae4c evas/gl - removed MASK ramains. 2014-07-07 17:08:22 +09:00
Gwanglim Lee e3192c374d evas: gl_x11 - add missing function pointer glsym_eglSwapBuffersWithDamage
Summary: added missing global function pointer to gl_x11

Test Plan: N/A

Reviewers: cedric, raster, devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1128

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-06 20:19:34 +02:00
Wonguk Jeong 1cc23d4ff2 evas: jpeg loader - support flip, transpose, transverse
Summary:
Previously, jpeg image loader support rotation (90°, 180°, 270°) only.
this patch is about supporting flip(vertical, horizontal), transpose, transverse

@feature

Test Plan: I'm going to make tests in src/tests

Reviewers: cedric, raster, jpeg

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D1126

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-06 20:12:31 +02:00
Chris Michael 0168b96040 evas-software-generic: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-06 12:36:46 -04:00
Cedric BAIL 235caec745 evas: remove multiple definition of glsym_eglSwapBuffersWithDamage. 2014-07-06 18:18:29 +02:00
Cedric BAIL 6d7df3cc90 evas: fix warning due to change in software generic backend. 2014-07-06 18:16:45 +02:00
Cedric BAIL f1590e06b0 evas: fix build break with GLES. 2014-07-06 18:16:10 +02:00
Cedric BAIL 87bcb1da23 evas: missing shared declaration. 2014-07-05 21:03:36 +02:00
Cedric BAIL 410a2a7953 evas: missed replacement. 2014-07-05 13:13:43 +02:00
Cedric BAIL 914b529e38 evas: make partial update extention compile for every one in gl_x11 backend. 2014-07-05 12:50:56 +02:00
Cedric BAIL 380115c025 evas: update Windows backend to use the software generic interface. 2014-07-04 16:07:52 +02:00
Cedric BAIL 14d22c5a08 evas: migrate GL_X11 to use more infrastructure of software_generic. 2014-07-04 15:11:22 +02:00
Cedric BAIL 289b3691b0 evas: add more infrastructure to software_generic backend to be ready for GL_X11 migration. 2014-07-04 15:11:22 +02:00
Cedric BAIL 4be4991315 evas: rename Evas_GL_X11_Window to Outbuf. 2014-07-04 15:11:22 +02:00
Cedric BAIL ab6dd99ed8 evas: add support for merging redraw area across multiple frame with different logic. 2014-07-04 15:11:22 +02:00
Cedric BAIL 35648c09be evas: remove unused include that can lead to problematic include on some platform. 2014-07-04 15:11:22 +02:00
Cedric BAIL c4aa53bef0 evas: make DDraw backend use more software generic. 2014-07-04 15:11:22 +02:00
Cedric BAIL 38117f9a25 evas: Make GDI backend use more software generic infrastructure. 2014-07-04 15:11:22 +02:00
Cedric BAIL 0fdf8fab3a evas: simplify Wayland_SHM backend to use software generic infrastructure. 2014-07-04 15:11:22 +02:00
Cedric BAIL e4a4304dc4 evas: simplify DRM backend to use Software generic infrastructure more. 2014-07-04 15:11:22 +02:00
ChunEon Park dad74f7455 evas/gl - removed redundant shader masking code. 2014-07-04 21:10:20 +09:00