Commit Graph

3416 Commits

Author SHA1 Message Date
Vitalii Vorobiov 7d9c1256a3 vg_savers/svg: empty (for now) module that will save svg in original file
Just as a starter to make a working background that, later on, will go
through Svg_Node's and build a certain source code to be saved in SVG
picture as a file
2017-11-07 11:54:09 +09:00
Jean-Philippe Andre a75b3dcdfb elm: Try to fix compilation (link) for OSX 2017-11-07 10:43:07 +09:00
Chris Michael 01920b996a emotion: Fix data race condition
Coverity reports that we access vfmapped here without holding a lock.
This patch implements eina_lock_take/release while accessing
priv->vfmapped.

Fixes Coverity CID1381624

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 10:07:48 -05:00
Chris Michael fd79e32dbd evas-wayland-shm: Do not dereference a potentially freed pointer
Coverity reports that _evas_dmabuf_buffer_init function here can
potentially free the surface that was passed into it. If that happens,
we should not be calling the _fallback function with surface as the
parameter as that will directly dereference the freed pointer.

Fixes Coverity CID1381707

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 10:02:35 -05:00
Chris Michael de1e18ef7d evas-gl-cocoa: Remove need for useless region_free function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:28:53 -05:00
Chris Michael 3ae469e648 evas-gl-drm: Remove need for useless region_free function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:27:39 -05:00
Chris Michael 85a9716c8f evas-gl-sdl: Remove need for useless free_region function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:26:13 -05:00
Chris Michael c8e5614830 evas-gl-x11: Remove need for useless free_region function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:25:19 -05:00
Chris Michael e04ad61ab4 evas-wayland-egl: Remove need for useless free_region function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:23:13 -05:00
Chris Michael 39184e78af evas-wayland-shm: Remove need for useless free_region function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:21:59 -05:00
Chris Michael 31a7963196 evas-software-x11: Remove need for useless free_region function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:19:20 -05:00
Chris Michael 5edae8b9c1 evas-software-gdi: Remove need for useless free_region function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:17:02 -05:00
Chris Michael f32c1ece7e evas-software-ddraw: Remove need for useless free_region function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:15:54 -05:00
Chris Michael 9f5555a887 evas-eglfs: Remove need for useless free_region function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:14:14 -05:00
Chris Michael 5f897542aa evas-drm: Remove need for useless free_region function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:13:12 -05:00
Chris Michael 6016ce8133 evas-software-generic: Check for render engine function before calling
In most engines which inherit from software_generic, they do not
implement the outbuf_free_region_for_update function. Most engines
have it as an unused function. If we simply add a check here, then we
can reduce the need for having useless function in multiple engines.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-06 09:10:28 -05:00
Chris Michael 0a25543ed5 evas-wayland-shm: Fix formatting
Make this line readable in 80 columns

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-01 12:39:09 -04:00
Chris Michael 945764eb7c evas-drm: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-01 12:38:44 -04:00
Jean-Philippe Andre 824792f09d elm: Major cleanup of EO files
This prevents legacy EO classes from being exposed through .eo.h headers
or .eo in share/eolian/includes. Also removes a slew of useless xxx_eo.h
intermediate headers.

Notes:
 - elm_systray has no proper API: it's not clear if the EO API should be
   released (in which case it needs to be renamed to efl_something) and
   there is no legacy API to create a systray object.
 - Some files have been placed in a "FIXME" section, as I believe they
   are necessary within EO land, but at the same time still don't
   conform to the interfaces (eg. name starts with elm_).
 - elm_interface_scrollable is required by photocam. This means photocam
   needs to be adapted to fit the EO scroller API (still to be
   completed, I believe).

Bugs:
 - This breaks most C++ examples. I KNOW. And I'm working on it.

Ref T5301
2017-11-01 21:23:31 +09:00
Jean-Philippe Andre 9cec14918c evas: Move evas_canvas.eo to legacy-only
This isn't meant to be installed. The canvas API in EO is based around
the interfaces Efl.Canvas and the widget Efl.Ui.Win. Anything else is
not EO (eg: ecore_evas, evas, ...)

Note: evas_canvas3d is the last remaining thing that is installed along
EO files, but those are all beta APIs.
2017-11-01 11:22:33 +09:00
Derek Foreman 059613222a ecore_evas_wayland: Fix session recovery
Turns out when apps reconnect to the compositor they don't always
realize they need to redraw themselves.  Force a manual render
at startup if we end up in a state where an update is needed but
has probably been dropped on the floor.
2017-10-30 14:23:07 -05:00
Subhransu Mohanty bf79ec359d vg_savers/eet: Added implementaion of vg saver to eet file 2017-10-27 14:58:38 +09:00
Subhransu Mohanty 24ac2d6516 vg_loaders/svg: Copied svg loading implementation from edje_cc 2017-10-27 14:58:38 +09:00
Subhransu Mohanty 079838e926 vg_loaders/eet: Added implementaion for loading from eet file 2017-10-27 14:58:38 +09:00
Cedric BAIL abd41c93ea evas: image_native_set actually receive a context, not an output. 2017-10-26 13:01:56 -07:00
Mike Blumenkrantz f375661e0b wayland: use eina array for ecore-evas event handlers
thx to @jpeg for reporting how dumb this was
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz ffac7fc539 wayland: fix window stack implementation
ref T5350
2017-10-25 10:44:16 -04:00
WooHyun Jung c1094da0f4 efl_ui_clock: changed property name from value to time 2017-10-25 16:44:25 +09:00
Jean-Philippe Andre 1b481f0ae8 widget: Rename events to EFL_UI_WIDGET_EVENT_XXX
This only affects the events (and the data type has an alias).

