Jean-Philippe Andre [Wed, 5 Jul 2017 08:23:45 +0000 (17:23 +0900)]
evas: Add internal type documentation (event grabber)
Amitesh Singh [Wed, 5 Jul 2017 07:01:23 +0000 (16:01 +0900)]
elm test: image - use table to align image swallowed in layout
refer T4635
Mike Blumenkrantz [Tue, 4 Jul 2017 15:49:43 +0000 (11:49 -0400)]
Revert "build: fix examples dist based on various configure flags"
This reverts commit
ded5b1e764fdc97403bd829b02106ae8b9af10a4.
this broke build in some cases
Mike Blumenkrantz [Tue, 4 Jul 2017 15:49:37 +0000 (11:49 -0400)]
Revert "build: enable examples build by default"
This reverts commit
b58629bbbef3d811700b016eb9fa97e2af71e1a1.
not needed
Carsten Haitzler (Rasterman) [Tue, 4 Jul 2017 05:49:37 +0000 (14:49 +0900)]
ecore-x - add ecore x dpms force api
add api that allows us to force dpms on or off. needed to fix e
support for non-suspend new systems that don't do S3 ...
@feature
Youngbok Shin [Tue, 4 Jul 2017 04:53:59 +0000 (13:53 +0900)]
edje: support legacy Textblock calculation logic for 1.18 edje file
Summary:
From EFL 1.19, Edje Textblock calculation logic was fixed according to
Edje documents. But, it broke old edje files which ignored text.min
option for minimum width. Even if the old edje files were wrong,
we need to support them as discussed from T5548.
Also, this patch will change default efl_version to 1.18 from 1.19.
So, without efl_version property, edje file will run on the legacy logic.
Fixes T5548
Test Plan: Turn on/off presentation mode in Enlightenment.
Reviewers: herdsman, cedric, jpeg, zmike, raster
Subscribers: stefan_schmidt
Maniphest Tasks: T5548
Differential Revision: https://phab.enlightenment.org/D4967
Adjusted by @jpeg
Jean-Philippe Andre [Tue, 4 Jul 2017 02:37:37 +0000 (11:37 +0900)]
layout: Fix default content part
This fixes call to:
elm_layout_content_set(ly, NULL, obj);
This only affect this legacy API, not the EO interface.
Thanks Dave for the report!
Ref
59081043a892f6db74a1d557c7422c7a543c909d
Uma Devika [Mon, 3 Jul 2017 10:44:48 +0000 (19:44 +0900)]
Emotion: freed allocated string.
Summary:
GStreamer API gst_caps_to_string returns allocated memory which needs to be freed with g_free() after use.
@fix
Signed-off-by: Uma Devika <u.bodapati@samsung.com>
Reviewers: cedric, tasn, singh.amitesh, raster, jpeg
Subscribers: tanwar.umesh07, yashu21985, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4996
Andy Williams [Mon, 3 Jul 2017 21:17:07 +0000 (22:17 +0100)]
elm_code: Add rust syntax
Mike Blumenkrantz [Mon, 3 Jul 2017 19:01:59 +0000 (15:01 -0400)]
build: enable examples build by default
the previous method of forcing this to be enabled for dist builds caused
breaks when the original configure disabled examples, as the little-known
DISTCHECK_CONFIGURE_FLAGS variable would need to also be set to disable
examples even though the user would think they were disabled based on configure
output
Mike Blumenkrantz [Mon, 3 Jul 2017 19:01:59 +0000 (15:01 -0400)]
build: fix examples dist based on various configure flags
this would previously break if:
* cxx bindings were disabled
* elua was disabled
* base configure disabled examples and dist build disabled examples
* base configure disabled examples and dist build enabled examples
it still breaks if:
* base configure disables examples and dist build enables examples
Mike Blumenkrantz [Mon, 3 Jul 2017 19:01:59 +0000 (15:01 -0400)]
build: add efl_wl .x files to EXTRA_DIST2
Stefan Schmidt [Mon, 3 Jul 2017 13:57:19 +0000 (15:57 +0200)]
release: Update NEWS and bump version for 1.20.0-beta1 release
Woochan Lee [Mon, 3 Jul 2017 07:57:06 +0000 (16:57 +0900)]
elm_spinner: Entry hide when inc/dec button pressed.
Summary:
The entry cursor does not disappear when the user pressed(long press value change case) inc/dec button.
@fix
Test Plan: elementary_test -> spinner.
Reviewers: cedric, jpeg, woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4997
Jean-Philippe Andre [Mon, 3 Jul 2017 07:23:12 +0000 (16:23 +0900)]
drm: Fix compilation warnings
Jean-Philippe Andre [Mon, 3 Jul 2017 07:22:01 +0000 (16:22 +0900)]
eina file: Fix rare crash in line iteration
I'm not sure about the rest of this code, so it's possible that
the index is increased even if it shouldn't. But I've observed
a crash at this line, apparently when reaching the end pointer.
Daniel Zaoui [Sun, 2 Jul 2017 12:52:41 +0000 (15:52 +0300)]
Filter: check nullity before accessing structure member
@fix
Mike Blumenkrantz [Fri, 30 Jun 2017 20:51:43 +0000 (16:51 -0400)]
evas: add @since for map_coords_get()
ref
eaeaf8831c139880a5e179cdbab8873320a62476
Cedric BAIL [Wed, 28 Jun 2017 21:42:28 +0000 (14:42 -0700)]
evas: expose evas_map_coords_get.
Mike Blumenkrantz [Fri, 30 Jun 2017 20:03:03 +0000 (16:03 -0400)]
efl-wl: add .pc file
Dave Andreoli [Fri, 30 Jun 2017 20:15:37 +0000 (22:15 +0200)]
Add a new test for elm_image align inside a swallow
This is broken since 1.18, more info on T4635
Derek Foreman [Fri, 30 Jun 2017 19:54:12 +0000 (14:54 -0500)]
software_generic: Improve dmabuf validity tests
Now that upper layers set load errors this can be less gruesome.
Also, add some checks that were in E here where they belong.
Derek Foreman [Fri, 30 Jun 2017 19:52:54 +0000 (14:52 -0500)]
gl_drm: Improve dmabuf validity test
Now that higher layers are setting load errors this can be less gruesome.
Derek Foreman [Fri, 30 Jun 2017 19:10:50 +0000 (14:10 -0500)]
evas image: Set load error on native image set failure
evas_object_image_native_surface_set() has no return, so without
setting load error we can't tell if it failed.
fix T5418
Mike Blumenkrantz [Fri, 30 Jun 2017 18:59:21 +0000 (14:59 -0400)]
theme: use FLOOR rounding for digital clock themes
the default rounding method allows for a value of 60 when setting the
seconds on a clock
fix T5639
Mike Blumenkrantz [Fri, 30 Jun 2017 18:59:21 +0000 (14:59 -0400)]
efl_wl: a multiseat wayland compositor in an evas smart object
build when wayland support is enabled and provide two test/demo cases
beta api
@feature
Reviewed-By: Cedric BAIL <cedric@osg.samsung.com>
Derek Foreman [Fri, 30 Jun 2017 15:26:41 +0000 (10:26 -0500)]
ecore_drm2: fix scanout_on callback firing too often
We need to increase the on scanout count for a buffer only when the
plane it's on makes its transition from pending to visible.
Previously it was firing for every refresh which would break refcounting
for any plane using surface that didn't change every frame.
Marcel Hollerbach [Fri, 30 Jun 2017 08:28:05 +0000 (10:28 +0200)]
Merge branch 'devs/bu5hm4n/gengrid_item_manager'
This merges a little refactor of gengrids keybindings code.
The refactor includes consistent item looping in horizontal and mirrored
mode. It also fixes the divergence between the focused and selected item
after a few operations
Marcel Hollerbach [Thu, 29 Jun 2017 16:41:06 +0000 (18:41 +0200)]
elm_gengrid: remove duplicated code
Marcel Hollerbach [Thu, 29 Jun 2017 16:29:24 +0000 (18:29 +0200)]
elm_gengrid: refactor duplicated code
this brings the simple selection move into a single spot
Marcel Hollerbach [Thu, 29 Jun 2017 13:37:34 +0000 (15:37 +0200)]
elm_gengrid: refactor single selection move
Marcel Hollerbach [Thu, 29 Jun 2017 11:13:40 +0000 (13:13 +0200)]
elm_gengrid: refactor focus movement
This removes duplicated code and brings it into a smaller way more
readable function
Marcel Hollerbach [Wed, 28 Jun 2017 14:06:10 +0000 (16:06 +0200)]
elm_gengrid: gengrid never sets the focus objects this is always NULL
Marcel Hollerbach [Wed, 28 Jun 2017 13:10:14 +0000 (15:10 +0200)]
elm_gengrid: refactor reorder mode
Its breaking the logic down into 3 little functions that could be reused
later. Overall this reduces the code duplication
Marcel Hollerbach [Sun, 25 Jun 2017 15:50:35 +0000 (17:50 +0200)]
elm_fileselector: correct the focus chain
Jean-Philippe Andre [Thu, 29 Jun 2017 11:02:59 +0000 (20:02 +0900)]
elm: Always pass valid part name inside part APIs
This affects the legacy content_set/get/unset part APIs. This
should avoid some unwanted ERR messages in case an elm_object_
API is used on an elm widget that doesn't implement said API.
What this does is request the widget for the name of the default
part if NULL was passed in. Since some widgets are not elm_layout,
they have to override the API themselves, which is why I made it
an internal EO API (rather than a series of efl_isa()).
In theory, part should never be NULL when reaching the internal
implementation code in the widgets, at least for content.
In EO, efl_part(obj, NULL) should be invalid.
Ref T5629
Sungtaek Hong [Thu, 29 Jun 2017 10:32:19 +0000 (19:32 +0900)]
elm_entry: use layout text/content aliases when text_set/get content_set/get/unset
Summary:
- elm_entry has elm.guide text part and it can be set by "guide".
- However when using text_aliases_get, this cannot be found.
- Add elm_obj_elm_layout_part_aliasing_eval() internal APIs to make entry
use proper aliases.
Test Plan:
1. Run elementary test
2. Observe search entry has guide text with "guide" part.
3. Run Entry 8.
4. Observe "elm.guide" part also works.
5. Observe "icon" and "end" part works.
Reviewers: id213sin, herdsman, jpeg
Reviewed By: jpeg
Subscribers: conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4962
Jean-Philippe Andre [Thu, 29 Jun 2017 10:09:27 +0000 (19:09 +0900)]
widget: Avoid ERR in elm_object_content_ APIs
If content_part_{set,get,unset} are called on a widget that
is not a layout (or flip, and a few others), then some ERR
messages would be printed out.
We hide these ERR messages as all elm_object APIs should be
callable on an object for which elm_object_widget_check()
returns true.
Ref T5629
Sungtaek Hong [Fri, 30 Jun 2017 04:29:44 +0000 (13:29 +0900)]
Efl.Observable: Free an iterator after use in observers_update()
Summary:
- In _efl_observable_observers_update() iterator is allocated but not freed.
- This frees the iterator.
@fix
Reviewers: conr2d, jpeg
Reviewed By: jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4994
Amitesh Singh [Fri, 30 Jun 2017 03:18:33 +0000 (12:18 +0900)]
genlist: move to next focusable/selectable item when looping
this fixes a bug in genlist when scrolling is enabled and
items at top and bottom are disabled. Focus behaviour is not normal
in case up arrow is pressed when focus is at the top enabled item
or down key is pressed when focus is at bottom enabled item.
fixes T5576
Derek Foreman [Thu, 29 Jun 2017 22:15:36 +0000 (17:15 -0500)]
drm: Implement hardware plane support
Adds the ability for drm to place native surfaces on harware planes.
ref
33b50238d2d54e77c23f42c00c6bfafc9a9a1080
Derek Foreman [Thu, 29 Jun 2017 22:12:01 +0000 (17:12 -0500)]
software_generic: fix eng_image_native_get
This has been a stub for a long time, but now we have a native_set, so
we should have a native_get too.
This is required for hw plane usage on the software engine.
Daniel Hirt [Thu, 29 Jun 2017 18:33:12 +0000 (21:33 +0300)]
Elm layout: fix broken text part name resolving
This adds a few workaround to overcome the efl_part port.
Quite a few layouts got broken in some specific cases.
Derek Foreman [Thu, 29 Jun 2017 18:54:48 +0000 (13:54 -0500)]
gl_drm: Check dmabuf attribute version before trusting attributes
We shouldn't do anything with a dmabuf structure until confirming the
version matches the one we know.
Derek Foreman [Thu, 29 Jun 2017 18:52:53 +0000 (13:52 -0500)]
software_generic: Check dmabuf attribute version during set
We should check here instead of only at time of usage.
Derek Foreman [Thu, 29 Jun 2017 18:51:07 +0000 (13:51 -0500)]
dmabuf: Make a define for the version of the dmabuf attribute struct
I should've done this in the first place, and the version checks are
starting to spread out a bit.
Daniel Hirt [Sun, 25 Jun 2017 10:21:52 +0000 (13:21 +0300)]
Evas textblock: fix legacy_newline in legacy API
Fixes
4fda417bc9e0c59f3a3645057279a29cc0057cd2 that disabled
legacy_newline for both legacy (textblock) and new (canvas text) api.
It should enable legacy_newline for legacy.
Daniel Hirt [Thu, 29 Jun 2017 10:57:54 +0000 (13:57 +0300)]
Evas textblock: re-apply paragraph position inference
For some reason,
c39855a8ac6f86c2dd8b1856ed70f85e0e521f3e also seems to
address an issue with height calculations (although not mentioned in
the commit message).
It already went in v1.19, so by applying
b8beb6834b01f9688cb5e7aa177bacbc713318b9 I also reverted that behavior.
Seems like a correct one, so re-applying.
Fixes T5594
Stefan Schmidt [Thu, 29 Jun 2017 10:49:09 +0000 (12:49 +0200)]
release: Update NEWS and bump version for 1.20.0-alpha1 release
Stefan Schmidt [Thu, 29 Jun 2017 09:37:29 +0000 (11:37 +0200)]
build: split of BUILT_SOURCES cleanup from CLEANFILES
This was another instance of the arguments list to long problem when the
file list of CLEANFILES got to long. During distclean the cleanup failed
and left tons of files sitting around. We rm these files in our own
local clean rule now.
Stefan Schmidt [Wed, 28 Jun 2017 18:08:29 +0000 (20:08 +0200)]
po: update po files for alpha release
Stefan Schmidt [Wed, 28 Jun 2017 16:16:11 +0000 (18:16 +0200)]
tests : eolain: make sure all the needed files for land in dist
All kind of test files for the function pointer test in eolian have been
missing in dist and thus failed distcheck.
smohanty [Thu, 29 Jun 2017 08:20:45 +0000 (17:20 +0900)]
evas/vg: rewrite the vg example with more test cases
basic shape, stroke, transformation, interpolation test cases added
Reviewers: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4992
smohanty [Thu, 29 Jun 2017 08:27:37 +0000 (17:27 +0900)]
efl/interface: emit path change event when stroke width change.
Reviewers: jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4991
Jean-Philippe Andre [Thu, 29 Jun 2017 08:11:00 +0000 (17:11 +0900)]
elm_test: Add test edc for tooltip with no min size
See
283afce3c8acd902d4708ab491b6192f1665dd77
Test case name: Tooltip -> "Tooltip with no min size"
Jaehyun Cho [Thu, 29 Jun 2017 07:12:37 +0000 (16:12 +0900)]
els_tooltip: Remove infinite job calls
Summary:
When tooltip or content size is 0, tooltip reconfigure job is called infinitely.
This patch removes the infinite job calls.
Test Plan:
See following patch, test case "Tooltip" -> "Tooltip with no min size"
Reviewers: zmike
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4982
Jean-Philippe Andre [Thu, 29 Jun 2017 04:52:13 +0000 (13:52 +0900)]
evas: Fix compilation warnings
See
7365c087c7feb218881fb8de9e371312bf1421cc
Shadow variable.
Jean-Philippe Andre [Thu, 29 Jun 2017 04:42:35 +0000 (13:42 +0900)]
elm_code: Fix a compilation warning
warning: expression result unused; should this cast be to 'void'?
[-Wunused-value]
Jean-Philippe Andre [Thu, 29 Jun 2017 04:42:21 +0000 (13:42 +0900)]
gl_drm: Fix a few compilation warnings
warning: expression which evaluates to zero treated as a null
pointer constant of type 'void *' [-Wnon-literal-null-conversion]
Amitesh Singh [Thu, 29 Jun 2017 05:41:41 +0000 (14:41 +0900)]
spinner: don't allow dragging if widget is disabled
fixes T5569
Carsten Haitzler (Rasterman) [Thu, 1 Jun 2017 09:22:12 +0000 (18:22 +0900)]
edje player - add slave command to set text of text part for testing
@feature
Amitesh Singh [Thu, 29 Jun 2017 02:56:48 +0000 (11:56 +0900)]
elm test: image zoomable - allow gif to be played in test example
play gif file if its selected through file selector
elm test -> photocam -> select photo -> {select any gif anim file}
Daniel Kolesa [Wed, 28 Jun 2017 09:51:29 +0000 (11:51 +0200)]
elua: use up to date lua API
luaL_reg is a 5.0 API which we don't support.
Jean-Philippe Andre [Wed, 28 Jun 2017 08:17:18 +0000 (17:17 +0900)]
edje: Fix part reuse, fixes make check
An error was spotted when using an efl_part() handle for more
than one call (valid if you do efl_ref on the handle).
Thanks @stefan for the report!
Shinwoo Kim [Wed, 28 Jun 2017 00:24:16 +0000 (09:24 +0900)]
elc_popup: atspi - make popup label accessible
The application could customize default behavior of popup label.
There was no way to get the popup label so far.
Jean Guyomarc'h [Tue, 27 Jun 2017 21:09:09 +0000 (23:09 +0200)]
eina,ecore_cocoa: fix detection of the macOS SDK version
There was trouble with Homebrew's CI to build EFL on a macOS < 10.12
which uses a 10.12 SDK. See PR #13252 on github, Homebrew/homebrew-core
for details.
@fix
Andy Williams [Tue, 27 Jun 2017 21:07:24 +0000 (22:07 +0100)]
elm_code: Fix tests of widget tokens
Andy Williams [Tue, 27 Jun 2017 15:19:16 +0000 (16:19 +0100)]
elm_code: fix whitespace highlighting
Chris Michael [Tue, 27 Jun 2017 15:14:26 +0000 (11:14 -0400)]
ecore-wl2: Add more window types to Window Type enum
Small patch which adds more window types to the Window Type enum.
These window types may be used by various compositors in different
ways. This patch does not add or change any functionality, it just
extends the window type enum to include the ability to specify other
types of windows.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 27 Jun 2017 13:46:55 +0000 (09:46 -0400)]
ecore-wl2: Add client-side event for Window Deactivate
This patch adds and sends a client-side event for when a window gets
deactivated.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 27 Jun 2017 13:41:03 +0000 (09:41 -0400)]
ecore-wl2: Add client-side event for Window Activate
This patch adds and sends a client-side event when a window gets
activated.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 27 Jun 2017 13:26:55 +0000 (09:26 -0400)]
ecore-wl2: Add client-side event for Window Hide
Small patch to add and send a client-side event for when a window gets
hidden.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 27 Jun 2017 13:17:36 +0000 (09:17 -0400)]
ecore-wl2: Add client-side event for Window Show
Small patch to add and send a client-side event for when a window gets
shown.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Andy Williams [Mon, 26 Jun 2017 21:17:07 +0000 (22:17 +0100)]
elm_code: Add a matched token so we can highlight searches
Should make dense matches in a text editor clearer.
Mike Blumenkrantz [Mon, 26 Jun 2017 14:32:00 +0000 (10:32 -0400)]
ecore-wl2: use first seat to start move/resize op when none specified
don't do lookups by name, the default seat is the first one added
Jihoon Kim [Mon, 26 Jun 2017 08:53:04 +0000 (17:53 +0900)]
Add since tag in elm_entry_prediction_hint_set
Jihoon Kim [Mon, 26 Jun 2017 04:44:58 +0000 (13:44 +0900)]
elm_entry: Add prediction hint API
prediction hint can be used to provide an intelligent reply suggestion.
@feature
Andy Williams [Sun, 25 Jun 2017 09:41:11 +0000 (10:41 +0100)]
fix issue with patch D4981
Daniel Zaoui [Sun, 25 Jun 2017 08:23:35 +0000 (11:23 +0300)]
Test: check gl API nullity before invoking deletion functions
It happens when OpenGL ES 3.x is not supported.
@fix
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
evas event grabber: add function to block stacking updates while visible
@feature
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
elm_list/genlist/gengrid: don't unselect items when moving the mouse out of them
this seems wrong since it's using smart object geometry to determine
event-based positioning within an edje object. considering it from a user pov,
it definitely is wrong because why would you deselect items based on mouse
movement?
ref D2622
ref
da81eff8979bef066317984d606dd66bdba49717
@fix
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
eina_log: make a log level of 0 disable the log domain
this has always been specified in the docs as the means by which a log domain
is disabled
@fix
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
elm_win: access wl seats in a more portable way
seat names are not guaranteed to be the same in every compositor so
this should not be hardcoded
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
evas: check object layer existence before deref to avoid crash
@fix
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
ecore-wl2: do not send exit event on disconnect if servers exist
this kills the compositor.
@fix
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
elm_cursor: store and reapply non-elm cursors when setting an elm cursor
when using elm with non-elm objects, any custom cursors would previously be
destroyed by any elm_entry widget upon mouse-in
@fix
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:57 +0000 (17:43 -0400)]
elm_box: unpack objects from internal evas box before elm reparent
this ensures that smart_parent_get() will not return the evas box for
any widget which overrides parent apis
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:57 +0000 (17:43 -0400)]
evas_box: add safety check for adding box children to multiple boxes
this is guaranteed to cause a crash or equally bad behavior, so ensure an
error is raised
@fix
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:57 +0000 (17:43 -0400)]
gengrid: implement reusable content based on genlist implementation
@feature
Derek Foreman [Thu, 22 Jun 2017 17:48:45 +0000 (12:48 -0500)]
gl_drm: Implement hardware plane support
Adds the ability for gl_drm to place native surfaces on hardware planes.
Derek Foreman [Thu, 22 Jun 2017 17:46:16 +0000 (12:46 -0500)]
evas_render: Use hardware planes
This is a very simple proof of concept for using hardware planes for
evas image objects.
Right now only dmabuf objects will be dropped into planes, and they're
considered in the order they're in in the scene graph with no attention
paid to which objects will have the most benefit from being on a plane
at all. There's nothing to prevent your mouse cursor from consuming the
only hardware plane capable of UHD video. :)
This is mostly just to help test the low level functionality in the
engines and ecore_drm2 that enable hardware planes. Smarter plane usage
is coming.
Derek Foreman [Thu, 22 Jun 2017 17:39:24 +0000 (12:39 -0500)]
evas_object_image: Add support for direct scanout
Add functions for assigning hardware planes to evas image objects.
The unfortunate asymmetry of the code is due to plane assignment being
only fully verifiable by doing a test commit through ecore_drm2, so it's
simpler to have the "test" function also do the "assignment", and call
the release on failure to clean up after a failed test.
Derek Foreman [Wed, 21 Jun 2017 20:06:01 +0000 (15:06 -0500)]
evas_object_image: Track whether an image object supports direct scanout
If an evas object is a wayland dmabuf, uses native surface 5 or higher,
and has a scanout handler set, then it meets the basic requirements for
placing on a hardware plane.
Derek Foreman [Wed, 21 Jun 2017 19:12:40 +0000 (14:12 -0500)]
software_generic: Add plane assign/release function pointers
Functions to assign a plane for a native surface, and release a plane
that's been assigned to a native surface.
These are empty for now as they'll need to be overridden in any backend
that can handle planes.
Derek Foreman [Wed, 21 Jun 2017 19:10:20 +0000 (14:10 -0500)]
native surface: Add scanout handlers
When a native surface ends up on a hardware plane, the caller needs to
know about it so it can prevent the resource from being destroyed while
on scanout (which may cause an implicit page flip and a stall), and
so it knows that the content may have changed usage domains.
This adds stubs for dealing with this - only for wl dmabuf right now, but
it may be useful for other surface types later.
Derek Foreman [Fri, 16 Jun 2017 21:32:45 +0000 (16:32 -0500)]
ecore_drm2: Add scanout status callbacks
This generates callbacks when a fb becomes scanned out on a hardware plane
or when it no longer is.
Derek Foreman [Fri, 16 Jun 2017 21:30:39 +0000 (16:30 -0500)]
ecore_drm2: Add callbacks for plane assign/release
E will need these to gate wayland buffer releases.
Derek Foreman [Fri, 16 Jun 2017 21:19:29 +0000 (16:19 -0500)]
ecore_drm2: Add Fb deleted event
Derek Foreman [Fri, 16 Jun 2017 21:17:56 +0000 (16:17 -0500)]
ecore_drm2: Track number of times an fb is on scanout
The same fb can be placed in multiple hardware planes, we need to keep
track of the number of planes it's on at any time so we can send events
to a compositor in a later commit.
Derek Foreman [Fri, 16 Jun 2017 21:15:57 +0000 (16:15 -0500)]
ecore_drm2: Track whether an Ecore_Drm2_Plane has ever been on scanout