Commit Graph

532 Commits

Author SHA1 Message Date
Cedric Bail 6a3913b41e evas: remove logically dead code.
CID 1211984.

Note that in error case, the calloc is either not passed or
returned NULL so free will never be called.
2014-05-10 13:18:55 +02:00
Cedric Bail 7c1679550b evas: fix uninitialized value usage in Evas_3D.
This code look suspiciously similar to src/lib/evas/canvas/evas_3d_mesh.c
line 682.
2014-05-10 12:08:45 +02:00
Chris Michael ad72fa0649 evas-wayland-shm: Fix 'oopsie/typo' in temporary file name template
@bugfix: When creating a temporary file for the buffer's mmaped data,
we need to make sure there is an appending '/' in the name else
mkstemp will fail due to improperly formatted filename.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-05-09 08:30:12 +01:00
Chris Michael 8c86148a7b evas-wayland-shm: Use XDG_RUNTIME_DIR if available for creating mmap'd
buffer file.

@bugfix: When we create the mmap'd file for shm buffer access, try
using the XDG_RUNTIME_DIR first as the place to create the file. If
that does not exist in the environment, Then fallback to using /tmp
directory.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-05-09 08:00:44 +01:00
Jérémy Zurcher 9a79d1e864 silence a few warnings 2014-05-08 00:15:53 +02:00
Cedric Bail 4bf0a64358 evas: let's not leak on failure.
CID 1210815
2014-05-04 00:20:12 +02:00
Cedric Bail 202b3ad6ba evas: behave nicely with unitialized data.
CID 1210818

It would be a better and more working fix to use Evas_GL_Image, sadly
no time to do it right now and may be to intrusive for an alpha release.
2014-05-04 00:16:35 +02:00
Cedric Bail ede36d8382 evas: fix use of uninitialized pointer.
CID 1210819
2014-05-04 00:14:52 +02:00
Cedric Bail 36e8daf187 evas: protect against lacking light. 2014-05-01 12:05:37 +02:00
Carsten Haitzler d237f2236d return stride for yuv formats as width in bytes (y width). 2014-04-29 23:11:23 +09:00
Jean-Philippe Andre fa9f7a4c89 Evas: Fix stretching of ETC1/2 textures
ETC1/2 textures are (for now) allocated one by one for each image,
because we use only glCompressedTexImage (not SubImage). So,
the texture height must fit that of its content.

This commit bypasses the usual pool allocation logic where textures
are rounded up to the next multiple of 16 pixels in height, in
case of ETC1/2.
2014-04-29 15:48:47 +09:00
ChunEon Park 78142d0566 evas/gl - make simple.
it already prints error msg inside new functions.
2014-04-28 20:51:02 +09:00
Daniel Zaoui f10d8c42bb Evas_3d: Fix warning.
The variable was defined twice.
2014-04-27 11:12:06 +03:00
Cedric Bail 53a9fcf301 evas: remove Evas_3D legacy API. 2014-04-25 19:29:08 +02:00
Cedric Bail a4fd5ac3dd evas: fix broken build with OpenGL ES backend.
This is a temporary fix, once we move to Evas_GL_Image, it shouldn't
be needed anymore. Thanks to Cédric "chep" Chépied for reporting the
issue.
2014-04-25 16:46:46 +02:00
ChunEon Park 27c1b12825 evas3d: fixed grammartical break. 2014-04-25 17:03:19 +09:00
ChunEon Park 6ecdc5cbd2 evas/evas3d - use the image loader of the evas instead of the png lib. 2014-04-25 17:02:51 +09:00
subhransu e84e28fc22 Evas_3D : Eolian change
Conflicts:

	src/Makefile_Evas.am
	src/lib/evas/Evas_3D.h
	src/lib/evas/Evas_Eo.h
2014-04-25 16:58:47 +09:00
Jean-Philippe Andre 86ce491a86 Evas gl_x11: Add ETC2 support to the GL/X11 engine
This should allow texture upload with ETC2 RGB8 or RGBA8 formats.
Untested for now...