Ref T5363
2017-10-24 14:37:45 +09:00
Jean-Philippe Andre 98622623a0 evas: Prevent crash with image_data_get
If the image has no data, it may get an allocated surface of 1x1 but it
is not sane to return the pointer to that data, as the user would expect
a normally sized image (in my case, 1920x1080).

I do not fully understand what is going on with this image. But at least
this transforms a crash into a simple ERR in ~/.xessions-errors

Two similar crashes happened:
 - SIGSEGV by writing data outside of the image data
 - abort() in free() because the malloc metadata has been overridden
   when writing outside of the image data (newly allocated 1x1).

Fixes T5957

@fix
2017-10-18 22:12:57 +09:00
Derek Foreman 3dd90f61a9 ee_wayland: Don't use wrong window size
Borderless windows, such as internal windows, need to be the exact size
they're passed by a configure event.
2017-10-16 16:17:29 -05:00
Carsten Haitzler 6cd3d4026c jp2k module - dont print ERR on llading if format wrong
this is normal - brute force trying loaders until one succeeds is
normal is etn doesnt help identify it or it fails the first
guess-by-extension. printing errors is not good as this is an ok and
EXPECTED error. slience!

@fix
2017-10-16 08:42:13 +09:00
Cedric Bail 7e00ab4222 evas: mark parameter unused now that it is not necessary anymore. 2017-10-13 12:58:01 -07:00
Prince Kumar Dubey df5f404f09 evas: to avoid warning unused variable and unnecessary assignment is removed.
Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:14:26 -07:00
Prince Kumar Dubey 41197981ab efl: unsigned int/long never be less than zero. Fixed.
Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:07:28 -07:00
Prince Kumar Dubey cb4a17ab22 ecore_evas: preprocessor flag "BUILD_ECORE_EVAS_SOFTWARE_GDI" is not closed properly, if not defined, leads to build break.
Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:05:43 -07:00
Derek Foreman 10b6383640 ecore_wl2: Synchronize state with surface commits
This is really several inseparable commits mashed together, as doing this
a piece at a time would introduce broken intermediate revisions.

Double buffer incoming "configure" state from the compositor so it's held
back during asynchronous render and processed at frame completion.

Hold off on certain requests if their API has been invoked during async
render.

This should fix a lot of races, cosmetic issues, issues where weston can
kill our clients for acking configure (or not) at bad times, etc.
2017-10-12 12:24:03 -05:00
Derek Foreman 159a5beb27 wayland_dmabuf: Clean up unused variable
Pending is useless now that we use immediate buffer creation.
2017-10-12 12:24:03 -05:00
Derek Foreman b93319b10e wayland_dmabuf: Use create_immed
We've really always needed to do immediate creates.  On a surface resize
there's no place to wait for the round trip for the new buffers to exist.

We've gotten away with this until now by good luck because we dispatch
wayland events during asynchronous render.  However, with async render off
or if schedule happens in an unfortunate order, we can end up with
tearing.
2017-10-12 12:24:03 -05:00
Derek Foreman 64b36c6767 ecore_evas_wayland: Use ecore_wl2_false_commit to trigger frame callbacks
This will allow us to receive a tick without changing any other state.
2017-10-12 12:24:03 -05:00
Derek Foreman 0a185d3efd ecore_wl2: Add new API to latch window state for updates
Add an API to call at the beginning of render to latch state at
that moment, and use it for the wayland engine.
2017-10-12 12:24:03 -05:00
Derek Foreman 0badc0522b ecore_wl2: Split configurations into client set and compositor requested
This should lead to clearer and more maintainable code than having one
pile of state that's asynchronously fiddled with by both client and
compositor.
2017-10-12 12:24:03 -05:00
Derek Foreman 10b3a41ab0 ecore_wl2: Move some state into its own struct
These need to be double buffered, and that will be done in a follow up
patch.
2017-10-12 12:24:03 -05:00
Derek Foreman a3ac6043ab ecore_wayland: Use ecore_wl2_window_resizing_get() to get resizing
Use the getter instead of directly accessing the structs.
2017-10-12 12:24:03 -05:00
Derek Foreman 7f27237171 wayland_shm: Make some function static
Only used in this file.
2017-10-12 12:24:03 -05:00
Derek Foreman 46146caa43 wayland_shm: Kill stale comment
This comment doesn't make sense now, as all the frame callback stuff
is in ecore_wl2.
2017-10-12 12:24:03 -05:00
Derek Foreman 9bcc24dbb8 wayland_dmabuf: make dlsym queried symbols static
We only need these in this file.
2017-10-12 12:24:03 -05:00
Derek Foreman e207e05067 wayland_shm: Remove hidden from the outbuf
Outbuf shouldn't have to track its hidden status, that should be ecore_evas
problem.  Until now we were doing this because our kludgey wayland
ticking made things difficult, but I think it's safe to remove now.
2017-10-12 12:24:03 -05:00
Derek Foreman 656d892581 wayland_shm: Remove hidden from surface posting calls
Now that we tick based on frame callbacks it should be impossible to post
an update while hidden.
2017-10-12 12:24:03 -05:00
Derek Foreman c72b0b44ad wayland_shm: stop storing wl_display in dmabuf_surface
Query it through the engine info's ecore_wl2_display instead.
2017-10-12 12:24:03 -05:00
Derek Foreman ceb90779ff evas_shm: Remove wl_dmabuf and wl_shm from engine info
All queries for these are now on the ecore_wl2_display
2017-10-12 12:24:03 -05:00
Derek Foreman 4a23e69bcc wayland_shm: Remove surface_set function
Now that we use the display's shm and dmabuf pointers we don't need to
update them.
2017-10-12 12:24:03 -05:00
Derek Foreman 2b9a22e3a9 wayland_dmabuf: Query zwp_linux_dmabuf_v1 from display
Get it from the display instead of using our stored copy.
2017-10-12 12:24:03 -05:00
Derek Foreman f421521bed evas_shm: query wl_shm from ecore_wl2_display
Stop using the internally stored copy, always query from active display.

