Commit Graph

30808 Commits

Author SHA1 Message Date
Chris Michael 7d5d06bb20 ecore-drm: Only send output events when we enable/disable an output
Summary: This reduces the number of output events that wl_drm module
will receive from ecore-drm. We now only send those events when an
output gets enabled/disabled where previously we were also sending
them during output creation.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:42:15 -04:00
Chris Michael 443010b465 ecore-drm: Greatly improve drm rendering speed
Summary: This greatly improves rendering speed in evas drm engine.
Previously we would always call drmModeSetCrtc regardless if it was
needed or not. These changes greatly improve rendering speed in drm as
we now only call drmModeSetCrtc if it is needed.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:42:10 -04:00
Chris Michael 3aaa9f2f9f ecore-drm: Fix purpose of ecore_drm_output_enable/disable functions
Summary: These API functions should be used for enable/disable of a
given output. They were previously being misused to stop/start
rendering on an output when we VT switch away so now we add an
internal function we can call to disable/enable rendering.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:42:03 -04:00
Daniel Kolesa 957a89168b eolian: precompute all enum field values (faster runtime, constness) 2015-05-13 18:10:02 +01:00
Daniel Kolesa d2365e6267 eolian: allow forced retrieval of enum field values 2015-05-13 17:57:03 +01:00
Daniel Kolesa 333e876629 eolian: use the actual enum type in tests 2015-05-13 17:22:37 +01:00
Tom Hacohen 8db866f636 Eeze tests: Remove an unreliable test.
I hope this will be enough to make the suite less broken.
This fails often on jenkins and cedric's box. This should
either be made reliable, or removed, but the current state
is definitely not good if we would like to increase the trust
in Jenkins.
2015-05-13 17:18:32 +01:00
Daniel Kolesa e90e3af8b5 eolian: fix evaluation of "undefined" enum fields 2015-05-13 17:15:45 +01:00
kumar navneet e6ed156e39 edje: fix parsing issue in edje_cc with bezier program transition.
Summary:
Issue: "CURRENT" param not considered while parsing cubic bezier transition in edje cc
Soln: parse 5,6 parameter if Curr is set else parse 4,5 parameter

Reviewers: cedric, shilpasingh

Reviewed By: shilpasingh

Subscribers: poornima.srinivasan, rajeshps, cedric, govi

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-13 16:20:22 +02:00
Oleksandr Shcherbina bfe8b7c05e evas: correct normal map shader.
Summary:
Due to using Evas_GL_Image for generation texture unit for Evas_3D_Texture it is
need adjusting texture coordinates in shader
It has been missed here
https://git.enlightenment.org/core/efl.git/commit/?id=d88ccf06a5f6ebcfc68dcc21e55a241f64ff9aa9

