Commit Graph

2787 Commits

Author SHA1 Message Date
Derek Foreman 06c05f853a evas_shm: Fix dmabuf failure
This keeps us from accidentally going through the fallback path twice and
crashing.  It also clears up some refcounting problems that would have led
to leaked memory in the crash case.

fix T5037
2017-01-03 14:20:18 -06:00
Carsten Haitzler b1aa6360e0 evas generic loader - expand buffers in case of weird install location
so we had just 128 bytes for path to generic loader utility. in most
cases this is plenty but if you have bizarre symlinks and long paths
we may run out of space, so move up to 4k buffers as this is
realistically the max path len anyway on a system.

@fix
2017-01-02 18:53:56 +09:00
Carsten Haitzler 9e01cf2698 evas image async preload - add option to also make header load async
to date if you use async preload we still load the header
synchronously and this can be horrible especially with generic
loaders. there is no way to farm this off to the preload thread. now
there is. youhave to set it as a skip head load option before doing a
file_set AND you need to issue a preload ... but now it's possible.

@feature
2017-01-02 18:53:56 +09:00
Carsten Haitzler b0530aba4f evas cutouts - quickly avoid huge per issues with large nos of cutouts
i found evas_common_draw_context_apply_cutouts() was procsessing 300+
cutouts and as it's O(n^2)/2 to try and merge adjacent rects for
cutouts this really performs like complete junk. we apply cutout rects
a LOT. this is not the best solution, but it's quick and much faster
than doing the clipouts which drop framerate to like 1-2fps or so in the
nasty case i say (tyls -m of photos in a dir with a 2160 high
terminal).

this figures out the target area to limit the count of rects
significantly so O(n^2) is far far better when n is now < 10 most of
the time. and for the few operations where it's a high value this now
uses qsort to speed up merges etc. etc.

@optimize
2017-01-02 18:53:56 +09:00
Minkyoung Kim 40e9da0101 Evas GL:Bind texture to correct one.
Summary:
If user bind textureA and want to use it continuously, do not call glBindTexture(textureA) again.
But expect that textureA will be binding.
So EvasGL sould not change binded texture silently.
Restore texture to previous bound one after allocating new texture.
And when destroy texture, reset texture to 0 if it is current bound texture.

Test Plan: Tizen 3.0

Reviewers: wonsik, dkdk, cedric, jpeg

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D4524
2017-01-02 15:29:49 +09:00
Daniel Kolesa 6d9d15d35c elm: use new property implement syntax everywhere 2016-12-27 19:16:02 +01:00
Daniel Kolesa 18a0183c37 evas: use new property impl syntax 2016-12-27 16:37:41 +01:00
Jean-Philippe Andre 2f1d666a06 evas: PNG save of ARGY88 needs unpremul
PNG saves unpremultiplied values, so we need to do that
for the newly supported ARGY88 colorspace as well. Fixes
the previous commit.
2016-12-22 19:23:01 +09:00
Jean-Philippe Andre 3425ad2abd evas: Implement GRY8/AGRY88 save support for PNG
This enables the PNG saver to save images with gray and
alpha + gray colorspaces. GRY8 is usually used for alpha only.

Note: This commit also introduces whitespace changes. Sorry
about the mess, but at least now we have spaces only. Read the
commit with show -w :)

@feature
2016-12-22 17:43:23 +09:00
Carsten Haitzler 92b2c86ed8 evas gl engine - fix loading of pager backgrounds in e again...
fixes recent commitby jpeg
2016-12-21 17:58:38 +09:00
Jean-Philippe Andre 1d4affadd1 evas: Try to fix compilation with EGLAttrib 2016-12-21 13:56:14 +09:00
Jean-Philippe Andre 2e89702d57 evas: Fix image save with GL engine and orientation
This fixes evas_object_image_save after changing the orientation
of an image in the GL engine. In SW engine the pixel data is rotated
in memory, so things worked fine from the beginning. In GL we may
have to go through loops and hoops in order to rotate and fetch the
data from the GL texture.