This fixes session recovery.
2017-10-12 12:24:03 -05:00
Derek Foreman 3f576e8436 wayland_shm: Add Outbuf to Surface struct
We're going to need that soon.
2017-10-12 12:24:03 -05:00
Derek Foreman 5fa7263440 wayland_shm: Pass Surface instead of Shm_Surface
Surface has some variables we'll need later.
2017-10-12 12:24:03 -05:00
Derek Foreman 7faa20f3c8 wayland_shm: Handle dirty bit outside of the backends
We don't have to query that deeply to know whether we need to redraw the
buffer or not, we can make that decision in more generic code.
2017-10-12 12:24:03 -05:00
Derek Foreman 2a15d7b730 wayland_shm: Store the ecore_wl2_display in the Outbuf
We'll need it soon.
2017-10-12 12:24:03 -05:00
Chris Michael 5a93b22d50 ecore-evas-drm: Reduce code duplication
Minor code cleanup to reduce duplicated function calls.

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-11 13:07:09 -04:00
Chris Michael 6701bd162d emotion: Properly unmap video frame
Calls to gst_video_frame_unmap should take a GstVideoFrame as a
parameter (not a buffer). I believe this was the intended function
here (to unmap the video frame), so fix the call to not pass a
GstBuffer.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-11 09:21:48 -04:00
Carsten Haitzler 0d7b967f45 emotion gst1 - handle null imagwe data returrn and dont crash
fix crash i spotted thanks to getting img obbj data returning null.
@fix
2017-10-07 18:25:19 +09:00
Cedric BAIL fc7e244e99 evas: remove unused fonction evas_gl_common_image_load. 2017-10-05 09:36:45 -07:00
Chris Michael 7b7161ea13 evas-gl-image: Fix dereference after null check
Coverity reports passing a null pointer 'im->gc' to
evas_gl_common_context_flush which directly dereferences it, so lets
be sure that 'im->gc' is valid before passing it to context_flush

Fixes CID1374273

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-05 09:54:03 -04:00
Chris Michael cec6793db4 evas-gl-common: Fix dereference after null check
Coverity reports that there may be a null pointer dereference here so
check that 'error' exists before trying to set it.

Fixes CID1374272

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-05 09:51:00 -04:00
Cedric Bail 867d826395 evas: remove image_load from the engine. 2017-10-04 21:48:26 -07:00
Chris Michael 5e36b1c7c1 ecore-evas-drm: Implement support for hardware output rotations
This patch adds support for doing output rotations via hardware. This
is implemented inside the Ecore_Evas engine so that it is transparent
to the caller of ecore_evas_rotation_set.

ref T5999

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-04 11:41:59 -04:00
Carsten Haitzler 246d8dbda5 evas ector gl - fix leak of image data on data put
@fix

fix coverity found leak CID 1374645
2017-09-29 12:26:57 +09:00
Carsten Haitzler 9f91d0d284 evas ector gl - make coverity happy about leaks on data put
fix CID 1374646
2017-09-29 12:26:57 +09:00
Carsten Haitzler 92e8935fa6 ecore evas - wayland - avoid divide by 0 if height is 0
fixes CID 1379247
2017-09-28 15:28:00 +09:00
Youngbok Shin 1750410650 evas: Add scale feature for embedded bitmap fonts.
Summary:
When evas selects a strike of embedded bitmap font,
calculate ratio and use it for scaling embedded bitmap.
@feature

Reviewers: jpeg, tasn, woohyun, raster, herdsman

Reviewed By: raster

Subscribers: charlesmilette, Francesco149, cedric

Differential Revision: https://phab.enlightenment.org/D2713
2017-09-26 11:31:31 +09:00
Vincent Torri 0cdd501246 EFL For WIN32: Replace HAVE_EVIL define with _WIN32 2017-09-22 05:06:10 -05:00
Chris Michael b1d831c552 evas-drm: Fix uninitialized variables
Small patch to fix Coverity reported issues of uninitialized variables

Fixes CID1381306, CID1381305, CID1381304, CID1381303

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-09-20 06:26:05 -04:00
Chris Michael 9efac538cc ecore-evas-drm: Implement actual evas engine rotations in drm
This patch implements handling of evas output rotation for the
ecore_evas drm engine.

