Commit Graph

1924 Commits

Author SHA1 Message Date
Jean-Philippe Andre 9db20800a2 Evas GL: Fix glClear(0,0,0,0) with DR and COPY
When glClear is called in direct rendering move (DR), we usually
have to skip the call altogether because clearing out transparency
would erase the pixels in the evas backbuffer. This means Evas
would not be able to blend an RGBA GLView on top of other objects.

But COPY mode should allow Evas GL to poke holes in a window
backbuffer.

Thanks @spacegrapher for the review :)

NOTE: Elm GLView also needs to pass the render op to its Evas.Image.

@fix
2015-07-16 19:50:38 +09:00
Jean-Philippe Andre b439fafa17 Evas GL: Fix internal function pointer
evas_gl_native_context_get is an internal function
passed around from an evas engine to evas_gl so that we can
implement evasglCreateImageForContext without exposing
any evas engine internal structure to evas_gl.

It's all a ittle bit ugly but the previous solution with
dlsym(DEFAULT) didn't work.
2015-07-16 19:50:38 +09:00
Jean-Philippe Andre 576f2ccab7 Evas GL: Fix evasglImageDestroy() from non-evasgl threads
If the TLS variable was not initialized, Evas GL can't get a pointer
to a valid EGLDisplay which is required by eglImageDestroy.

So, we keep track of the dpy used at creation time and use that
if we're in another thread.
2015-07-16 19:50:38 +09:00
Daniel Kolesa 216f738acf image_savers/jpeg: actually properly fixed the jump 2015-07-16 10:14:44 +01:00
Carsten Haitzler 11e38b5e86 Revert "image_savers/jpeg: actually use normal jmp_buf/setjmp/longjmp"
This reverts commit 5beb47aa4d.

Revert "image_savers/jpeg: fix undefined behavior of using sigsetjmp on jmp_buf"

This reverts commit 84c7751e19.

these end up with efl simply not compiling. efl tree does not build at
all now and this warrants a revert.