@feature
2014-04-25 16:50:29 +09:00
Taekyun Kim 26e43f938f Evas: 3D: Fix typo error in preprocessor for GLES 2014-04-25 16:19:29 +09:00
Taekyun Kim 8fda631730 Evas: 3D: Introducing 3D scene rendering features
Enable 3D features using --enable-evas-3d=yes when configuring.
APIs are exposed through Evas_3D.h.
Currently, evas-3d is being supported only on gl_x11 engine.

Conflicts:

	src/lib/evas/Evas_Eo.h
2014-04-25 16:15:41 +09:00
Jean-Philippe Andre c0aa0b3410 Evas gl: Don't swap RGBA colors with ETC1
Since rg_etc1 now outputs proper BGRA data, the shaders should not
swizzle the colors around. Stick to the normal fragment shaders.

Note: This is not tested.
2014-04-22 19:53:55 +09:00
Jean-Philippe Andre 2ff9b054f9 Evas gl_x11: Fix abort() in evas_object_image_data_get()
Since the introduction of new colorspaces for GL_X11
(GRY8, AGRY88 and ETC1), stride_get() would return
an invalid value and data_get() would just abort().

Add proper support for these functions.
ETC1 data will NOT be returned from data_get() and
stride_get() will return 0. This is to avoid people from
messing up badly with encoded color spaces.
2014-04-22 17:46:30 +09:00
Jean-Philippe Andre 558e7827f1 Evas gl: Fix texture border drawing
Since the introduction of color spaces other than RGBA8888 in
the GL engines, there was an issue with border images scaled in
GL. The left and right edges were simply not properly copied.

This would then show artifacts when scaling very thin images
(typically 2px wide).
2014-04-17 15:01:54 +09:00
Jean-Philippe Andre 54fb9b2346 Evas: Use Evas_Colorspace to declare cspace
Why use int when we have a proper type?
All these APIs are internal.
2014-04-15 18:50:37 +09:00
Stefan Schmidt 5f0c9e43b5 engines/evas_drm: Remove some unused variables 2014-04-11 11:31:37 +02:00
Jean-Philippe Andre 198b33c69a Evas gl: Remove unused variable 2014-04-08 17:50:21 +09:00
Carsten Haitzler 9d87d155f7 fix swap buffers with damage to not detect if ext str is not there
@fix
2014-04-05 22:21:13 +09:00
Chris Michael 1005cd8f89 evas-drm: Remove all async_page_flip options/references
Async page flip can cause tearing, is not supported on all cards, and
apparently requires a specific libdrm patchlevel...in general, more
trouble than it's worth, so let's just remove it.

@bugfix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-04 07:51:06 +01:00
Chris Michael c208f43814 evas-drm: Default async page flip to false as this can cause tearing
Async page flip can cause visual tearing, so disable by default for
all cards.

@bugfix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-04 07:32:59 +01:00
Jean-Philippe Andre 0e1b52875d Evas cserve2: Fix crash in elm_test GLView
This whole cache/cache2 API duplication is a complete mess.
2014-04-04 10:28:45 +09:00
Jean-Philippe Andre ecb8ce8748 Evas gl: Fix colors when using ETC1 textures
We need to use the RGBA shader to invert R and B otherwise
those will be inverted on the screen.
2014-04-04 10:16:01 +09:00
Jean-Philippe Andre c67db4c47b Evas gl: Fix dlsym usage for glCompressedTexImage2d
This symbol should be part of the loaded libraries, can be found
using dlsym, even if eglGetProcAddress() returns NULL.

Add etc1 flag in the debug output.
2014-04-04 10:08:09 +09:00
Jean-Philippe Andre 018e2d33b2 Evas gl: Use implicit cast to DATA8 with image.data8
data8 is there precisely to avoid casting the iamge data when
handling it as DATA8.