ref T5999

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-09-19 13:10:33 -04:00
Chris Michael 7198fe568b evas-drm: Support rotations other than 0
This patch adds support for software rotation in the evas drm engine.
This is a fallback codepath in case hardware rotation is not supported
for a given rotation amount. This patch also fixes a leak of and
pending updates during output buffer free.

ref T5999

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-09-19 13:10:33 -04:00
Chris Michael 8a516c4d4f evas-drm: Override eng_output_resize function
This patch provides an override in the evas drm engine for the output
resize function. We override this function so that we can reconfigure
the output buffer.

ref T5999

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-09-19 13:10:27 -04:00
Chris Michael 7bbafe034b ecore-evas-drm: Formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-09-19 09:04:34 -04:00
Jean Guyomarc'h 96ab58fb8e eina: prevent memory corruption in chained mempool
The chained mempool uses eina trash to dispose and retrieve memory
blobs. Problem is that eina trash requires the memory blobs to be at
least of the size of a pointer. If the size of an element in the mempool
is less than the size of a pointer, which _is_ possible as no minimal
size is enforced, eina_trash will silently corrupt the memory pool.

To prevent memory corruption while still allowing small elements, the
size of an element defaults to the size of a pointer if it was smaller.
This comes at the cost of consuming slightly more memory in these cases,
but at least the memory pool can be safely be used.

@fix
2017-09-16 14:28:39 +02:00
Amitesh Singh 3984148b8e efl.ui.clock: correct value_set/get & value_min/max APIs signature.
We could just pass Efl_Time value as copy by value to set time in setter APIs
and return Efl_Time value in getter APIs.

Thanks to @JackDanielZ for the report.

Fixes T6008
2017-09-13 20:38:52 +09:00
Jean-Philippe Andre 4b10cf2e40 filters: Fix GL support aka. cedric's bork 2017-09-06 09:12:28 +09:00
Cedric Bail 743c80ad8b eina: properly mark memory for valgrind before accessing it in one_big mempool. 2017-09-05 17:01:03 -07:00
Amitesh Singh 373e6a0918 eina: fix compilation after b0rking in c9a0237770
Ref T5966
2017-09-05 16:22:33 +09:00
Cedric Bail c9a0237770 eina: properly track valgrind use of the mempool.
T5966
2017-09-04 03:12:57 -07:00
Carsten Haitzler d42ec53154 wayland_shm - clean out ptrs after free - seeing invalid mem/ptr access
enlightenment internal windows insta segv e on rpi. after much hunting
it seems a fallback is happening and bunk ptrs are being used. this at
least will make the problems more reliable with null ptrs.
2017-09-02 21:53:23 +09:00
Derek Foreman 6e30535a3c wayland_shm: Try a little harder to verify exynos dmabuf capabilities
Turns out the "device_open" function pretty much just tests calloc
functionality, and doesn't open any device.  So let's allocate a
tiny bo and discard it to make sure we're actually on exynos.
2017-09-01 14:50:40 -05:00
Mykyta Biliavskyi 8c4e4811fd Software gdi: fix build on Windows.
Summary:
Function argument was renamed, but in function body still uses old
variable name.

Test Plan: Build on Windows host

Reviewers: cedric, vtorri

Reviewed By: vtorri

Subscribers: jpeg

Tags: #windows, #efl

Differential Revision: https://phab.enlightenment.org/D5152
2017-09-01 13:50:34 +03:00
Derek Foreman f886a76dae wayland: Force a display flush when committing surfaces
We had a hack in place to flush the display from an idle enterer instead
of after a surface commit.  This led to a problem where the idle
enterer dispatch order was:

renderer for main canvas
wayland dispatch idle enterer
renderer for mouse cursor canvas

The surface commit for the mouse cursor was never dispatched, so the mouse
cursor animation would only update at the rate other events occurred.

By flushing at the appropriate times instead we ensure a proper update.

ref T5850
2017-08-30 14:11:47 -05:00
Derek Foreman 388f8c41c8 wayland: Store Ecore_Wl2_Display instead of wl_display in engines
We'll need to call ecore_wl2 functions on it soon, and anything that
really needs the wl_display can query it.
2017-08-30 14:11:47 -05:00
Derek Foreman f2756f92e8 walyand_shm: Remove unused variable
Nothing in here actually cares about the wl_display anymore.
2017-08-30 14:11:47 -05:00
Reynaldo H. Verdejo Pinochet 2cf1fd3be9 emotion: gst: use proper GStreamer time-unit macros
Summary:
Do not harcode numbers that make no immediate sense.

Additionally: add some wont-hurt doc note and fix
two related typos.

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-29 17:08:05 -07:00
Reynaldo H. Verdejo Pinochet 835fd7a485 emotion: gst: drop Frenglish from English messages
Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-29 17:03:11 -07:00
Jean-Philippe Andre fc0d2cb6a7 access: Fix crash in ecore
We use a temporary file for espeak (the accessibility text-to-speech
engine we use), and then we remove and close the file. But the fd was
not reset to -1 which meant that later on the previous fd was closed
again (this is kinda weird), but that fd was now invalid. Or rather it
was reused by ecore animator, closing the read-end of the pipe
(timer_fd_read). This caused SIGPIPE in the animator code.

Thanks strace and gdb for helping me figure out this. :)