This should fix ce45d44.
2016-12-21 13:56:05 +09:00
Guilherme Iscaro 044219226c Ecore Evas: Add support for multiple mouse positions.
Since it's possible to have more than one mouse, Ecore Evas
must take into account the position of all mouses and update them
correctly.
2016-12-20 18:34:39 -02:00
Guilherme Iscaro e5acc5604a Ecore Evas: Add support to set cursor icon per mouse device.
Since Ecore Evas now supports multiple mouses new APIs were added
in order to be able to set the cursor image to any device.
2016-12-20 18:34:39 -02:00
Guilherme Iscaro 2e527851cf Ecore Evas VNC: Add support for ecore_evas_pointer_device_xy_get().
This commit adds the support to fetch the mouse position of a VNC
client.
2016-12-20 18:34:39 -02:00
Guilherme Iscaro 133b4fa65b Ecore Wl2: Add ecore_wl2_window_pointer_device_xy_get() API.
This commit adds a Wayland specific function to fetch a mouse
position.
2016-12-20 18:34:39 -02:00
Guilherme Iscaro 64986bccac Ecore Evas: Add API to set/get the pointer position per device.
Since Ecore Evas now support multiple mouse devices new APIs were
added in order to fetch the mouse position.
2016-12-20 18:34:39 -02:00
Derek Foreman fd5a0f6ff9 headers: update copyright 2016-12-20 10:31:26 -06:00
Derek Foreman acb0ee2a9d evas engines: Use EGLImageKHR instead of EGLImage
If someone's trying to build efl git with 2.5 year old EGL headers they get
a break on missing EGLImage...

We should probably consider keeping an up to date copy of the EGL headers
in efl.  There may be someone out there with even older headers.
2016-12-20 10:16:40 -06:00
Chris Michael 2faf3df444 emotion: remove float comparison warnings
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-20 11:13:40 -05:00
Chris Michael 2bc53c9013 ecore-evas-x: remove float comparison warning from X backend
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-20 08:54:01 -05:00
Chris Michael fa05393d02 ecore-evas-wayland: remove float comparison warning from wayland backend
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-20 08:53:16 -05:00
Jean-Philippe Andre 85b5064b67 evas/ply: Add filename in error logs
As suggested by @k-s

I'm pretty sure that this parser will easily fail. Eg. find uchar
properties but it's not r,g,b in this exact order? No color for you.
Find no uchar at all? Fail immediately even if we can handle a
no color situation just fine.
2016-12-20 09:58:43 +09:00
Cedric BAIL ae51b841d9 ecore_evas: remove float comparison warning from DRM backend. 2016-12-19 16:33:46 -08:00
Derek Foreman 00f8cc4566 wayland_egl: Use common implementation of eglCreateImage
This might fix nested compositors on some architectures...
2016-12-19 16:20:00 -06:00
Derek Foreman fba3927a7d wayland_egl: Remove some weirdness from our egl extension queries
Still totally wrong, of course, but at least a little less wacky.
2016-12-19 16:13:48 -06:00
Derek Foreman ac4c8dbbab gl_x11: Use common implementation of eglCreateImage
Throw away the local copy and use the one in gl_common.
2016-12-19 15:52:58 -06:00
Derek Foreman 2e6f93ccda gl_drm: Use common eglCreateImage implementation
Refactor to reduce copy and paste.
2016-12-19 15:52:58 -06:00
Derek Foreman 74a456253a gl_common: Make secsym_eglCreateImage a wrapper
eglCreateImage and eglCreateImageKHR are subtly different.  Now we try to
handle them both properly by exposing an abstraction.
2016-12-19 15:52:58 -06:00
Derek Foreman 93899429ef gl_common: fix eglCreateImageKHR query
There are surprisingly few GL extensions that start with GL_EGL...

This is apparently more widely deployed than OES, so let's bump its
priority too.
2016-12-19 15:52:53 -06:00
Jean-Philippe Andre 72f98a0649 evas/ply: Fix some memleaks
I have a strong feeling that this parser is not very robust...

Closes T5001
2016-12-19 12:06:24 +09:00
Derek Foreman c11b66434f evas engines: Stop using arrays of 1 member for egl context and surface
There's actually an array of 2 in gl_x11, but it appears we only use the
first 1, except in an #if 0 block.

