Commit Graph

28145 Commits

Author SHA1 Message Date
Jean-Philippe Andre 4315537820 Evas GL: Add support for OpenGL-ES 1.1 (part 2)
Add version param to context_create.
Add support for 1.1 contexts in the GL_X11 engine, and checks
for version in all other engines (return NULL).
Add API wrappers for all OpenGL-ES 1.1 APIs (normal and debug
modes).
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 3f9caaf16d Evas GL: Add support for OpenGL-ES 1.1 (part 1)
This commit adds lots of required definitions (GL_ stuff),
new API entries in the Evas_GL_API struct, and basic new APIs
to create OpenGL-ES 1.1 contexts.

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 38aa72d139 Evas GL: Fix sigsegv with recent Nvidia EGL driver
Welp, glGetString() crashes if called before eglInit... And this
piece of code is now useless because "safe native" mode is not
used anymore (safe_native is never read).

Remove all safe native-related code.
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre f30f55f9f4 Evas GL: Fix compilation for EGL/GLES
Configure with --with-opengl=es --enable-egl
Fixes runtime link dependencies
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre a0712e25e1 Evas GL: Add support for pbuffer surfaces
Supports only EGL for now :(

These pbuffer surfaces can be used to create dummy surfaces for
make_current and render threads.

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 6cd0aa17da Evas GL: Some documentation fixups 2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 29e7f54ea0 Evas GL: Add evas_gl_surface_query
When using EGL, this function should return the properties of
a surface. Limited to a subset of known attributes.

Right now, this function will only work fine with EGL.
GLX support or any other engine is not implemented.

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 81bf993c6c Evas GL: Add support for fence_sync and similar extensions
This should add support for the following EGL extensions:
- EGL_KHR_fence_sync
- EGL_KHR_reusable_sync (eglSignalSyncKHR)
- EGL_KHR_wait_sync (eglWaitSyncKHR)

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 6848cf40b6 Evas GL: Add evasglCreateImageForContext + import defs
evas gl CreateImage function was assuming the current context
should be used to create an image, while the equivalent EGL function
specifically requires the context to be specified.

This also imports some definitions for CreateImage.

And fixes typo in glEGLImageTargetRenderbufferStorageOES.

This adds new functions in Evas_GL_API struct. The version
number will be bumped to 2 in a later commit.

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 29e572cdfb Evas GL: Add support for client-side rotation
This is a new feature allowing direct rendering even when
the view is rotated. In that case, the application is responsible
for rotating its view and rendering it properly given the object
geometry.

This implements support for the flag
EVAS_GL_OPTIONS_CLIENT_SIDE_ROTATION

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 90b07fc42a Evas GL: Fix rotation angle get to check for DR first
direct_enabled() is not visible from the engines... but it is from
evas_gl_core which calls the engine.
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre f351aad8bf Evas GL: Return safe empty string "" instead of NULL
This is so dumb.
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre de7a8a3dab Evas GL: Add API evas_gl_rotation_get
This will be used to increase the chances of having direct
rendering (no fallback to FBO) even if the window is rotated.

The client is then responsible for handling the view rotation.

@feature
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre d3ff6dfa7f Evas GL: Add support for current sfc/ctx get with osmesa 2014-10-20 12:16:07 +09:00
Jean-Philippe Andre d46a7fc172 Evas GL: Implement basic error get in software generic 2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 28a76266c6 Evas GL: Fix runtime linking issues
There is some mess with gl common functions that need to be
called from the engine itself, eg. error set/get.
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 0ee951fc21 Evas GL: Add safety checks for missing functions 2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 49f79f0a73 Evas GL: Skip glClear() with direct rendering & transparent color
When using direct rendering, glClear() should not do anything
if the ClearColor was (0,0,0,0). The application would indeed
expect a transparent output (so, see the widgets below the view),
but glClear would erase the pixels instead. So add a quick check
to skip glClear entirely in that specific case.
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre cb5e88d20f Evas GL: Add APIs to get current surface/context
- evas_gl_current_surface_get
- evas_gl_current_context_get

@feature
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 68ca82e83f Evas GL: Add more thread safety to gl_x11 2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 6e4d7151b8 Evas GL: Save EGL error codes in gl_x11 engine 2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 8d6f873354 Evas GL: Add API evas_gl_error_get()
Similar in meaning to eglGetError()

@feature
2014-10-20 12:16:06 +09:00
Jean-Philippe Andre 08889de92b Evas GL: Add some thread safety
This is only the core evas gl support.
TODO: gl_x11 and other engines
2014-10-20 12:16:06 +09:00
Cedric BAIL 955fd1d712 edje: destroy left over reference when removing a part.
NOTE: This patch is still not complete, their is more reference, but I couldn't
find all of them yet.
2014-10-20 01:28:12 +02:00
Cedric BAIL 9d69033411 edje: actually reuse the right Part_Lookup and not a destroyed one. 2014-10-20 01:28:12 +02:00
Daniel Zaoui dedd8cef64 Eolian/Generator: support common descriptions for properties. 2014-10-19 13:25:06 +03:00
Daniel Zaoui af513b6af3 Eolian: add support for property descriptions.
For properties, set and get descriptions were supported but common
comment was not.
2014-10-19 13:25:06 +03:00
ChunEon Park 5718763ca3 evas/gl: code refactoring.
improve code readibility.
2014-10-19 15:39:51 +09:00
Cedric BAIL 5e5e602ab0 eio: actually correctly set all field to NULL.
@fix T1729
2014-10-18 15:22:30 +02:00
Jaehwan Kim c567f0ba9f edje: fix the image set bug.
Summary: Before using the parameter ep->param1.set, it should be set.

Test Plan:
 diff --git a/data/themes/edc/elm/button.edc b/data/themes/edc/elm/button.edc
 index 097ce85..34a2b98 100644
 --- a/data/themes/edc/elm/button.edc
 +++ b/data/themes/edc/elm/button.edc
@@ -3,6 +3,15 @@ group { name: "elm/button/base/default";
    alias: "elm/button/base/naviframe/back_btn/pager";
    images.image: "button_normal.png" COMP;
    images.image: "button_clicked.png" COMP;
+   images {
+      set {
+         name: "button_normal";
+         image {
+             image: "button_normal.png" COMP;
+             size: 0 0 9999 9999;
+         }
+      }
+   }
 #define ICON     1
 #define LABEL    2
 #define MASK     3
@@ -74,7 +83,7 @@ group { name: "elm/button/base/default";
    parts {
       image { "base"; nomouse;
          desc { "default";
-            image.normal: "button_normal.png";
+            image.normal: "button_normal";
             image.border: 4 4 3 5;
             image.middle: SOLID;
             rel1.offset: -1 0;

and print the value ep->param1.set about "base" part of "elm/button/base/default" group before it is used.
It has a NULL at first time.

Reviewers: raster, jinsol, herb, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-18 13:56:38 +02:00
Tae-Hwan Kim 1ba47f132b evas: improve documentation.
Summary: Add more reference link and read proof.

Reviewers: raster, huchi, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-18 13:53:05 +02:00
Maksym Volodin 9eb1093424 edje: Edje_Edit - add state alloc for PROXY part.
Summary:
To allow edje_edit_state_add work properly for PROXY part, EDIT_ALLOC_POOL for PROXY is added.
@fix

Reviewers: Hermet, seoz, cedric

Reviewed By: cedric

Subscribers: cedric, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-18 13:48:51 +02:00
Kateryna Fesyna dad54f4f75 edje: Edje_Edit - fix edje_edit_image_usage_list_get() to return usage list with images with USER compression.
Summary:
add recalculating of image id in edje_edit_image_usage_list_get() to fix wrong behavior of this function when the image has USER compression.

@fix

Reviewers: Hermet, cedric, raster, reutskiy.v.v

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-18 13:47:30 +02:00
Igor Gala 7366caab1a edje: Edje_Edit - get the source name of the sample
@feature

Reviewers: cedric, Hermet, seoz, raster, reutskiy.v.v

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-18 13:44:30 +02:00
Daniel Kolesa 92f369cd1b elua: generate property wrapper bodies with correct arguments in lualian 2014-10-17 16:52:41 +01:00
Daniel Kolesa 6311472e97 elua: generate __properties in lualian 2014-10-17 16:44:55 +01:00
Daniel Kolesa 54d7fed7b6 elua: handle event/property mixins correctly in eo 2014-10-17 16:14:49 +01:00
Daniel Kolesa 9e770c06be elua: complete property handling in eo bindings (getters, setters, keys, vals) 2014-10-17 15:54:47 +01:00
Daniel Kolesa cf895efbb5 elua: we don't need property system in object core anymore 2014-10-17 15:19:06 +01:00
Daniel Kolesa 8414846142 elua: ffi.string in method calls is bad... reduce allocs 2014-10-17 14:56:44 +01:00
Jihoon Kim 884ef21f22 ecore_imf: Add normal and password variations 2014-10-17 21:34:08 +09:00
Jihoon Kim 0386c57001 ecore_imf: Add example code link in Ecore_IMF API doxygen 2014-10-17 13:54:02 +09:00
Jaehwan Kim 1e21a4c323 scale: add the API edje_object_base_scale_get.
This function returns the base_scale factor set on the
Edje object.
The base_scale can be set in the collection of edc.
If it isn't set, the default value is 1.0.
2014-10-16 13:45:30 +09:00
Vincent Torri 0e20323a4a Ecore_Win32: Fix string for the BackSpace key on Windows
@fix
2014-10-14 09:02:42 -04:00
Vitalii Vorobiov d8955625ce Edje_Edit: creating new hash in global data if it is not created yet
Summary: edje_edit_data_add doesn't work if loaded EDJ file doesn't contain
any data items. It can't add new data item to emptry (NULL) hash.
Now, if there is no data in EDJ yet (so hash is empty), by adding new data it
will create hash and after that will add new data.

@fix
2014-10-13 16:57:08 +03:00
Savio S. Machado 0ca819974c eo-cxx: Replace C++ throw with EFL_CXX_THROW. 2014-10-13 07:45:34 -03:00
Daniel Juyung Seo b8ce446c2b ecore: Add more documentation for ecore_animator_source_set(). 2014-10-13 14:56:19 +09:00
Cedric BAIL 86438f5583 evas: more defensive programming. 2014-10-12 10:11:50 +02:00
Daniel Kolesa 1e55e26422 elua: properly hook up gc so that eo objects are unref'd in C when collected 2014-10-10 15:44:49 +01:00
Daniel Kolesa 4c418e61cc elua: fix eo callback return 2014-10-10 14:46:50 +01:00