@fix
2017-08-29 13:33:49 +09:00
Cedric Bail 5e935a8ca9 evas: handle new API use correctly for gl_drm backend. 2017-08-28 11:32:13 -07:00
Cedric Bail 2ac0a755e1 evas: fixup warning. 2017-08-28 11:13:40 -07:00
Cedric BAIL 6d1d47d50d evas: fix build with egl. 2017-08-25 15:55:26 -07:00
Cedric BAIL 7453980ccf evas gl: fix glview by avoiding make current
gl_generic_context_find() returns the gl shared context struct but
this is not just a read-only operation. It in turn calls window_use
which may call make_current. This can invalidate the work of evas gl
when the API tried to switch to a specific context.

This fixes evas gl with multiple outputs.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-25 10:54:55 -07:00
Cedric BAIL 545c1a70f4 evas: make Evas_GL work with multi output. 2017-08-25 10:54:19 -07:00
Cedric BAIL 84c6d3332e evas: remove unused engine data from error set/get code. 2017-08-25 10:52:26 -07:00
Cedric BAIL e682f64193 evas: make vector graphic support multi output. 2017-08-25 10:52:14 -07:00
Cedric BAIL a0c58276c3 evas: do not use default output or any other during render pre. 2017-08-25 10:52:10 -07:00
Cedric BAIL 68b846c1f4 evas: remove unecessary use of output in filter code. 2017-08-25 10:52:07 -07:00
Cedric BAIL cc4d41c890 evas: make image_native_set use engine context not output. 2017-08-25 10:52:03 -07:00
Cedric BAIL 39d4e343b0 evas: make all window GLES3 or none. 2017-08-25 10:51:59 -07:00
Cedric BAIL 89c34cda21 evas: make function to find evas gl context from engine shared across backend. 2017-08-25 10:51:56 -07:00
Cedric BAIL f3f6a7e535 evas: make Evas_GL start to use engine and output separately. 2017-08-25 10:51:47 -07:00
Cedric BAIL bf0ad88144 evas: convert Evas3D use of output to engine when meaningful. 2017-08-25 10:51:44 -07:00
Cedric BAIL e9cd3e4c7c evas: remove image_content_hint_get from backend as it is unused. 2017-08-25 10:51:27 -07:00
Cedric BAIL ef55155e0e evas: switch font backend function to rely on engine instead of output. 2017-08-25 10:51:24 -07:00
Cedric BAIL d8871109d3 evas: convert evas backend cache function call to use Engine context. 2017-08-25 10:51:17 -07:00
Cedric BAIL fc603df8d1 evas: remove image_surface_noscale_region_get from engine backend as it is unused. 2017-08-25 10:51:13 -07:00
Cedric BAIL 1d57cb2627 evas: move all image object related function to use the engine instead of the output. 2017-08-25 10:51:10 -07:00
Cedric BAIL c436cf6931 evas: gl_common should not segv on freeing a NULL gl_image. 2017-08-25 10:50:59 -07:00
Cedric BAIL b6296c6fb4 evas: add infrastructure to find a gl_context from a GL_Engine. 2017-08-25 10:50:45 -07:00
Cedric BAIL 3a8d98a54f evas: introduce a engine_new/free in gl_generic backend. 2017-08-25 10:50:35 -07:00
Cedric BAIL 46e2e103d7 evas: refactor the call to window_use. 2017-08-25 10:50:31 -07:00
Cedric BAIL 326ff87216 evas: refactor gl_generic use of window_use with context_get. 2017-08-25 10:49:59 -07:00
Cedric BAIL 28397e7206 evas: differentiate engine from output. 2017-08-25 10:49:53 -07:00
Cedric BAIL 94dbcf3e0d evas: simplify drm output cleanup code. 2017-08-25 10:49:46 -07:00
Cedric BAIL 1626b5b8cd evas: refactor ddraw engine to have less useless indirection function call. 2017-08-25 10:49:42 -07:00
Cedric BAIL aa88a4f6ab evas: refactor gdi to have less useless function redirection. 2017-08-25 10:49:37 -07:00
Cedric BAIL 8b95fdbfd3 evas: refactor drm engine to have useless function redirection. 2017-08-25 10:49:32 -07:00
Cedric BAIL 262ab2bd54 evas: refactor wayland_shm backend to have less useless function redirection. 2017-08-25 10:49:28 -07:00
Cedric BAIL 8c16402a2c evas: refactor fb engine to have less useless function redirection. 2017-08-25 10:49:23 -07:00
Cedric BAIL 93531868c7 evas: refactor buffer engine to have less indirect useless call. 2017-08-25 10:49:19 -07:00
Cedric BAIL 3e88aa37bc evas: Render_Engine_Swap_Mode is actually about output swap. 2017-08-25 10:49:15 -07:00
Cedric BAIL e31707743a evas: Render_Engine_Merge_Mode is actually about output. 2017-08-25 10:49:11 -07:00
Cedric BAIL f4afd5f1bd evas: reduce duplication of merge_mode getenv logic. 2017-08-25 10:49:06 -07:00
Cedric BAIL d179a5c2a9 efl: remove PS3 backend.
This backend has received no patch and maintenance from anyone who could
actually test it over the last few years. After talking with KaKaRoTo it
is best to remove it. If anyone want to take over its maintenance, you
are welcome to revert this patch.
2017-08-25 10:48:42 -07:00
Cedric BAIL e6b4878a9e evas: follow all other engines convention and use ORD macro. 2017-08-25 10:48:37 -07:00
Cedric BAIL 29cde0ee81 evas: make the info size a parameter of the function to make it safer to roll in. 2017-08-25 10:48:20 -07:00
Cedric BAIL 46e1df839b evas: factorize call to info and info_free. 2017-08-25 10:48:13 -07:00
Cedric BAIL 1e2bbf8fea evas: all this function (info, setup and update) are really output related. 2017-08-25 10:48:09 -07:00
Cedric BAIL 8017fab100 evas: nobody actually call the tile size set API. 2017-08-25 10:48:05 -07:00
Cedric BAIL 6f3980f55e evas: Render_Engine_GL_Generic is actually an output. 2017-08-25 10:48:00 -07:00
Cedric BAIL cac667e402 evas: do not loose tile size when resizing output. 2017-08-25 10:47:56 -07:00
Cedric BAIL 8ffc0f2b9e evas: prevent double tilebuf creation/destruction during window resize. 2017-08-25 10:47:52 -07:00
Cedric BAIL 600a5fa76c evas: all GL backend require strict tilebuf, let's make that the default. 2017-08-25 10:47:48 -07:00
Cedric BAIL 741ecaf2cf evas: no need to double init tilebuf as it is created by software generic. 2017-08-25 10:47:39 -07:00
Cedric BAIL bf2439b501 evas: Render_Engine_Software_Generic is actually Render_Output_Software_Generic. 2017-08-25 10:47:11 -07:00
Cedric BAIL 268d9984b4 evas: engine should not access Evas canvas directly. 2017-08-25 10:47:03 -07:00
Jean-Philippe Andre 9da7e98dcf evas gl: Improve GL_ERRORS (internal debug code) 2017-08-21 13:53:30 +09:00
Jean-Philippe Andre d3f2696838 eina: Add EINA_UNUSED in eina_pass_through_from
Fixes a warning
2017-08-21 13:53:28 +09:00
Derek Foreman 8c917daa06 wayland: Tick like a boss
Instead of the clever but awful manual_render_set hack, actually do ticks
based on frame callbacks.

