Reviewers: cedric, jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2244
On many platforms the built-in mix(x, y, a) function faster
than its equivalent x * a + y * (1 - a)
Some fields (eg. data) may not be properly initialized.
Use calloc() instead of malloc() will ensure proper initialization
even if we add more fields.
These fields (data) would even be passed down to Evas as
Evas_Event_Key_Down for instance.
Summary:
There is a restriction for some gpu drivers that
eglGetProcAddress must be called after eglMakeCurrent.
So separate egl/glx extensions check from gl_symbols
to be called inside eng_window_new.
Test Plan: egl and glx backend tests
Reviewers: cedric, jpeg
Subscribers: cedric, mer.kim, wonsik
Differential Revision: https://phab.enlightenment.org/D2193
This reverts commit 0585540bb3.
This broke Evas 3d examples. I also suspected some weird things and
wasn't 100% confident with this patch.
Closes T2215.
Thanks for the report.
Summary: This adds a bit more output during crtc flip errors so we can
debug multi-monitor setups
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: As reported by derek & zmike, the previous engine refactor
left some issues where the app would 'flash' during redraws due to
buffer handling. This commit fixes that issue along with flashing
during resize.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If we do not get a new_region_for_update from an engine, it
could mean that the engine has skipped a frame. In that case, we still
want to try and render any future frames. Before this commit, evas
would never try to re-render anything again once it hit a failed
frame. To fix this, we test for a valid returned region, and if we
don't get one, mark this frame as failed so we can try again.
NB: Thanks for the help Cedric !! :)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If we are building for only gles 2.0, then we cannot use
glAlphaFunc else we get compile errors. This adds an #ifndef around
that block to fix building
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Without EGL_PLATFORM environment variable, eglInitialize() can be
failed because egl tried to load DRM platform instead of X11 platform and it
tried to handle XDisplay pointer as a gbm_device pointer as well.
The failure seems to be occured especially if the egl was built
with DRM platform as native platform.
This revision can prevent the failure by indicating proper egl platform using
EGL_PLATFORM environment variable, and additionally it will unset
EGL_PLATFORM environment value when the engine free its info.
@fix
Reviewers: gwanglim, seoz, jaehwan, cedric, raster
Subscribers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D1844
engine
Summary: Frame callbacks are now handled inside the engine itself and
are thus not needed here anymore
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This patch set fixes the issue of Evas wayland shm engine
causing crashes when resizing efl apps in the E wayland compositor. It
refactors the evas engine to wait for release events on buffers, and
hooks into frame callbacks so that release events will get triggered
at the appropriate time.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
this patch bypass calls to (un)lockFocus, avoid segv
when closing windows
This is certainly not the cleanest way to do it but it seems
to be working correctly at the moment. this may leads to
unexepected behavior which haven't been identified now
@fix
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
@fix this patch:
catch the window close event from cocoa and send an ecore event
this event is catched by a handler in ecore_evas wich will
call the registered fn_delete_request (from elementary for instance)
/!\ this patch is currently incomplete and leads to a segv when
closing the last window
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Depth32, Stencil16 and MSAA are known to be unsupported on many platforms.
While applications should try not to request them, we can try to fallback
nicely and still render using depth24+stencil8 (which is often supported),
or reducing the number of MSAA samples (until 0 if not supported at all).
Get rid of warning inside of the jpeg loader that result of it. I do believe
this is not an ABI break on the loader API. If you disagree, please raise your
voice.
Summary:
EVAS_NATIVE_SURFACE_EVASGL uses egl image, but egl image is
not supported in glx backend, so use texture instead.
Test Plan: Local tests on pc
Reviewers: jpeg
Subscribers: cedric, mer.kim, mythri, wonsik
Differential Revision: https://phab.enlightenment.org/D2174
jpeg: fixed casts
When rebasing the commits, I have been lazy and did a git add src/ that
actually added the files that were not ignored. My bad, sorry about that.
The original patch was fine.
Thanks sung.
Summary:
Change function and variable names to more suitable ones.
Remove FBO_FUNC macros.
Little tidying up from previous commit.
Test Plan: Local Evas GL tests for 1.1, 2.0, and 3.0
Reviewers: jpeg
Subscribers: cedric, mer.kim, mythri, wonsik
Differential Revision: https://phab.enlightenment.org/D2126
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary:
Fix build errors for glx backend made from previous commit
Revert parameter naming
Test Plan: Local Evas GL tests for 1.1, 2.0, and 3.0
Reviewers: jpeg
Subscribers: mythri, wonsik, cedric, mer.kim
Differential Revision: https://phab.enlightenment.org/D2117
Summary:
When the context version between Evas GL and GL backend differs,
we cannot share texture between them.
So, when the driver has support for KHR_gl_texture_2D_image extension,
use EGL image to share between Evas GL and GL backend
Test Plan: Local Evas GL tests for 1.1, 2.0 and 3.0
Reviewers: jpeg
Subscribers: mythri, mer.kim, wonsik, cedric
Differential Revision: https://phab.enlightenment.org/D2115
Summary:
Remove gles1 prefixes for functions that are also used by gles3.
Refactor evgl_make_current a little bit.
Destroy indirect context properly.
Some log message changes and typo fixes.
Test Plan: Local tests on desktop PC
Reviewers: jpeg
Subscribers: mythri, mer.kim, wonsik, cedric
Differential Revision: https://phab.enlightenment.org/D2104
Summary:
This should enable applications to use GLES 3.0 through evas gl.
Todo: Fix indirect rendering issue occuring because texture objects
cannot be shared between different version of GLES contexts.
Todo: extension pointers need to be updated for GLES 3.0
Reviewers: wonsik, spacegrapher, jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2017
@feature
- Check debug flag before warning that a surface is not direct
- Remove notes about surface reconfigure, as this will not be implemented
(see previous commit).
Summary:
When Evas GL runs with direct rendering, it can not set depth, stencil and msaa to Window surface.
This patch is possible to use "option" input paramater of ecore_evas_gl_x11_options_new.
So, new API is not needed.
The other patch is in elementary. The elementary patch will be used this patch.
Test Plan: Test elm gl veiw in elementary_test and JP's test app.
Reviewers: spacegrapher, cedric, raster, jpeg
Reviewed By: jpeg
Subscribers: cedric, mer.kim
Differential Revision: https://phab.enlightenment.org/D2144
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Note: jpeg changed the original patch a bit (fix style and depth value)
Summary:
Current definition of transpose and transverse was wrong. Corrected it by
interchanging both definitions.
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2143
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Evas GL backend uses a global OpenGL context for all windows inside
an application. Each window has its own texture to render its
content. We use a singleton NSOpenGLContext shared between all
NSOpenGLView, it solves rendering issues for multiple windows.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Each new Ecore_Evas was already stored into the evases container, however only
the first one was returned and used from events handler, which is not correct if
the application uses multiple windows. This commit adds support to handle
Ecore_Event_Cocoa_Window event type from event handlers and modify
_ecore_evas_cocoa_match() to find the right Ecore_Evas associated with the window
indentifier passed throught Ecore_Event_Cocoa_Window.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
The pixel on the top-right of a texture was set using an invalid offset.
"luckily" this never crashed but probably could have with wide
single-row images.
Also, the output was not perfectly correct.
Summary:
Previously: Each allocation happened in the first chain after any free.
Now: All allocation will happen in one chain until all buckets are full, this can reduce
fragmentation to some extent.
Reviewers: seoz, govi, shilpasingh, raster, cedric
Reviewed By: cedric
Subscribers: cedric, rajeshps
Differential Revision: https://phab.enlightenment.org/D2071
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Automatically fallback to OpenGL ES 2.0 if OpenGL ES 3 is not supported.
This is a first step in trying to support GLES 3 for Evas GL.
This commit is also a wild test to see whether using GLES 3 contexts
by default will break anything. The theory says that GLES 3 is
backwards compatible with GLESv2.
So, if anything GL breaks for you... scream loudly!
But before reporting any bugs, please set the env variable:
- export EVAS_GL_DISABLE_GLES3=1
This does not add any requirement for GLESv3 support.
Just a simple log domain issue (EvasGL was not initialized, so
ERR() would trigger a fatal error). EvasGL is now initialized
on demand when a new GL surface is requested.
engine
Summary: This changes the ecore_evas_pointer_xy_get function call (on
drm engine) to use the new ecore_drm_device_pointer_xy_get so we can
center mouse pointer on an output at startup.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Unfortunately, this "feature" has many problems and does not really
fix those it was supposed to address:
- Elm Photocam becomes horrible to use (the transition from
low-res to high-res tiles triggers this miniature path).
- Evas async preload callback is called before the full image
is ready (ie. the texture is not uploaded yet), when really
the preload callback should be triggered only once the image
is 100% ready. (TODO)
- Sometimes the miniature image keeps being used even though the
main image has been uploaded (eg. with E background). Maybe the
object image is not redrawn when it should.
- This uses a separate thread for the upload, which is both a good
and bad idea because we need to do a make current. Also, this does
not upload the full-res image tile by tile, but only in one pass,
thus blocking the render loop until finished.
This patch changes the env var from "EVAS_GL_NOPRELOAD" to
"EVAS_GL_PRELOAD" (and only "1" will enable).
Sorry Cedric, we can talk later about how to improve this.
Sample in the middle of the "macro pixels" and fool around with the
borders (usually used to limit linear sampling artifacts) to improve
image quality on the edges.
Those miniatures are still 16x16 but MAAAYYYYYBE they will look a bit
less awful.
NOTE: The first row still doesn't scale properly (interpolates with
garbage above y=0).
When evas GL uploads textures, it will first upload a 16x16 miniature
image, and then wait for some idle time in the main loop to upload the
high-res image.
Some images may not have smooth scaling enabled which results in the
miniature scaled with GL_NEAREST, showing big ugly squares. Let's
force smooth scaling instead, for a blur image rather than a
checkerboard.
The previous commit modifies the concept of direct rendering
vs. indirect rendering, so some runtime checks (in debug mode
only) will fail.
This commit introduces two new engine functions:
- gl_get_pixels_pre
- gl_get_pixels_post
The latter will be used in a later patch for optimization.
not changed.
Automatically fallback to indirect rendering on FBO or X11 Pixmap
if the Evas Object Image is not marked as dirty. This should
improve the performance and/or power consumption in those
rare cases where this area of the canvas needs to be redrawn
but the GL content has not changed.
@feature
The usage of strcat/strncat was not safe, and even Coverity reported
about it.
Fixes CID 1256197:
CID 1256197 (#1 of 2): Buffer not null terminated (BUFFER_SIZE_WARNING)
1. buffer_size_warning: Calling strncpy with a maximum size argument
of 10240 bytes on destination array _gl_ext_string of size 10240 bytes
might leave the destination string unterminated.
Summary:
gl_get_pixels_set is called in evas_object_image_render
even when evas gl is not used.
As gl_get_pixels_set does not actually call evas gl functions,
we can safely remove evgl_init macro here.
Reviewers: raster, cedric, jpeg, Hermet
Subscribers: cedric, mer.kim, wonsik
Differential Revision: https://phab.enlightenment.org/D2063
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary:
Currently dynamic hint set is implemented using eglMapImageSEC extension,
which is no longer supported by any drivers (should be deprecated)
This patch implements dynamic hint set using Khronos extension EGL_TIZEN_image_native_surface.
Since tbm surface library is required for this, libtbm.so is queried at context new.
Test Plan: Local tests
Reviewers: raster, Hermet, cedric, jpeg
Subscribers: mer.kim, wonsik, cedric
Differential Revision: https://phab.enlightenment.org/D2027
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
jpeg: I also fixed a few minor style issues and two warnings (bad function
names, glsym instead of secsym).
Remove last traces of the uniforms stuff for shaders, that was
removed in the following commits: 6b48c106d3 and cfd337a758.
Don't use uniforms in the evas GL pipeline, at least not like that.
Summary: This fixes compile for the gl_drm engine if
--with-opengl=full is passed on the cmd line. These changes are
based on the diff provided by spotrh in the above ticket.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This commit compiles out the debug messages that were
generating compiler warnings during build. You can reenable these
messages if you uncomment GL_DRM_DBG in evas_engine.h
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds support for native surfaces in xcb. Previously when
the TBM Native Surface support was added, it broke the xcb build.
These commits fix that issue.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: In the _native_bind_cb function, the data parameter is
actually used inside here, so having EINA_UNUSED on the function
parameter is incorrect.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The function image_scaled_update() frees() the old scaled image
passed as input if it doesn't match the old dimensions. This commit
will avoid double frees.
Edje may not set the filled flag on an image even if its fill
properties make it fill the whole object. For masking, it can
then be considered as a filled image.
Call object's function to get the private engine_data (here, the
image object). Thanks Dongyeon for your patch which inspired me to
do that instead of forcing pre_render.
This will currently optimize most of the masks when using the
GL engine[1].
This is a very special case that adds a highly optimized path
for masking in GL. It works by creating a virtual image, containing
a pointer to the original image and a new geometry[2].
Instead of creating a new FBO-based surface (image_map_surface),
we refer to the original image and adjust the mask geometry on
the fly.
KNOWN BUGS:
- masking a map with such a scaled image is now broken.
[1] Right now all masks are simple Evas Object Image, so that means
all cases of masking, except masks of masks, or masks of maps,
will be optimized with this new method.
[2] This virtual image mechanism is still quite hackish and may
be improved (for memory usage, refcounting, etc...)
Summary:
For example of a bug, part of .obj file:
vn 0.5536 -0.7200 -0.4185\n
vn -0.5536 -0.7200 -0.4185\n
\# 239 vertex normals\n
\n
vt 0.4998 0.2618 0.0000\n(lines like this were ignored)
vt 0.5205 0.2550 0.0000\n
vt 0.5249 0.2618 0.0000\n
@fix
Test Plan: Run colorpick example. Before and after this update. ("M15.obj" has fixed places.)
Reviewers: cedric, Hermet, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2049
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
When destroying a GLES 1.1 surface, it is necessary to also
destroy and remove the main surface from the list.
This issue probably never really showed up because people
don't:
- use GLES 1.1
- constantly create & destroy new Evas GL surfaces
- but mostly no one cares about 1.1 anymore :)
@fix
This requires a special context that matches the configuration
required for GLES 1.1. Otherwise eglMakeCurrent() would fail
miserably with EGL_BAD_MATCH in case of indirect rendering
(at least on some drivers).
Summary:
- Implement glGetString() wrapper func in the same way as gles2.x.
- Small bug fix glGetString() for gles2.x.
Reviewers: cedric, raster, jpeg
Subscribers: cedric, mythri, wonsik, spacegrapher
Differential Revision: https://phab.enlightenment.org/D2033
Those 2 new values are here to avoid using environment variables
that have side effects on the whole application.
I'm actually wondering if we shouldn't just kill off the env
vars altogether. Also, direct override is a terrible option that
should never be used.
Memory optimization can make sense (needs more testing tho).
Summary:
To distinguish supported extension name from not supported.
This patch can be solution to the problem, glGetString() returns non-supported extention name.
Test Plan: Local tests
Reviewers: raster, jpeg, Hermet, cedric
Subscribers: cedric, spacegrapher, wonsik
Differential Revision: https://phab.enlightenment.org/D1981
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary:
Resolved T2133 by using eng_image_data_get instead of evas_cache_image_pixels to
get image pixels. Also made other minor changes for error handling.
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: cedric
Subscribers: cedric
Maniphest Tasks: T2133
Differential Revision: https://phab.enlightenment.org/D2028
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Fix 1- If extension is not listed in GL_EXTENSIONS, do not try
to get the function address of the extension functions.
Fix 2- For GL_EXT_robustness, for GLESv1 version, do not try to
export glGetnUniformXXX functions.
Reviewers: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1965
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary: If eglGetError sequencially called, second eglGetError() doesn't give the information of real Error.
@fix
Reviewers: raster, jpeg, cedric, Hermet
Subscribers: cedric, spacegrapher, wonsik
Differential Revision: https://phab.enlightenment.org/D1982
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
<vtorri> bad Mike !
<vtorri> the name of the function is not good, so compilation fails on Windows
<vtorri> remove 'object' in the name of the definition of the function :)
@fix
This reverts commit 986b60eaf0.
Added PUSH_SAMPLE for simplicity.
It was dumb of me to use uniforms, so I added a comment to prevent
other dumb people from making the same mistake later.
The exact same ugly macro would appear hundreds of times in the GL
code:
GLERR(__FUNCTION__, __FILE__, __LINE__, "");
Instead, override the common GL functions iif GL_ERRORS is defined.
This greatly simplifies code and removes tons of useless lines.
Also, this will give better debugging output as the exact code line
is printed, and the function name is also printed.
Also, fix linking to the glerr function.
This is a code cleanup. Hopefully I didn't break anything with this
big operation of find & replace.
This should speed up setting uniforms in the shaders, by storing
their locations in the Evas_GL_Program description.
I kept the previous solution with name as fallback, but it won't
actually be used with the current shaders.
Image and texture programs "12", "21" and "22" used tex_sample
as a texture attribute passed to the vertex shader. Instead of
this seemingly hackish solution, use a vec2 uniform.
Summary:
This commit fixed several bugs, and show what was be fixed.
Bugs:
- When designer save obj file in Blender, he/she can set flags (fig 1). Normals and UV coords flags was necessary for obj loader. Loader crushed when they are not set as true. It fixed by this commit.
- Another loaders set default values to data which aren't in loading file, so mesh need more memory for unused data. It fixed by this commit for obj and will be fixed for another formats in future.
- Saver saved incorrect data if normals or tex_coords was not set in mesh in evas. Now it fixed.
- Saver failed if it save mesh without material. It fixed and in this case material file is not created now.
- Also fixed some leaks and undefined behavior which valgrind shows.
Example:
- Example shows cases described above. Example use files saved with different flags for it.
Resources:
- man_mesh is replaced by several smaller file, to use them for showing new features and fixes. For example, similar to that models can be added when implement work with material for obj, work with different flags for obj loader/saver etc. (big count of man_meshes is to much memory).
- texture for home is flipped, because of bug with texture in efl to see if tex_coords is incorrect.
Test:
- test should be rewritten in future, because another formats still use default values for normals and tex_coords. And test can not pass for all types of obj file because of standardization for any format in him.
Test Plan: Test suit will be rewritten after correcting of other formats (they will set NULL to file when save an empty data (like mesh without normals))
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1957
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This fixes some cases where the image has no alpha and COPY mode
is used, but a mask is also applied. In that case, masking
takes precedence and BLEND mode is used.
@fix
I really REAAALLLY doubt that was necessary, but I'm still adding
these few changes for legacy compatibility.
This lib seriously should have had a stable API.
Summary:
libdrm_slp has been replaced with libtbm, so modify xlib swapper
to use tbm apis instead of drm_slp apis
Test Plan: Local tests
Reviewers: raster, Hermet, cedric, jpeg
Reviewed By: jpeg
Subscribers: cedric, wonsik
Differential Revision: https://phab.enlightenment.org/D1932
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary:
This native surface type is based on the tbm surface used for the tizen platform.
For the software_x11 backend, image data is retrieved from tbm surface
and color format converted appropriately.
This will only work when libtbm.so is present in the system.
@feature
Test Plan: Local tests
Reviewers: raster, cedric, jpeg, Hermet
Subscribers: wonsik, cedric
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary:
implement native surface set for EVAS_NATIVE_SURFACE_X11 type
on software_x11 backend.
@feature
Test Plan: local tests on PC
Reviewers: jpeg, cedric, raster, Hermet
Subscribers: wonsik, cedric
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary:
This native surface type is based on the tbm surface used for the tizen platform.
EGL_TIZEN_image_native_surface EGL extension is used to map
tbm surface to an egl image
@feature
Reviewers: raster, cedric, jpeg
Subscribers: cedric, wonsik
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary:
Added additional texture and framebuffer for rendering meshes to it.
Added function that return OpenGL id additional texture
Added function that return color from target texture by mouse pick coordinates
Added function that render need meshes to target texture
Added engine wrappers for possibility force render to texture
@feature
Reviewers: Hermet, raster, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1811
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Extension function pointer initialisation requires glGetString(GL_EXTENSIONS).
To get GLESv1 extension string, GLESv1 context has to be bound.
Change involves updating extensions after GLESv1 context has been bound.
Reviewers: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1946
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
This fixes an issue spotted after the previous fix.
Passing the Y-invert flag is necessary because in the usual
case a map is rendered with Y-invert (OpenGL coords vs. Evas coords)
but in case a map is rendered in an FBO (another map's surface)
then Y-invert must be unset.
Summary: This fixes compile issues when building evas software engine
using xcb. When calling xcb_outbuf_free, the Render_Engine has no 'ob'
field, so remove that call. Also fix call to
render_engine_software_generic_init using the proper function
parameters.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Fix several compile issues with software engine when compiled
against xcb. This fixes an improper call to
evas_software_xcb_outbuf_flush with improper parameters, and adds a
missing EINA_UNUSED to that function.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: As the launcher code now uses some fields from the
Ecore_Drm_Device, we need to free the device After the launcher has
been disconnected.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
If the file size of RLE compressed image is bigger than original image,
BMP loader doesn't work as well.
@fix
Reviewers: Hermet, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1892
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This adjusts the clip to match the mask image data.
To be fair, I'm not sure in which situation those two
don't match well. This patch fixes a rare crash.
The memory usage graph was going up and to the right!
I was told this is always a good thing!
... maybe not this time :)
Hopefully I didn't forget a case. An intense session of
genlist scrolling with masks all over the place and masks
of masks didn't show any glitch, crash or memory leak.
have a pointer to outputs
Summary: In order to limit pointer motion, we need to assign an Output
to each Input device. In order to accomplish that, we need to
initialize Outputs first
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
configure event handler
Summary: This patch ports the fix for windows without a min/max size
being set over to the configure event handler (which was also not
taking into account the fact that Some windows may Not have a min/max
property set on them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Whenever creating a window via elm_win_add(), save netwm_sync_counter values to edata->netwm_sync_counter
by ecore_x_sync_counter_new().
However, never free the values when a window has been destroyed.
So this patch is for free the values in _ecore_evas_x_free().
@fix
Reviewers: cedric, raster, Hermet, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1855
Summary: This fixes an issue for windows which do not set a min or max
size in the properties. This was discovered when running Enlightenment
in a Wayland-Only scenario, and trying to bring up the settings panel
which would cause an endless loop in calculating the proper window
size due to min/max not being set.
@fix
NB: Thanks to Mike for the help in tracing this ! :)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Work done by Jaeun Choi, rebased & squashed by jpeg.
This commit introduces changes to the low-level draw functions
of the SW engine considering the existence of an alpha mask image.
Features:
- Font masking (TEXT, TEXTBLOCK),
- Rectangle masking,
- Image masking (all image scaling functions should be handled).
The mask image itself is not yet set in the draw context (see
following commits).
@feature
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary: This fixes an incorrect order with shutdown of drm library.
Sprites are created (during init) before inputs, so they should be
shutdown After inputs are.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Without EGL_PLATFORM environment variable, eglInitialize() can be
failed because egl tried to load DRM platform instead of X11 platform and it
tried to handle XDisplay pointer as a gbm_device pointer as well.
The failure seems to be occured especially if the egl was built
with DRM platform as native platform.
This revision can prevent the failure by indicating proper egl platform using
EGL_PLATFORM environment variable.
@fix
Reviewers: gwanglim, jaehwan, seoz
Reviewed By: seoz
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1828