lib/evas/.libs/libevas.so: undefined reference to sigjmp'
collect2: error: ld returned 1 exit status
Makefile:19321: recipe for target 'bin/evas/evas_cserve2' failed
.. etc.
2015-07-16 11:14:29 +09:00
Daniel Kolesa 5beb47aa4d image_savers/jpeg: actually use normal jmp_buf/setjmp/longjmp 2015-07-15 20:05:23 +01:00
Daniel Kolesa 84c7751e19 image_savers/jpeg: fix undefined behavior of using sigsetjmp on jmp_buf
@fix
2015-07-15 16:24:27 +01:00
Daniel Kolesa 48936722f9 gl_generic: fix unintended behavior (we want to assign the value we point to) 2015-07-15 16:13:39 +01:00
Carsten Haitzler 59db1cd0e2 evas - unload/scalecache self-feeding loop unload/reload fix
i was runing perf top and noticed that evas_image_load_file_data_eet(0
was being called. in fact - it was #1 on the list of functions being
called. why? it didn't make sense. i found out. just a blinking cursor
in terminology was causing the background to be unloaded and
re-loaded. the new "actually unload" changes for 1.15 made this happen
and thus we kept sucking in new data all the time even if the
scalecache already had the data - and that was the problem.

so now calcecache prepare tells you if you don't have cached data and
if you likely then have to ensure the data is loaded. this cuts down
quite a bit of work.

while i'm at it... we definitely need to clean house on the internals
of evas. a decade+ of features, mess, optimizations needs to be fixed.
i mean really house-cleaned. rewritten clenl;y re-using existing code
where appropriate.
2015-07-12 13:17:08 +09:00
Tom Hacohen 9183ba9546 Evas gl core: Move variables to the correct ifdef branch.
These variables were not really used in the #else branch of the ifdef.
This moves them to the correct place removing the unused variables issues.
2015-07-07 13:28:53 +01:00
WooHyun Jung 1390f65beb Evas gl_common: Fix up error handling 2015-07-06 14:18:36 +09:00
Carsten Haitzler ecc17e621e evas gl - dont crash if gl image internal im is null
new crash i saw today
2015-07-05 18:01:06 +09:00
WooHyun Jung ea6a31ac55 Evas gl_common: Fix up error handling 2015-07-02 21:54:51 +09:00
Jean-Philippe Andre 2a46280e1e Revert "Evas gl_cocoa: remove code duplicated from gl_generic"
This reverts commit 681c8b0ec2.

@cedric pointed me out that gl_cocoa doesn't depend on gl_generic,
so this commit was not very smart.
2015-07-02 16:00:40 +09:00
Jean-Philippe Andre b5c9350805 Evas: Replace image_map_surface_free by common image_free
Those two functions were doing exactly the same thing[1], which
is free an image, so this commit only attempts to simplify the code
a little bit.

[1] Actually image_map_surface_free() might even not have worked
properly with cserve2 sw (calling unload instead of close).
2015-07-02 12:05:50 +09:00
Jean-Philippe Andre 681c8b0ec2 Evas gl_cocoa: remove code duplicated from gl_generic
Remove the two functions:
- image_data_get
- image_data_put
2015-07-02 11:58:50 +09:00
Jean-Philippe Andre fd4e133cc1 Evas: Implement image_data_get for FBO images 2015-07-02 11:58:50 +09:00
Chris Michael 0e0e148bb3 evas-fb: Fix compiler warnings about suggested parentheses
Summary: Gcc suggested parens around the truth value here, however
as some developers don't like overly used parens, just modify the code
slightly to not use an if on the assignment line.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-30 09:25:23 -04:00
Daniel Kolesa 8fcad9672c evas_engine_software_x11: fix incorrect enumeration type warning 2015-06-29 14:27:02 +01:00
Ji-Youn Park 8c66b70aa9 ecore_evas: fix iconified state set bug
if app set iconified state false, ecore evas call activate instead of show.
2015-06-26 19:18:09 +09:00
Carsten Haitzler e90d60f8f5 ecore-evas-extn : map shm for sharing render pixels conservatively
@fix

before we mapped these segmentsa read+write for the user or read+write
for EVERYONE if system. this now creates the file as r+w for the user
and +ro for everyone only IF system, and clients voluntarily map
read-only to avoid possible memory corrupting of pixels from the
client side. not more secure for clients, but nicer. defintiely more
secure for system services.
2015-06-26 17:37:24 +09:00
Daniel Kolesa c709f1dca2 eolian/generator: constify all prototypes for @const functions
Otherwise there would be conflicts in certain circumstances.

This also requires adding const on many existing functions,
and similar work is necessary in Elementary.

@fix
2015-06-25 12:18:43 +01:00
SangHyeon Lee 9e57d34893 fb engine : Add NULL type handling in output free.
Summary:
Add NULL type check in output_free of evas fb engine.
If engine setup is failed,
Render_Engine wil be NULL so output_free also need to
handling NULL check.

Test Plan:
It needs specific condition to reproduce,
           engine of ecore_evas is set to fb, and setup is failed,
           then Render_Engine is NULL, but ecore_evas_free will call
           output_free in fb engine's evas_engine.c

Reviewers: raster, cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric, seoz, eagleeye, singh.amitesh

Differential Revision: https://phab.enlightenment.org/D2743
2015-06-23 08:11:39 +09:00
Seunghun Lee 8b62177561 ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.

@feature

Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example

Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 10:31:42 -04:00
Oleksandr Shcherbina ac4b6422f4 evas: fix Evas.Canvas3D color pick
Summary:
After this commit	684c51360f it didn't work
Miss bind color pick texture to drawable data
@fix

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric, Ievgen, se.osadchy

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-22 11:11:33 +02:00
Chris Michael 4e6b06dfd7 evas-gl-drm: Cleanup compiler warnings when building gl_drm engine
Summary: This cleans up nasty compiler warnings when building the
gl_drm engine. If we do not define EGL_EGLEXT_PROTOTYPES then we end
up with implicit declaration warnings

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-18 09:59:29 -04:00
Oleksandr Shcherbina d409df1caa evas: change interface evas_3d to evas_canvas3d
Summary:
Regard to https://phab.enlightenment.org/T2479 it is need for right generation
Eolian files

Reviewers: cedric

Subscribers: cedric, tasn

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-17 17:52:17 +02:00
Chris Michael 7d6b142ca7 ecore-evas-drm: Default to GBM_FORMAT_ARGB8888
Summary: Seems some platforms (my setup here at least) don't have EGL
configs which suppose GBM_FORMAT_XRGB8888, so default to ARGB

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-17 10:19:29 -04:00
Chris Michael cdbaa65bd4 evas-gl-drm: Add support for EGL_MESA_platform_gbm
Summary: This change adds support for using EGL_MESA_platform_gbm to
get the display directly from gbm and to create a window surface
(usable by egl) directly from the gbm surface.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-17 10:19:29 -04:00
Cedric BAIL 7a1da35e22 evas: use the right function with freetype backend. 2015-06-16 17:23:05 +02:00
Jihoon Kim bae1c701ba ecore_imf/wayland: Add NULL check before accessing 2015-06-16 16:28:16 +09:00
Dongyeon Kim 6f55b135c2 evas/gl: Add null checks
Summary: Add null check for glGetString version check and evgl_engine

Test Plan: Local tests

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2699
2015-06-16 13:47:16 +09:00
Jean-Philippe Andre 8d72372fa7 Evas GL: Fix error message (ERR --> INF) 2015-06-15 17:51:36 +09:00
Dongyeon Kim 291fcca181 evas/gl_x11, gl_cocoa: remove static variable in eng_font_draw
Summary:
When evas is recreated, this static variable value remains,
so it references already freed memory.

Test Plan: Local tests

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: wonsik, mer.kim, cedric

Differential Revision: https://phab.enlightenment.org/D2678
2015-06-15 17:48:11 +09:00
Chris Michael 88cb6b74bf evas-gl-drm: Cleanup gl_drm engine code a bit more
Summary: This cleans up the gl-drm engine code a bit and avoids the
need to constantly destroy and recreate the gbm device itself. This
also adds checks during Outbuf create to handle the swap_mode as per
previously added enum.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-12 11:50:24 -04:00
Chris Michael 9315424bac evas-gl-drm: Move gbm_surface field to Outbuf structure
Summary: This moves the Engine_Info's gbm_surface field to the Outbuf
structure

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-12 11:50:24 -04:00
Chris Michael 8809979ce3 evas-gl-drm: Add swap_mode enum
Summary: This adds an enum we can use for setting/determining the
swap_mode to use for the gl_drm engine

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-12 11:50:24 -04:00
Subhransu Mohanty aac9bee035 evas/engines : renamed ector native engine to "default" from "freetype" 2015-06-12 19:56:57 +09:00
Jean-Philippe Andre 142626c00a Evas GL: Make INF message more explicit
Direct rendering is actually quite hard to enable, so make the
message very explicit for elm_glview users. Thanks zmike for
reporting this msg.
2015-06-11 10:40:08 +09:00
Jean-Philippe Andre cb11a67595 Evas GL: Fix coverity CID 1304559, 1304560
Summary:
<CID 1304559: Logically dead code>
The dead code is only valid for GLES backend, so move if statement
to be used for GLES backend only.
<CID 1304560: Bad bit shift operation>
When calculating depth bit, bit shifting could be done with negative values.
@fix

Test Plan: Local tests

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2654
2015-06-11 08:39:43 +09:00
Carsten Haitzler 25983dcedd evas render2 work - begin to make rectangles deal with render 2 basic
infra
2015-06-09 17:34:39 +09:00
Jean-Philippe Andre fb58613e18 Evas: Fix shadow warning 2015-06-09 15:55:35 +09:00
Jihoon Kim b8bcc35f7a ecore_imf/wayland: support on-demand show mode
In on-demand show mode, input panel will be shown in case of only an user's explicit Mouse Up event.
It doesn't request to show the input panel even though the Input Method Context has focus.
2015-06-09 14:30:07 +09:00
Stefan Schmidt d50cebbd4f modules/evas/engines/software_generic: No need to check enums for smaller 0
Evas_Image_Orient is an enum starting at 0 thus we never go below 0. Remove
unneeded checks.

modules/evas/engines/software_generic/evas_engine.c:1558:4: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
modules/evas/engines/software_generic/evas_engine.c:1560:8: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
2015-06-08 17:09:38 +02:00
Avi Levin f9c116a487 emotion: porting evas smart callbacks to eo 2015-06-07 11:00:52 +03:00
Chris Michael 50a37e72fc evas-gl-drm: Trap for invalid gbm bo
Summary: If we fail to lock the front buffer, we will not get a valid
bo returned so we should not be calling other functions which require
a bo.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 13:40:35 -04:00
Chris Michael 939d221ff1 evas-gl-drm: Fix issue with swap mode returning wrong value
Summary: This fixes a crashing issue in evas image cache due to the
engine returning an improper swap mode.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:45 -04:00
Chris Michael a83bb5e45d evas-gl-drm: Refactor gl_drm engine to not use dumb buffers
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:45 -04:00
Chris Michael 35e7d36489 ecore-evas-drm: We don't need to feed mouse events here
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:45 -04:00
Chris Michael 70b674d06c evas-gl-drm: Create eglContext before eglWindowSurface
Summary: We should be creating the eglContext before trying to create
the window surface.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:44 -04:00
Chris Michael 493e751882 ecore-evas-drm: Use XRGB format for gl_drm canvas
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:44 -04:00
Chris Michael 47a2602af7 evas-gl-drm: Readd support for pre_swap/post_swap callbacks
Summary: The pre/post swap callbacks were forgotten when doing the
engine rewrite, so readd them

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:44 -04:00
Chris Michael 39c28cbe8e ecore-evas-drm: Update ecore_evas_drm for recent evas gl_drm changes
Summary: Previous Ecore_Evas drm code would create the gbm device and
surface inside the gl_drm function. As these are now handled inside
the evas-gl-drm engine itself, this code is not needed here.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:44 -04:00
Chris Michael ee593050f1 evas-gl-drm: Rework gl_drm engine to function again
Summary: Previous gl_drm evas engine code did not work properly (or at
all really). This reworks/refactors the gl_drm engine code to work
again with the changes made to ecore_drm.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:44 -04:00
Chris Michael 58dbb63ba4 evas-gl-drm: Remove old engine code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-05 10:00:44 -04:00
Dongyeon Kim 25822405a4 evas/gl_common: Reset mvp matrix only for shaders that are being used
Summary:
Evas has quite a number of shaders, and resetting the projection matrix
for all shaders takes some time, which is an overhead when target surface
is continuously being changed (ie. when using proxy).
So here we reset the projection matrix for shaders that are actually used.
2015-06-03 11:30:22 +09:00
Dongyeon Kim 3e39bf3638 Evas GL: support surfaceless make current
Summary:
Evas GL now supports surfaceless make current, where
evas_gl_make_current can be called with sfc parameter NULL.
This closely resembles EGL_KHR_surfaceless_context extension,
where applications that only want to render to client API targets
can make current to NULL surface instead of creating a dummy egl surface.
@feature
2015-06-03 11:30:22 +09:00
Dongyeon Kim a4c05cc68c Evas GL: Skip surface buffers create/allocate for pbuffer with NO_FBO
Summary:
When pbuffer surface is created with EVAS_GL_NO_FBO config,
FBO should not be created/allocated.
2015-06-03 11:30:22 +09:00
Dongyeon Kim 517109858e Evas GL: Match FBO config with window surface config
Summary:
When direct rendering is enabled, FBO configuration should match
window surface configuration as FBO will be used in fallback cases.
So create FBO with configuration from window surface.
@fix
2015-06-03 11:30:22 +09:00
Dongyeon Kim ae91db021b Evas GL: Pass correct attachment enum for glDiscardFramebufferEXT
Summary:
When default framebuffer(0) is bound, attachment should contain
COLOR, DEPTH or STENCIL for glDiscardFramebufferEXT.
When a framebuffer object is bound, attachment should contain
COLOR_ATTACHMENT0, DEPTH_ATTACHMENT or STENCIL_ATTACHMENT.
This should be correctly taken into account for indirect rendering,
where internal FBO is used.
@fix
2015-06-03 11:30:22 +09:00
Dongyeon Kim e4e67732c2 Evas GL: return correct context for context_get with indirect context
Summary:
When evas gl falls back to using indirect context,
evas_gl_current_context_get() should return the indirect context.
@fix
2015-06-03 11:30:22 +09:00
Dongyeon Kim 660bfcf3c2 Evas GL: Separate EGL and GL extension lists
Summary:
Separate EGL extensions from GL/GLES extension list, since
we have extension list for each GL version, and we do not want to
check EGL extensions differently when different GL versions are used.
This also simplifies extension string get function as we just need to
concatenate EGL and GL extensions rathan than keeping track of
GL extensions only.
2015-06-03 11:30:22 +09:00
Dongyeon Kim 411bc27390 Evas GL: Share texture id in case EGL image is not supported
Summary:
When EGL image is not supported, Evas GL should share texture id
to the gl backend for indirect rendering to work.
2015-06-03 11:30:22 +09:00
Dongyeon Kim 34480d3d5d Evas GL: Make current to an Evas GL context before destroying surface buffers
Summary:
We should make current to an Evas GL context before calling _surface_buffers_destroy,
otherwise resources from GL backend will be removed.
@fix
2015-06-03 11:30:22 +09:00
Dongyeon Kim b0d2643f93 Evas GL: Add indirect surface fallback and yinvert callback
Summary:
When either FBO or EGL image from texture extension is not supported,
we can use pixmap surface as indirect surface fallback.
Since native pixmaps have (0,0) in the upper left while
FBOs have (0,0) in the lower left, we should invert the y coordinates
when native pixmaps are used as the render target.
To accomodate run-time y-invert check we add a new callback for
EVAS_NATIVE_SURFACE_EVASGL type.

Reviewers: cedric, jpeg

Subscribers: wonsik, mer.kim, cedric
2015-06-03 11:30:22 +09:00
Dongyeon Kim 63e057bff9 Evas GL: Fix direct_mem_opt and direct_override
Summary:
Remove surface buffer create/allocate in pbuffer_surface_create.
In evgl_make_current, we should use direct_mem_opt, direct_override values
set in EVGL_Surface struct, not the global value set by env variables.
@fix
2015-06-03 11:30:21 +09:00
Dongyeon Kim ea5788d247 Evas GL: destroy egl image when surface is destroyed
Summary:
We should destroy egl image when surface is destroyed
to avoid memory leak.
@fix

Test Plan: Evas GL test cases

Reviewers: jpeg

Subscribers: mer.kim, mythri, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2357
2015-06-03 11:30:21 +09:00
Dongyeon Kim e789b24ff4 Evas GL: 1.x support for GLX
Summary:
Now we can support EVAS_GL_GLES_1_X version for GLX backend
with both direct and indirect rendering.
Refactored api get functions to have similar code path for each version.
@feature

Test Plan: Evas GL test case

Reviewers: cedric, jpeg

Subscribers: cedric, mer.kim, mythri, wonsik

Differential Revision: https://phab.enlightenment.org/D2342
2015-06-03 11:30:21 +09:00
Jean-Philippe Andre 777f7f2047 Evas masking: Fix rare issue of invalid rendering (GL)
Thanks Dongyeon for finding out this solution. Now that was
one nasty bug :)