Fix T5850
2017-08-18 14:27:32 -05:00
Derek Foreman f95f17ae37 wayland_egl: Call ecore_wl2_window_buffer_attach
This lets ecore_wl2 know that there's a buffer attached - even if we don't
know what it is because it's hidden by gl.
2017-08-18 14:27:32 -05:00
Derek Foreman 3290e6da10 wayland_shm: Use ecore_wl2_window_buffer_attach
No longer calling wl_surface_attach directly.
2017-08-18 14:27:32 -05:00
Derek Foreman 5f0fa08467 wayland_shm: Don't attach null buffers from surface_post
This is protected against elsewhere.
2017-08-18 14:27:32 -05:00
Derek Foreman 90a032587a wayland_egl: Add ecore_wl2_window_commit
Use ecore_wl2_window_commmit() in addition to eglSwapBuffers in order
to set up a frame callback and handle pending update tracking.
2017-08-18 14:27:32 -05:00
Derek Foreman a8c44938f3 wayland: Switch to ecore_wl2_window_commit()
Use ecore_wl2_window_commit() instead of directly calling wl_surface_commit
2017-08-18 14:27:32 -05:00
Derek Foreman 972633e7e8 wayland_shm: Remove direct access to wl_surface
Querying it through Ecore_Wl2_Window now
2017-08-18 14:27:32 -05:00
Derek Foreman e3b9fbaed8 wayland: Put Ecore_Wl2_Win instead of wl_surface into the engines
We'll need to track some state in a common way, so attaching it to the
window seems like a good idea.
2017-08-18 14:27:31 -05:00
Derek Foreman ccc4ffc80d wayland: Make the wayland evas engines dependent on ecore_wl2
Seems like the best place to put some common code.
2017-08-18 14:27:31 -05:00
Jean-Philippe Andre a43740c074 ecore_evas_extn: Fix socket & plug windows
Socket & Plug were broken after 38e6780262.
Multiple problems here:
 - The invalid path was used for the lock file.
 - The invalid buffer ID was used for unlock in render_post. That's
   because the buffer was switched during output_flush which happens
   before render_post. So the buffer would remain locked forever on the
   server side (unless maybe some animation was happening there).