Reviewers: Hermet, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-13 16:20:22 +02:00
Yury Usishchev 835c393d17 evas: add support for BUILD_NEON_INTRINSICS to evas_convert_rgb_32.c
Summary: This fixes build for aarch64 when TILE_ROTATE is disabled and BUILD_NEON is enabled(it is enabled by default for aarch64 since https://phab.enlightenment.org/D2309).

Reviewers: cedric, raster

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-13 16:20:22 +02:00
Oleksandr Shcherbina fc4f755c28 evas: fix coverity CID 1297159 and CID 1297158.
Reviewers: Hermet, b.devichev, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-13 16:20:22 +02:00
Carsten Haitzler f6a39ab571 evas grid smart - fix coord overflows when grid size and vsize are large
if your virtual size is fairly big AND your actual object size is also
big, you easily overflow a signed int for intermediate coordinate
calculations, resulting in seeing only a small fractin of your objects
correctly. this fixes that by expanding up to long longs internally to
allow for the added space needed for the multiplications

@fix
2015-05-13 22:25:09 +09:00
Carsten Haitzler a5635d0c01 eina evlog - fix overflow tracking 2015-05-13 22:25:09 +09:00
Daniel Kolesa 894a1e3cfd eolian: check inherit validity before using it 2015-05-13 13:45:01 +01:00
Ji-Youn Park 5c3a08433a ecore_x: Add key router feature related with client side.
Currently app only grab key using Xgrabkey.
Keyrouter will support several keygrab mode and apps can use it.
2015-05-13 20:47:36 +09:00
Daniel Kolesa 01b3803931 eolian: remove unneeded cruft (struct/enum cannot be a base for alias) 2015-05-13 11:26:24 +01:00
Daniel Kolesa ec73644cb6 eolian: generate underscored structs as well as correct opaque struct typedefs 2015-05-13 11:14:49 +01:00
Jean-Philippe Andre 7a614c80f3 Evas filters: Fix glReadPixels usage for EGL
EGL might very well not support RGBA read mode, so we
need to check for it first.

Also remove some error logs (see previous commit), and useless
initialization of the Evas GL engine.

@fix
2015-05-13 10:45:13 +09:00
Jean-Philippe Andre 748e6ad1b9 Evas GL common: Add very basic GL calls tracing method
Rewrap the GL calls to print them out. The arguments are not
interpreted. See the GL_ERRORS #define.
2015-05-13 10:24:24 +09:00
Jean-Philippe Andre 3e31ad27da Evas filters: Disable excessive debug 2015-05-13 10:24:24 +09:00
Daniel Kolesa 44d37bb368 eolian: do not check alias/struct/enum base for builtin types 2015-05-12 17:24:17 +01:00
Chris Michael 4073519cac ecore-drm: Skip not connected outputs when calculating geometry
Summary: When we make a call to get the geometry of all outputs, we
should be skipping ones which are not connected.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-12 12:07:31 -04:00
Chris Michael 723c24de31 ecore-drm: Fix finding possible crtcs
Summary: This fixes an issue when searching for possible crtcs that an
output can work on. Previously, we would end up not returning any
possible crtcs due to not looping the crtcs of the resource.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-12 12:07:31 -04:00
Chris Michael e577a108cf ecore-drm: Add a 'name' field to Ecore_Drm_Event_Output
Summary: This adds a new 'name' field to the Ecore_Drm_Event_Output
structure so that when we catch drm output events in E, we can compare
this name to find an e_randr screen and update compositor's outputs.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-12 12:07:31 -04:00
Chris Michael df28c380d3 ecore-drm: Fix ecore_drm_output_edid_get to return a hex string
Summary: As we will use the edid string inside RandR code to store
unique information about an output, we should be returning this edid
in a "readable" form.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-12 12:07:31 -04:00
Chris Michael 956eb9318b ecore-drm: Fix issue of edid parsing not ignoring string
Summary: When we are parsing the edid string, if the string is random
junk, then we need to ignore it. Prior to this commit, we were not
setting the returned text properly.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-12 12:07:31 -04:00
Daniel Kolesa 96d16eabb4 eolian: remove unused variables 2015-05-12 17:07:26 +01:00
Daniel Kolesa 211b650c4b eolian: new API eolian_type_enum_field_c_name_get
This API allows you to retrieve the C name of an arbitrary enum field,
respecting the legacy prefix and properly uppercasing the name.
2015-05-12 17:04:54 +01:00
Daniel Kolesa ed58165b50 eolian: butts 2015-05-12 16:25:52 +01:00
Vitor Sousa 2c48b3212a eolian_cxx: Fix @beta on generated bindings for C++ 2015-05-12 15:51:31 +01:00
Daniel Kolesa 6e7ab244f7 eolian: fix wrong enum tests 2015-05-12 14:37:16 +01:00
Daniel Kolesa 5f32c178e9 eolian: update eolian_type_base_type_get for REGULAR types 2015-05-12 14:27:24 +01:00
Chris Michael d278cd5f49 ecore-wayland: Input grab_count is unsigned int, no need for comparison < 0
Summary: As input->grab_count is an unsigned int there is no need for
the < 0 comparison as that will always return false

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-12 09:14:26 -04:00
jhyuni.kang aee186b4f3 ecore-wayland: Add a grab_count variable for synchronization wl_input_grab/ungrab with pointer and touch event
Summary:
The touch screen device generates touch events.
         But in some special enviroments, a first finger will be matched to a pointer event(not touch event).
         And other fingers (second, third, ...) will be matched touch events.
         In that case ecore_wl_input_ungrab() is called abnormally.
         A first finger pressed, _ecore_wl_input_cb_pointer_button() call ecore_wl_input_grab().
         A second finger pressed, _ecore_wl_input_cb_touch_down() is called but not grab.
         But when a second finger is released, _ecore_wl_input_cb_touch_up() call ecore_wl_input_ungrab()
         So ungrab function generate two mouse up events and a first finger is released.
         In other case, first finger pressed -> second finger pressed -> first finger release.
         That case when a first finger released a second finger release event is generated.
         So after that application doesn't get a release event about a second finger
         when a second finger is really released.

         I think in a multitouch case, ungrab function will be called when a all finger are released.
         So I add a grab_count variable for count currently touched fingers.
         And only called a ungrab funtion all fingers are released.

Test Plan:
In a touch screen supported multitouch, press two or more fingers and release.
           And watch events generation.

Reviewers: raster, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2481
2015-05-12 08:57:47 -04:00
Chris Michael 8a3441dfe9 ecore-drm: Add API function to test if an output can go on a given crtc
Summary: This adds a new API function to test if a given
Ecore_Drm_Output can be used on a given crtc. This is needed for DRM
RandR support

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-12 08:57:47 -04:00
Jean-Philippe Andre 22ef03cd53 Eina log: Fix previous commit (ERR & CRI -> bt)
This was a < comparison, not <=
I don't totally agree on taking the bts for each error... just try
to cat a binary file in terminology and have fun.
2015-05-12 19:37:25 +09:00
Jean-Philippe Andre 65b53f4a37 Eina log: Enable backtrace only for CRI and ERR by default
Using EINA_LOG_LEVEL=4 for standard debugging has now become
absolutely horrible (and slow!). Backtraces may make sense in
case of ERR and CRI messages, but are just pollution for other
levels.

WRN could be argued over but the old env variable is still there
so just use it if you want backtraces:

$ export EINA_LOG_BACKTRACE=2
2015-05-12 19:06:00 +09:00
Jean-Philippe Andre 55eb75ad86 Evas GL common: Skip shaders generation if there is no change
Based on a quick git diff we check that the glsl code has not changed.
This should fix out-of-tree builds and avoid all source modification
unless required.

When compiling from a tarball there should be no git tree (err 129),
or if there's one the files should not be checked in (ie. no diff).
If you changed the glsl files in a tarball... too bad for you.

If this is still not enough to fix the build, then go ahead and disable
the script from Makefile_Evas.am

I would like to note that the auto-generation during make is extremely
useful when working on the shaders, which is why I'd rather keep it enabled.

@fix
2015-05-12 12:31:34 +09:00
Stefan Schmidt 9f29974292 data: Silent another mkdir when usign automake silent rules
Visible when running as verbose.
2015-05-11 18:38:02 +02:00
Daniel Kolesa 3dc27cb482 eolian: fix up remaining doc comments in the tree 2015-05-11 15:38:03 +01:00
Daniel Kolesa 8c51033d49 eolian: fix doc comments across the tree 2015-05-11 15:38:03 +01:00
Boram Park 842969c231 ecore_wl: get dpi after all pending events are handled
Summary: ecore_wl_dpi_get will return the correct value after wl_output's events are handled

Reviewers: zmike, devilhorns, bryceharrington

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2479
2015-05-11 09:27:13 -04:00
Stefan Schmidt d1b414a6ec rg_etc: Correct ifdef to keep function available for debug build
In the nightly builds we have debug enabled and this spotted the case where
rg_etc1_solution_coordinates_block_colors_get is actually still used:

lib/eet/.libs/libeet.so: undefined reference to `rg_etc1_solution_coordinates_block_colors_get'

Showed only after we switched back from release to dev mode.

@fix
2015-05-11 15:00:12 +02:00
Sebastian Dransfeld 9e0a00d768 efreet: fix signed warning
Update to 6a0d23. Casting to int isn't a real solution, since we could
have values which overflows.

Since we want the absolute value, just make sure we subtract the larger
value from the smaller.
2015-05-11 13:34:10 +02:00
Sebastian Dransfeld 3433c1449e edje: rename variable
Give variable a name which better describes its purpose.
2015-05-11 13:34:10 +02:00
Ji-Youn Park 4a4d5f2705 evas: fix bug in evas gl texture.
Summary: bytecount always 1,2,4. so changed for simple code.
2015-05-11 20:07:12 +09:00
Stefan Schmidt 3d8c0794b8 build: Fix benchmark and exmaples dep on all target as well.
Same as the check-build target I fixed in my previous commit these two need
the all dependency to compile everything needed before being run.
2015-05-11 12:45:44 +02:00
Stefan Schmidt 42e535b086 build: Add correct dependency for check-build target.
We need to build everythign else before. Without this dep running check-build
as first target from a fresh build will fail due to wrong dependency handling
(like no eolian run over the eo files, etc)

Inspired by D2489 from Kabeer Khan.
2015-05-11 12:34:54 +02:00
Ji-Youn Park 9bf8a0e56b evas: fix bug in evas gl texture.
Summary: If the pixel size of image is not 32 bit like EVAS_COLORSPACE_AGRY88,
         GL_UNPACK_ALIGNMENT have to be changed.
2015-05-11 19:08:12 +09:00