Somehow the currently bound texture id would not match what
Evas expected, so Evas would not call glBindTexture when
required. As a result it was drawing black (sampling from tex 0).

@fix
2015-06-03 11:03:29 +09:00
Chris Michael 732d67c155 evas-drm: Remove useless fields from Outbuf structure
Summary: These fields are not needed in the outbuf structure as they
are never used, so just remove them.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-02 09:24:22 -04:00
Chris Michael 8e4426642d evas-drm: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-02 09:17:57 -04:00
Chris Michael 6929172a81 evas-gl-drm: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-01 14:06:21 -04:00
Jihoon Kim 15814ccccb ecore_imf/wayland: support input language mode in wayland text input
@feature
2015-05-28 13:13:25 +09:00
Jihoon Kim 7240a71d33 ecore_imf/wayland: support input hint in wayland text input
@feature
2015-05-28 11:35:05 +09:00
Jihoon Kim 85166a0c73 ecore_imf/wayland: support password mode in wayland text input
@feature
2015-05-28 10:05:11 +09:00
Carsten Haitzler 2b8d54c357 emotion gstreamer1 module - support 709 color matrix properly now
now that 709 colorsp[ace works in evas, use it properly in gst1 module
if possible
2015-05-27 23:34:08 +09:00
Carsten Haitzler cc49c1702b evas - fix yuv support to no longer ignore 709 colorspace params
if yuou use 709 instead of 601 yuv (ycbcr) evas will just be wrong and
use 601. this fixes that and implements 709. it also fixes a scaling
bug for yuv in the gl engine. no one noticed but me, so i won't call
this a bug fix, and it can go into the next efl release - no need to
backport unless it actually bothers peolpe (which it seemingly doesn't)
2015-05-27 20:19:46 +09:00
Jihoon Kim c5f0eea83d ecore_imf/wayland: support autocapital mode in wayland text input
@feature
2015-05-27 14:39:37 +09:00
se.osadchy 684c51360f evas: fix color pick compatibility of Evas_3D with GLES.
Summary:
Use fourth component texture. Update mechanism generation pixels, scene renderer
to texture and geting color pixels from texture. Update shader for color pick.

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: Oleksander, cedric

Differential Revision: https://phab.enlightenment.org/D2549
2015-05-27 00:31:07 +02:00
Oleksandr Shcherbina abc1eabecb evas: fix compatibility with GLES2.0. Shadow effect
Summary:
Use RGBA texture unit for generation shadow. Use separate framebuffer and
renderbuffer for shadow map.
Refactor shadow map shader to use position of shadow and pack depth value in
RGBA texture.
Refactor shader function for generation shadow factor to unpack depth value from
RGBA shadow map.

Reviewers: cedric, Hermet

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-27 00:31:07 +02:00
Cedric BAIL f78bc0f22a evas: define EGL_OPENGL_ES3_BIT_KHR in all case for better portability. 2015-05-26 09:18:11 +02:00
Carsten Haitzler 7d1a27bae9 evas gl engine - dont complain if refs are still there in cache on trim 2015-05-22 17:12:14 +09:00
Carsten Haitzler b2c9899d8a evas shader generation - add comments to indicate to commit the files
so you know the files should change when you "make" and shf files are
updated, add notes to the .x files generated to indicate they should
be committed back to the repo so it is clear
2015-05-21 17:13:25 +09:00
Carsten Haitzler ce7a6e7106 update shaders 2015-05-21 17:03:36 +09:00
Jihoon Kim 21106fd5f0 ecore_imf/wayland: support feature to change layout of virtual keyboard 2015-05-20 18:47:58 +09:00
Oleksandr Shcherbina fb2e000028 evas: fix compatibility with GLES. Alpha test
Summary:
Add alpha test in shader code instead of function glAlphaFunc that doesn't supported
in GLES2.0
Add gag and TODO in shader function that generate shadow. Without it all scene is
shadowed, because shadow effect doesn't work yet.

Reviewers: cedric, Hermet

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-19 14:17:00 +02:00
Jihoon Kim 82bb9c9c1e ecore_imf/wayland: hide input panel explicitly in focus-out handler 2015-05-19 19:19:54 +09:00
Daniel Kolesa 058a9c9d88 eolian: new syntax for params/values/keys
Instead of "@in type name;" we now use "@in name: type;". This change
is done because of consistency with the rest of Eolian; pretty much
every other part of Eolian syntax uses the latter form.

This is a big breaking change in the .eo format, so please update your
.eo files accordingly and compile Elementary together with the EFL.

@feature
2015-05-18 16:14:31 +01:00
Shinwoo Kim f372eb4b92 [ecore_evas_extn] add function to block mouse event.
Summary: add ecore_evas_extn_socket_events_block_set/get

Test Plan: add mouse event callback, and check whether it could get event or not

Reviewers: raster, woohyun, jaehwan, Sergeant_Whitespace

Reviewed By: Sergeant_Whitespace

Subscribers: Sergeant_Whitespace, seoz, cedric

Differential Revision: https://phab.enlightenment.org/D2268
2015-05-15 16:46:22 +09:00
Chris Michael 9cc25bf3c2 evas-drm: Mark framebuffer as dirty before sending
Summary: We should be marking the framebuffer dirty regions Before we
send the pageflip to the kernel so that the kernel can properly
optimize drawing dirty regions before scheduling a pageflip.

NB: Slightly optimizes evas drm rendering a bit more. Thanks to Daniel
Stone for the help :)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-14 11:52:13 -04:00
MinJeong Kim 2cf0ed49ce ecore_evas_wayland: prevent duplicated shutdown of ecore_wl
Summary:
When the ecore_evas of wayland_egl/shm is freed with ecore_evas_free(),
ecore_wl_shutdown() is called by _ecore_evas_wl_common_free().
so ecore_wl_shutdown() after ecore_evas_free() has to be skipped.
@fix

Reviewers: devilhorns, raster, zmike, gwanglim

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2503
2015-05-14 07:55:24 -04: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
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 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
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
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
Oleksandr Shcherbina b85713a0a4 evas: pass disable atlas flag between Evas_3D_Texture and Evas_GL_Image
Summary:
Bind flag atlas_enable.
Build adjusting matrix only in case getting texture unit with atlas.

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-10 22:55:59 +02:00
Subhransu Mohanty 1ce417eb8b evas/engine: Fix the ector drawing for gl backend 2015-05-09 20:00:01 +09:00
Daniel Kolesa ed0988a22d eolian: change all EFL .eo files to use new syntax for properties 2015-05-07 16:36:58 +01:00