@fix
2017-08-18 14:53:20 +09:00
Bryce Harrington 67fff04cc7 evas: Fix spelling/grammar errors
Summary:
Fixes some basic punctuation and grammar errors, corrects spelling and
word order/choice in various places.

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5098
2017-08-17 10:45:35 -04:00
Jean-Philippe Andre b3722c05f9 evas: Fix crash with filters
Since the EO APIs are defined as weak symbols, invalid definitions of
EAPI lead to runtime crashes on non-public APIs. This is a fix following
a series of changes wrt. EAPI definitions.
2017-08-16 14:06:51 +09:00
Cedric BAIL 30816a0cf1 eina: add support for from in pass through 2017-08-15 13:46:37 -07:00
Cedric BAIL 04010f7307 eina: add support for from in one big. 2017-08-15 13:46:37 -07:00
Cedric BAIL 5bec2415c9 eina: add support for from in chained mempool. 2017-08-15 13:46:36 -07:00
Vincent Torri c2abb9a946 ecore_evas: win32 module - fix possibly uninitialized variables
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:16:59 -07:00
Vincent Torri ff0d8ef0a4 evas GDI engine: improve speed
expedite mean value goes from ~125 to ~205

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:16:05 -07:00
Jihoon Kim 723dfaebd1 ecore_imf/wayland: Check the return value of memory allocation function 2017-08-12 10:24:36 +09:00
Mike Blumenkrantz 5ffb7d423c wayland: set min/max size hints to surface before show
with deferred surface creation the first canvas change of hints may not
be able to trigger protocol methods for size hints, so ensure that hints are
set
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz f00a49835d wayland: remove xdg5 support
this has not been used or tested since last year and there are no major
compositors which lack xdg6 support
2017-08-11 18:43:12 -04:00
Mike Blumenkrantz 398ffe40a3 wayland: fix xdg-shell popup windows
@fix
2017-08-11 18:43:12 -04:00
Derek Foreman cb57ea7587 ecore_evas_drm: Tick from the animator registration callback
If we're not ticking already when a new animator is started then we have
to wait for a vblank to get a tick.  That's not great.

If we can, use the time of the last vblank to generate an immediate tick
to avoid this latency.
2017-08-11 17:11:12 -05:00
Derek Foreman e893d7de7d ecore_evas_drm: Let ecore_drm2 track pending page flips
Since the engines can call the flip functions, we need to protect the
ticker from missing those flips.  Thus, we let ecore_drm2, which obviously
sees all flips, track them.
2017-08-11 17:11:12 -05:00
Derek Foreman 5ecfe6a8b5 ecore_drm2: Remove ecore_drm2_output_crtc_size_get()
Replaced with ecore_drm2_output_info_get()
2017-08-09 14:56:59 -05:00
Derek Foreman 846db0e0e7 ecore_drm2: Remove ecore_drm2_output_geometry_get()
Replaced with ecore_drm2_output_info_get()
2017-08-09 14:56:59 -05:00
Derek Foreman afd65a8a99 ecore_drm2: Merge ecore_drm2_device_free and _close
There's no reason to have them be separate, all callers must do them
back to back, so let's just combine them.
2017-08-09 14:56:58 -05:00
Derek Foreman d8a9b895bb ecore_drm2: Merge ecore_drm2_device_find and ecore_drm2_device_open
There's never a reason to find a device and not open it, so all callers
end up calling these two functions back to back.
2017-08-09 14:56:58 -05:00
Derek Foreman 135ac29817 gl_drm: Remove some stale comments
We do planes now, so this comment isn't helpful anymore.
2017-08-09 14:56:58 -05:00
Derek Foreman 8ff59b2c55 ecore_drm2: Pass Ecore_Drm2_Device instead of fd to most functions
Intended to simplify the upcoming commit that merges device find and
device open into a single function that returns a device.

The fd is something callers shouldn't really need to get their hands on,
right now there are still a few places where it's needed, but those will
be gone soon too.
2017-08-09 14:56:58 -05:00
Jean-Philippe Andre 5d1e959f92 elm: Fix modules due to a missing EAPI
I recently added an undef EAPI which wasn't in fact the best idea ever.
The EAPI needs to remain defined as is for elementary modules and
edje_externals.

Ping @vtorri

See ad6e3ce3df
2017-08-09 17:08:24 +09:00
Jean-Philippe Andre 2450038436 widget: Remove sub_obj arg to resize_object_set
This removes an argument that was false only for a single widget:
naviframe. Hopefully this logic is now simpler, even though it involves
a small hack within naviframe itself.

Ref T5363
2017-08-09 12:21:42 +09:00
Chris Michael 4cf448274c ecore-evas-wayland: Add handler for Iconify State Change event
Small patch to add a handler for catching Window Iconify State Change
events

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-08-08 10:00:11 -04:00
Vincent Torri db29ee1cd6 Evas Jpeg2000 loader: port it to openjpeg 2.*
Test Plan: files in https://github.com/uclouvain/openjpeg-data/tree/master/baseline/nonregression

Reviewers: jpeg, raster, cedric

Differential Revision: https://phab.enlightenment.org/D5033
2017-08-08 11:46:35 +09:00
Mike Blumenkrantz 15126b2f4f ecore-evas wayland: remove move() function
this is conceptually wrong to include in a wayland engine
2017-08-07 13:26:50 -04:00
Mike Blumenkrantz a827f418d9 ecore-evas wayland: clamp max size hints to 0 2017-08-07 11:05:58 -04:00
Mike Blumenkrantz bc28c4b579 evas wayland: always create gl context when non-existent 2017-08-07 10:50:08 -04:00
Mike Blumenkrantz 77c4ee161d evas wayland: call makecurrent before querying gl attrs
fix T5845
2017-08-07 10:50:08 -04:00
Carsten Haitzler d954510b10 ecore evas wayland - add explicit falltrhough tags for warning removal 2017-08-06 11:50:49 +09:00
Mike Blumenkrantz 64754b682e ecore-evas-wayland: rework window hint calcs to be more accurate
this is still pretty broken for some directions, client-side aspect fml
2017-08-04 16:17:33 -04:00
Mike Blumenkrantz ef5812188a ecore-evas-wayland: update size when size hints are changed
ensure hinted size is used

