Commit Graph

1282 Commits

Author SHA1 Message Date
Carsten Haitzler 3c5412f728 evas - generic loaders - fix possible string overflow on decoders
fixes CID 1039580
2014-09-01 19:40:46 +09:00
Carsten Haitzler 6ed29b4425 emotion - audio volume - leave as-is on file open/init
this fixes gst and gst1 modules to leave volume be on start. generic
can't really query easily, so just set to 0.8 by default, and xine is
already just fine. do this because back-ends seems to have a habit of
setting master volume, not per-app volume.

@fix
2014-09-01 17:09:09 +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
Chris Michael 8eb9ae418b ecore-evas-drm: Fix misplaced #ifdef from gl_drm patch
This #ifdef does not belong here. The interface_new functions Is Still
Used for normal drm ecore_evas.

Bad Gwanglim, no cookie ;)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 16:01:28 -04:00
Gwanglim Lee 00382bb6a6 gl-drm: Fix missing link to gbm for ecore_evas_drm and clean up build script
@fix

Summary:
This fixes following build script problems for ecore_evas_drm engine module.

1. Missing link to gbm for ecore_evas_drm if '--enable-gl-drm' option is given.
ecore_evas_drm engine is using gbm function if it builds with that config option.
To be more exact, ecore_evas_gl_drm_new_internal function needs gbm.
Thus we need to add gbm library linking '-lgbm' to ecore_evas_drm engine module
if '--enable-gl-drm' option is given. I've added this build script to
m4/ecore_check_module.m4 file.

2. Wrong gbm dependency check code in configure.ac
EFL_OPTIONAL_INTERNAL_DEPEND_PKG m4 macro function is designed for checking
dependency of efl internal libraries. Thus we should remove gbm pkg name when
configuring ecore_evas_drm engine module. It would be better to move dependency
check for gbm to m4/ecore_check_module.m4 file. And one more thing want_drm
value has to be changed to want_gl_drm in ECORE_EVAS_MODULE([gl-drm]...).

3. BUILD_ECORE_EVAS_OPENGL_DRM macro is always defined in configure.ac.
This kind of macro, BUILD_EFL_MODULE_NAME, has to be defined only if given module
is enabled. But this macro value was just defined with no test.
And it is even useless, we can use BUILD_ECORE_EVAS_GL_DRM macro which is defined
by ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],...) function.
So I've removed that from configure.ac.

Test Plan:
1. Configure with --enable-gl-drm:
  $ ./autogen.sh --enable-drm --enable-gl-drm
2. Build:
  $ make && make install
3. Check module.so of ecore_evas_drm engine whether it has a library dependency with gbm:
  $ readelf -a $EFL_GIT/src/modules/ecore_evas/engines/drm/.libs/module.so | grep NEEDED

Reviewers: raster, stefan_schmidt, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1379
2014-08-28 13:37:28 -04: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
Gwanglim Lee a9a7ed6c52 ecore_evas: Ecore_Evas_X - Fix broken rendering during rotation with resize
Summary:
When ee is trying to do rotation, ee should check whether given rotation value
is portrait or not. Then it sets output size of evas canvas according to rotation value.
But, ECORE_EVAS_PORTRAIT macro used in ee x engine only checks ee's rotation value, even
if ee's rotation value is not updated yet. Thus we should change the logic to compare with
given rotation value, not ee's rotation, before setting output size of evas.

This fixes T1371 problem.
@fix

Test Plan:
1. run elementary_test -to "window states"
2. check resize
3. rotation 0 ~ 270

Reviewers: jpeg, raster, cedric, zmike, devilhorns, Hermet

Reviewed By: Hermet

Subscribers: cedric

Maniphest Tasks: T1371

Differential Revision: https://phab.enlightenment.org/D1351
2014-08-27 19:35:27 +09:00
Carsten Haitzler 61b5a4e40b ethumb emotion module - fix possible division by 0 2014-08-27 17:10:02 +09:00
Carsten Haitzler 8b654961f5 ecore-evas-extn - check engine info set return and complain
fix CID 1039682
2014-08-27 14:32:03 +09: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
Carsten Haitzler 52b5250713 emotion gst1 - stop complaining about null uri 2014-08-23 19:20:16 +09:00
Carsten Haitzler 12d42e85a4 emotion - gst1 backend - add subtitle file support
this enables subtitle file support in the emotion gstreamer1 backend.
this matches the vlc generic one. xine still doesn't.
2014-08-23 18:26:29 +09:00
Chris Michael 4aeee0de4c ecore-evas-wayland: Fix ecore_evas async rendering with wayland engines
Recent expedite changes have uncovered an issue where the ecore_evas
(under wayland) was not supporting async rendering correctly. This
fixes the issue so we can run expedite with -y and get redraws again.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-22 13:32:38 -04: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
Cedric BAIL 5747c6fcea ecore_evas: Ecore_Evas_X - make sure that ecore evas post render is always called.
This fix a case where when doing asynchronous rendering and no update was done,
the post render evas event would never be triggered and so no call to ecore evas
post render callback were made. Now the async X backend follow all other backend
behavior.

@fix
2014-08-21 12:33:37 +02: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