I gather this is legacy for some reason - it sure doesn't seem to make
any sense now, so I'm chopping off all the extra array indexes.

Note: I've not changed gl_sdl - it looks like it doesn't use the context
or surface at all and they could just be removed, but I don't build that
one here and don't want to touch it.
2016-12-16 09:48:15 -06:00
Jean-Philippe Andre 581505791a evas: Remove context from some engine function
This is for canvas_alpha_get. context is never used.
2016-12-16 10:40:55 +09:00
Jean-Philippe Andre 260d838d22 evas: Remove context from polygon internal functions
It's not used
2016-12-16 10:37:54 +09:00
Cedric BAIL 57b5a237f2 evas: silence warning of clobbered variable in the png saver. 2016-12-15 11:31:31 -08:00
Guilherme Iscaro c1518043e3 Ecore Evas VNC: Properly shutdown server during cleanup.
Summary:
The function rfbScreenCleanup() does not close the open sockets,
a call to rfbShutdownServer() must be done to properly close them.

Reviewers: cedric, bdilly

Reviewed By: bdilly

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4459
2016-12-13 14:51:19 -02:00
Awadhesh Singh f5a2602189 evas: fix memory leak in software generic in error case.
Summary:
pixels_tmp  memory need to be free in default case too.

Signed-off-by: Awadhesh Singh <awadhesh1.s@samsung.com>

Reviewers: singh.amitesh, raster, cedric

Reviewed By: cedric

Subscribers: atulfokk, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-12-12 16:35:49 -08:00
Jean-Philippe Andre 68e6e46015 evas: Fix compilation after @cedric's "fix"
Don't forget git add!
2016-12-09 10:57:12 +09:00
Cedric Bail 7316bda150 evas: refactor swap mode info get. 2016-12-08 15:06:25 -08:00
Jean Guyomarc'h 42a722be23 evas-gl_cocoa: fix complete b0rkage of the engine
73b308fb66 slaughtered the gl_cocoa
engine. It's now back to life, lighter and shinier.
2016-12-08 20:53:27 +01:00
Chris Michael 0397769a65 evas-wayland-egl: Remove unused field from Outbuf structure
This patch just removes the 'evas' field from the Outbuf structure.
This should have actually gone in on the previous patch but I missed
removing it :(

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-08 09:32:33 -05:00
Chris Michael 269089c1be evas-wayland-shm: Remove unused varibles
These variables are unused (as reported by gcc), and 'ob' is not
really needed in eng_update so remove that also.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-08 09:23:36 -05:00
Chris Michael 5a0c03ded1 evas-wayland-egl: Cleanup wayland_egl engine and fix build break
A previous patch to refactor setup stage and reduce complexity
actually introduced several build breaks. This patch fixes the build
break for wayland-egl.

ref 73b308fb66

BAD CEDRIC !!!!!

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-08 09:11:28 -05:00
Chris Michael a85605553b evas-gl-drm: Cleanup evas-gl-drm engine build and fix build break
A previous patch from some french guy broke building of the gl_drm
engine. This patch fixes the build break and cleans up unused
variables, etc.

ref 73b308fb66

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-08 09:02:43 -05:00
Chris Michael 4a5db373d1 evas-drm: Remove unused variables and fix build break
Seems Cedric's patch for refactoring setup stage broke building for
the evas drm engine. This patches fixes the issue.

ref 73b308fb66

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-08 08:43:43 -05:00
Derek Foreman add19c8a77 gl_drm: Check for the correct dma_buf extension
We're importing, not exporting
2016-12-08 07:36:26 -06:00
Andrii Kroitor 0c9182b970 evas: fix software_gdi engine compilation 2016-12-08 14:13:01 +02:00
Carsten Haitzler fb3fca50c1 evas fb engine - fix build break cedric added... 2016-12-08 10:19:23 +09:00
Cedric BAIL 386e06c73c evas: do not rely on Evas canvas no longer passed during setup. 2016-12-07 15:47:56 -08:00
Cedric BAIL 73b308fb66 evas: refactor setup stage and reduce complexity for engine. 2016-12-07 15:47:56 -08:00