@fix
2017-08-04 16:10:45 -04:00
Mike Blumenkrantz f03028d22f wayland: fix min/max size setting
also don't set arbitrary hints on init

@fix
2017-08-04 16:10:42 -04:00
Carsten Haitzler 800b877ed7 evas model loader - restructure code to silence warning
keep our build quiet warnings-wise and change the code to be so... so
we see real warnings. not a bug... just a warning.
2017-08-02 18:48:06 +09:00
Derek Foreman d4e69af383 wayland-shm: Set CLOEXEC for dmabuf
Stop leaking the render node fd to child processes.
2017-07-31 10:55:47 -05:00
Derek Foreman 1a175cd537 ecore_evas_drm: Only check for gpu time offset if env var set
Since most systems shouldn't need this, and it's possible
that it's causing trouble for some systems, make it off by
default.

Fix T5806
2017-07-29 08:52:16 -05:00
Carsten Haitzler a0ed0483fc evas gl gnenric engine - dont check w and h ptrs - will never be null
analyser unhappiness.

found by PVS studio
2017-07-29 12:06:20 +09:00
Carsten Haitzler 2eb46302a2 emotion gst1 module - remove extra unneded if's
not a bug, but don't need these

found by PVS studio
2017-07-29 10:56:53 +09:00
Carsten Haitzler 157caee2c0 evas psd loader - remove unneeded extra check in if
one if condition is always true by virtual of previous if statements
and drop-through so can remove. not actually any bug but analysers
don't like it

found by PVS studio
2017-07-29 10:37:51 +09:00
Carsten Haitzler c0764e153e evas git loader - move findo reset inside else as only that changes it
only the else changes finfo so reset inside there. not really any bug
at all byt style-wise a bit better and analysers don't like it

found by PVS studio
2017-07-29 09:42:44 +09:00
Carsten Haitzler 2930bc0b06 evas pmap loader - remove pointless extra assign of end of string to 0
not an actual bug - just analysis impacting

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler 64dc6ab056 evas bmp loader - fix warnings about same type handled twice
so a type we handle earlir inan if we re-handle as invalid later. this
wouldnt lead to a crash or bugs as the if's would ned to be evaluated
in order normally, but it's good to get it right.

found by PVS studio
2017-07-29 09:08:40 +09:00
Derek Foreman 2b16fc4278 ecore_evas_drm: Calculate gpu blank time offset once at startup
So vmware's graphics driver reports the MONOTONIC drm cap, yet uses
CLOCK_REALTIME instead.  This leaves us with a gigantic offset between the
gpu timestamp and the times ecore_time_get() gets from CLOCK_MONOTONIC.

Since ticking screws directly with loop time this results in some long
distance clock jumping.

This commit fixes drm/gl_drm operation under vmware.
2017-07-28 15:35:03 -05:00
Mike Blumenkrantz 6bb56b3f56 ecore-wl2: implement support for aux hints
this is a direct copy of a feature from tizen git with no modifications other
than what was required for compilation and functionality

https://review.tizen.org/git/?p=platform/upstream/efl.git;a=commitdiff_plain;h=01e72b7e3484ece4b589f95315990ba2c366c231
https://review.tizen.org/git/?p=platform/upstream/efl.git;a=commitdiff;h=670d84b579f248ae0e3df48e9953fe8128da9468

fix T5780

@feature
2017-07-28 15:43:48 -04:00
Derek Foreman 8e500c6835 ecore_drm2: Allow picking a sequence number for blanktime_get
This lets us do a blocking wait for a vsync.  Something we should try to
do as infrequently as possible, but in some cases we need it one time at
startup to catch graphics driver bugs.
2017-07-28 10:41:11 -05:00
Jiyoun Park 6d4ebf9bc6 ecore_evas_wayland: fix bug ecore_evas cannot update the evas when rotation
usecase:
    show -> rotation -> hide -> show
    ecore_evas_wayland didn't check the rotation.
    when ee is landscapemode, it cannot update the right area of evas.
2017-07-26 15:28:02 +09:00
Mike Blumenkrantz 337f3796d6 ecore-evas-wayland: destroy frame callback on hide
ensure cursor surfaces can render again after being hidden

 #TheDisappointer

@fix
2017-07-21 16:17:54 -04:00
Mike Blumenkrantz 93bac8ce4a wayland: stop creating 1x1 surfaces on init
fix T5226

 #IGot99TicketsBut1x1AintOne
2017-07-21 16:17:54 -04:00
Mike Blumenkrantz 9a56b267cd evas sw x11: formatting 2017-07-21 16:17:53 -04:00
Derek Foreman 736c63be34 gl_drm: half fix eglGetPlatformDisplayEXT usage
Just because the #define is present doesn't mean the extension is, so we're
BAILing on egl completely on some systems for no good reason at all. (saw
this on an SGX stack)

This is still wrong.  I don't want to try too hard until after the upcoming
release, though.

We should actually be testing for the presence of client extensions before
attempting to do any of this.  It's entirely possible that a gl stack will
return bogus functions for these from eglGetProcAddress
2017-07-21 14:34:50 -05:00
Carsten Haitzler 97c3eedbab evas xpm loader - don't error print for files that cant be mmaped
no point complaining because we can't mmap... it'd be an unloadable
file.
2017-07-21 16:35:21 +09:00