This is purely a cosmetic change
2014-04-04 10:08:09 +09:00
Cedric BAIL 854dd14474 evas: add ETC1 texture format support to Evas. 2014-04-01 22:00:54 +09:00
Cedric BAIL d1581f8ca9 evas: support uploading AGRY88 and GRY8 directly to GPU. 2014-04-01 22:00:15 +09:00
Cedric BAIL 3684b749be evas: add support for GL_LUMINANCE_ALPHA and GL_LUMINANCE when loading image from disk. 2014-04-01 22:00:15 +09:00
Cedric BAIL dc75a1fcff evas: remove dead code. 2014-04-01 22:00:15 +09:00
Chris Michael 531d6f3515 evas-drm: Add trapping for a canvas below framebuffer size
@bugfix: This adds some safety trapping for trying to create a canvas
below the drm framebuffer size. Drm does not support creating a canvas
smaller than the framebuffer output, so we will add some trapping to
catch that, and internally create the framebuffers to the proper size.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-01 07:09:49 +01:00
Anand caabcbe408 evas: Fixed warning for uninitialized variables
Summary:
Warning fixed of evas

modules/evas/engines/gl_common/evas_gl_context.c: In function 'evas_gl_common_context_new':
modules/evas/engines/gl_common/evas_gl_context.c:392:32: warning: 'minor' may be used uninitialized in this function [-Wuninitialized]
modules/evas/engines/gl_common/evas_gl_context.c:314:8: note: 'minor' was declared here
modules/evas/engines/gl_common/evas_gl_context.c:392:16: warning: 'major' may be used uninitialized in this function [-Wuninitialized]
modules/evas/engines/gl_common/evas_gl_context.c:313:8: note: 'major' was declared here
@fix
Compilation Warning Fixed

Test Plan: Compile efl

Reviewers: singh.amitesh

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D656
2014-03-24 17:03:32 +09:00
Cedric BAIL a9d38e6df7 evas: cleaner fail handler. 2014-03-24 11:41:20 +09:00
Jihoon Kim 014183a1b7 evas_gl: fix memory leak in case that version doesn't include dot
fix CID 1193479
2014-03-23 13:36:00 +09:00
ChunEon Park 461555e4cc evas/gl - fill up missed blend mode.
Still there few mode are unsatisfied.

@fix
2014-03-22 21:09:58 +09:00
ChunEon Park f556cd1328 evas/gl - don't set blend function in RENDER COPY mode.
it's enough that just disabling the blend mode.
2014-03-22 20:30:27 +09:00
Carsten Haitzler 939669d6ce warnings-- 2014-03-22 19:19:48 +09:00
Cedric BAIL 837391c5da evas: let's be more resistant even with things that should never happen.
Fix CID 1193212.
2014-03-20 16:53:13 +09:00
Stefan Schmidt 80497d75bc evas/gl_x11: Cast GLubyte to const char for strstr
The GLubyte we are getting back here are strings we want to search
in with strstr. Cast is only to avoid warnings.
2014-03-19 11:48:46 +01:00
Chris Michael 3ec7c4b517 evas-drm: Fix engine to use the output's framebuffer as window id
@fix: ecore_evas_window_get expects an Ecore_Window to be returned.
Because of this, we need to have a 'window' that can be returned via
ecore_evas. For this case, we will use the output's framebuffer id as
the 'window' so we need to set that into the engine info so that
ecore_evas can fetch it.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 09:12:57 +00:00
Jean-Philippe Andre 7cbe636311 Evas gl: Fix clip in image_draw if it's not set
In evas_gl_common_image_draw, if an image is drawn with a fresh context,
containing no clip and no cutouts, then it will be wrongly clipped to
the source image size instead of the destination surface size.

This case seems to never happen, ever, since the contexts are always
fully set by the render functions.

@fix
2014-03-18 18:03:40 +09:00
Jean-Philippe Andre 8672f3176e Evas gl_x11: Do not premultiply pixels after reading FBO
The pixels are already premultiplied in such an FBO.

(cherry picked from commit 2b3e065ffeb9b587ca35909940beb59b25081e7f)
2014-03-18 15:44:15 +09:00