Commit Graph

282 Commits

Author SHA1 Message Date
Jean-Philippe Andre 48bcf182b4 Evas gl: Add support for ETC1+Alpha textures
Compile-in the required shaders, add support for the
new EVAS_COLORSPACE_ETC1_ALPHA, and upload textures as RGB+A
pairs.

@feature
2014-07-09 09:04:55 +09:00
Cedric BAIL 5bf4ae22cb evas: fix bogus update rect, that's what I call black magic. 2014-07-08 14:27:08 +02:00
Cedric BAIL 1b14531146 evas: fix use of already freed data use. 2014-07-08 11:00:23 +02:00
Gwanglim Lee e3192c374d evas: gl_x11 - add missing function pointer glsym_eglSwapBuffersWithDamage
Summary: added missing global function pointer to gl_x11

Test Plan: N/A

Reviewers: cedric, raster, devilhorns

CC: cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-06 20:19:34 +02:00
Cedric BAIL 235caec745 evas: remove multiple definition of glsym_eglSwapBuffersWithDamage. 2014-07-06 18:18:29 +02:00
Cedric BAIL f1590e06b0 evas: fix build break with GLES. 2014-07-06 18:16:10 +02:00
Cedric BAIL 87bcb1da23 evas: missing shared declaration. 2014-07-05 21:03:36 +02:00
Cedric BAIL 410a2a7953 evas: missed replacement. 2014-07-05 13:13:43 +02:00
Cedric BAIL 914b529e38 evas: make partial update extention compile for every one in gl_x11 backend. 2014-07-05 12:50:56 +02:00
Cedric BAIL 14d22c5a08 evas: migrate GL_X11 to use more infrastructure of software_generic. 2014-07-04 15:11:22 +02:00
Cedric BAIL 4be4991315 evas: rename Evas_GL_X11_Window to Outbuf. 2014-07-04 15:11:22 +02:00
Tom Hacohen 7f3a44894b Evas canvas eolian: Fix namespace and class name for the evas canvas. 2014-06-30 17:47:06 +01:00
Jaehyun Cho abbfd23a22 gl_x11/evas_engine: Prevent dereference before NULL check
Summary: re->win pointer was not compared with NULL pointer before re->win was referenced.

Reviewers: Hermet

Reviewed By: Hermet

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D910
2014-05-28 14:32:39 +09:00
ChunEon Park 53e11f3b05 evas/gl_x11 - replace inlist counting to one api call. 2014-05-19 18:48:05 +09:00
Jérémy Zurcher 9a79d1e864 silence a few warnings 2014-05-08 00:15:53 +02:00
Carsten Haitzler d237f2236d return stride for yuv formats as width in bytes (y width). 2014-04-29 23:11:23 +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
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 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 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 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
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
Cedric BAIL dc75a1fcff evas: remove dead code. 2014-04-01 22:00:15 +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
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
Jean-Philippe Andre 1a9b58f083 Evas gl: Fix buffer dump filenames
evas_gl_common_buffer_dump can be used to dump all frames into
a series of PNG files. But the filename contained some garbage
characters (and potential segv, too).

(cherry picked from commit a0f886138ed5a28d0d1596df3b805fca06d1ae31)
2014-03-18 15:44:13 +09:00
Jean-Philippe Andre 7ad4a269e0 Evas gl_x11: Fix usage of glReadPixels
It is not necessary to dynamically link to glReadPixels since
this is not an extension. This code wouldn't even work on some
devices.

Also, the pixels returned are not premultiplied (yeah >_<)

And some devices (EGL) don't support GL_BGRA... so glReadPixels
would just fail and not fill in the pixels. Conversion is required.
2014-03-13 17:04:42 +09:00
Jean-Philippe Andre a6950567a3 Evas filters: Use GL_FRAMEBUFFER instead of GL_READ_FRAMEBUFFER
GL_READ_FRAMEBUFFER isn't defined when compiling for Wayland
Thanks Stefan for the report.

Also, import GL_FRAMEBUFFER overrides from other GL files, so
that it points to the proper extension (_OES or _EXT if applicable).
2014-03-07 17:48:23 +09:00
Jean-Philippe Andre 59f5216391 Evas gl_x11: Add support for glReadPixels
This will be needed by the filters for proxy rendering,
for textures and maps (displacement).

Add new engine functions to unleash the (sluggish) power of glReadPixels.
The idea is to be able to bypass glReadPixels later, so 3 new APIs are
added:
- surface_lock
- surface_read_pixels
- surface_unlock
They must be called in that order.

Note (for history):
glReadPixels was always getting the wrong data during first draw,
but the right data during a redraw...
Why? Well simply because for OpenGL itself, the image had never
been drawn in teh first place! Only the Evas GL context knew
about the image drawing, as it was queued somewhere in the pipe.

One line solution: Call evas_gl_common_context_flush before
doing anything else.
2014-03-07 11:07:09 +09:00
Sung W. Park 2b4a7b438d evas gl: added partial rendering support for qcom extension
When running in direct rendering mode, properly support partial
rendering if the extension is properly supported.

Also, fixed the SwapBufferwWithDamage rectangle coordinate bug.
It wasn't properly y-inverted before.
2014-02-15 02:33:47 +09:00
Carsten Haitzler 2e95690201 evas - gl x11 - fix glx texture from pixmap target rectangle mode check
even though we don't support rectangle bits in texture targets for
texture-from-pixmap the code checked and complained - problem is it
checked the wrong thing. fixes CID 1135267
2014-02-13 19:35:17 +09:00
Wonsik Jung 6ea0566e6c evas: add eglMakeCurrent in evas map create/free.
Summary: Ensure Evas's eglContext when several eglContexts are used.

Test Plan:
1. Native GLES application works with evas_object_image_native_surface_set
2. One Evas object works with evas map.

Reviewers: seoz, tasn, cedric

Reviewed By: cedric

CC: cedric, raster

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-02-10 10:40:56 +09:00
Wonsik Jung 0e04219758 Add quadruple swap mode for partial rendering
Summary: This patch is for QUADRUPLE window buffers.

Test Plan:
When enlightenment uses quadruple buffers or window system can support quadruple buffers,
application can use quadruple buffers with partial rendering

Reviewers: tasn, seoz, raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D527
2014-02-08 23:04:04 +09:00
Wonsik Jung 3420eda31a evas: gl backend - ensure eng_window_use in image_content_hint_set
Summary: Ensure eng_window_use in image_content_hint_set

Test Plan:
1. make native OpenGLES application.
2. set evas object image  with evas_object_image_native_surface_set.
3. GLES Application try to call eglMakeCurrent with own eglContext, then resize evas object resize

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

CC: cedric, seoz

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-02-07 12:18:16 +09:00
Carsten Haitzler e8c13118eb fix mingw build for setuid fix/checks 2014-01-08 22:06:41 +09:00
Carsten Haitzler b95ef3801f setuid safeness - ensure if an app that is setuid doesn't do bad things
this makes efl ignore certain env vars for thnigs and entirely removes
user modules (that no one ever used) etc. etc. to ensure that *IF* an
app is setuid, there isn't a priv escalation path that is easy.
2014-01-08 19:46:23 +09:00
Carsten Haitzler e9783c3caf evas - gl-x11 engine - put in guessed blacklist of yinvert extn for intel mesa 2014-01-07 16:28:46 +09:00
Carsten Haitzler 2373e1f636 evas - gl-x11 remove +x bit on src file! 2013-12-30 18:27:06 +09:00
Vostokov Sergey 36a52ca062 evas - gl-x11 engine - don't re-init engine window on rotate
this puts rotationc hanges in the same class as resizes for evas gl
x11 engine info updates and doesnt re-create the engine window data on
rotate.
2013-12-26 19:19:15 +09:00
Daniel Juyung Seo 76d8532b54 efl: Unified eina critical manro to CRI.
Being annoyed by different types of eina critical macros - CRI, CRIT,
 CRITICAL -, I concluded to unify them to one. Discussed on IRC and
 finally, CRI was chosen to meet the consistency with other macros -
 ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 12:27:13 +09:00
Carsten Haitzler 97a491dd90 evas - gl - ifdef out unused var with non-gles build 2013-12-11 18:26:45 +09:00
Carsten Haitzler 24c6424670 evas - gl - use snprintf for safety (never likely anyway, so code was fine) 2013-12-11 18:25:29 +09:00
Stanislav Vorobiov 9e3b778acb evas - fix gl egl textrue from pixmap support y invert query extension
Instead of hardcoding yinvert=1 we should query for
EGL_NOK_texture_from_pixmap extension and if it's present
use EGL_Y_INVERTED_NOK value
2013-11-29 19:09:17 +09:00
Sebastian Dransfeld aed4dbea30 evas: No error if blacklisted, just warn 2013-11-21 10:51:25 +01:00
Cedric Bail de13560056 evas: those if (re) are useless indeed.
Should fix CID 1129611 and CID 1129612 from this week coverity scan.
2013-11-18 19:21:06 +09:00
Wonsik Jung d2b647d2b3 evas: fix a missing eglMakeCurrent in image_cache_flush/image_cache_set in the GL X11 backend.
[Problem] When glTextureDelete is called in image_cache_flush(), it sometimes doesn't work.
[Cause] glTextureDelete is called with the wrong eglContext.
[Solution] Call eng_window_use() in image_cache_flush() and image_cache_set() to use the correct eglContext.

Change-Id: Id7ab1aaeb456be6dbc5f09cb2731ace5399a5dce
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-15 14:08:40 +09:00
Carsten Haitzler 92d7235e0b warning-- 2013-11-09 10:42:49 +09:00
Carsten Haitzler 2da7295af2 evas - gl engine - this fixes the breakages in new nvidia drivers
nvidia > 319 broke alpha windows. this code that was left commented
out fixes it. it didn't used to have any use.
2013-11-09 10:40:17 +09:00
Jean-Philippe Andre 82e8028b5d evas/cserve2: Fix image preload with gl-x11 engine
Cserves supports only the SW (xlib) and GL (gl-x11) engines.
Also, improve cs2 support for some lesser used functions in the
gl_x11 engine.
2013-10-30 19:48:17 +09:00
Sung W. Park 7dc102c55f EvasGL: Fixed direct rendering not clipping issue
Evas GL direct rendering mode didn't properly take into account
the image object's clipping information and clip the region that
it was directly rendering to. Hence there were issues with the
direct rendering region drawing over the objects that are sitting
on top of it.

Also, cleaned up the direct rendering coordinate computation code
and a nasty dependency with image object that should have been
removed a long time ago.  Basically the evas-gl engine was directly
accessing the image object data structure for its data when it
really should have just passed along necessary information.
2013-10-24 17:42:21 +09:00
Carsten Haitzler 7d7f548afc evas - gl - dont allocate image and/or texture until needed on native unset 2013-10-16 22:56:38 +09:00
Sung W. Park 56e71e05bb Evas: EGL-GL backends. Call eglReleaseThread() upon shutdown
Call proper cleanup code upon terminating egl use.
2013-10-14 14:37:36 +09:00
Carsten Haitzler 70f443d8a8 evas - avoid memleak on rotation of tilebuf in engine for gl and sw possibly. 2013-08-29 14:58:09 +09:00
Rafael Antognolli f69cde8107 evas/gl_x11: eng_window_use will not always force makecurrent.
If the egl_surface is different from the current one, it may be that the
it has been destroyed already. Removing the below check (and just
checking for different contexts) will avoid calling makecurrent when
destroying a window.  That was always failing anyway.

Should fix https://phab.enlightenment.org/T311 for gl_x11 too.
2013-08-29 17:25:40 -03:00
Sung W. Park 5ac17a52d5 Evas: Fix Evas_GL engine shutdown error.
It was trying to use access a struct for egl_disp after the struct
was freed..
2013-07-30 19:45:40 +09:00
Sung W. Park 3074280217 Evas: adding image dump debug feature for gl_x11 backend
Added a feature to dump out a png image before calling SwapBuffers.
To turn on the feature, use the following env vars.

EVAS_GL_SWAP_BUFFER_DEBUG_DIR="dir_name" sets the name of the directory
that the files will be output to and enables the debug mode.

EVAS_GL_SWAP_BUFFER_DEBUG_ALWAYS=1 will enable the writing of the
files every frame.  This in effect turns on the swap_buffer_debug
variable, which can be set on or off in gdb for debugging.  This will
allow dumping of certain frames without having to dump out a ton of
files to track down one frame.
2013-07-23 10:27:28 +09:00
Cedric Bail f54a09ef83 Revert "evas: use Eina_Tiler for GL backend."
This reverts commit 87b49cf103.
2013-07-09 10:42:01 +09:00
Cedric Bail 87b49cf103 evas: use Eina_Tiler for GL backend.
This is a start to leverage more on our infrastructure so that later
optimizing Eina_Tiler will be more usefull.
2013-07-09 09:48:09 +09:00
Carsten Haitzler 22ad827274 evas gl: fix origin of swapbufferswithdamage to be BOTTOM-LEFT based... 2013-07-03 12:11:18 +09:00
Daniel Willmann dd76f4cd05 evas gl_x11: Fix uninitialized use of re in eng_output_flush()
In case of render_mode == EVAS_RENDER_MODE_ASYNC_INIT we're jumping
directly to end which then calls
evas_gl_preload_render_unlock(eng_preload_make_current, re);

Make sure re is initialized with the render engine data so we don't
dereference junk.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-26 14:42:10 +01:00
Chris Michael 712a528025 Make gl_x11 compile again
eglSwap|BuffersRegion was replaced with eglSwapBuffersWithDamage.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-24 09:27:14 +01:00
Cedric Bail d06a0982ef evas: add support for asynchronously uploading GL texture.
NOTE: when using Evas_Object image preload infrastructure the GL texture
upload was uploaded from the main loop during the rendering stage. This
could lead to some frame drop during fast animation due to the time needed
to upload that texture.

This patch fix this problem by uploading a small texture quickly (16x16)
and waiting for going back to the main loop to be able to use the same GL
context from another thread to do the texture upload asynchronously without
blocking the main loop.
2013-06-24 12:04:18 +09:00
Sebastian Dransfeld 51023d2d4f evas: Keep sane name for public header
Evas_Common.h should be used for the public header, and rather rename
evas_common.h internal header to another name.

Sa:
Evas_Common_Header.h -> Evas_Common.h
evas_common.h -> evas_common_private.h

Shouldn't have both Evas_Common.h and evas_common.h because of case
insensitive filesystems.
2013-06-20 12:53:29 +02:00
Sung W. Park 8e6f0aa11c Evas: add partial rendering support for evasgl direct rendering
Evas_GL Direct rendering is an optimization path that renders
directly to the window if conditions are met.  Because evas gl
backend used to re-render the entire screen, evas_gl direct
rendering didin't have to concern with partial region rendering.
Now that partial rendering/swapping has been applied to evas gl-
backend, evas_gl direct rendering also had to take into account
clip regions. in order to properly apply it, some adjustments
were made to the engine functions and etc.
2013-06-17 18:32:00 +09:00
Sung W. Park 316be3e6c7 Revert "Saving evasgl direct partial rendering fix temporarily"
This reverts commit e6359132de.
2013-06-17 18:22:15 +09:00
Sung W. Park d5d5a0125d Revert "Added Wayland fix for evas_gl direct fix"
This reverts commit e1c238b1be.
2013-06-17 18:21:55 +09:00
Sung W. Park e1c238b1be Added Wayland fix for evas_gl direct fix 2013-06-17 17:52:16 +09:00
Sung W. Park e6359132de Saving evasgl direct partial rendering fix temporarily 2013-06-17 17:52:16 +09:00
Chris Michael 509090bafc Port wayland_egl changes for swapbufferswithdamage to gl_x11
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-14 12:30:17 +01:00
Cedric Bail 1403b3a9ad evas: preliminary work on texture destruction for async preload of texture. 2013-06-14 16:38:18 +09:00
Cedric Bail 1073084807 evas: change cache API to forward Eo object. 2013-06-14 16:38:18 +09:00
Carsten Haitzler c1190d4539 evas: gl engine: chg eglswapbuffersregion to swapbufferswithdamage extn instead. 2013-06-14 14:42:03 +09:00
Carsten Haitzler fdabe06989 evas - partial rendering support now for qualcomm extn too. 2013-06-11 18:12:07 +09:00
Carsten Haitzler d32758e2de evas: mirror partial swap fix in wl egl and move to alloca for rect buf. 2013-06-05 18:11:46 +09:00
Carsten Haitzler 0b8815a7e1 evas: fix partual swap rect output list - coords wrong. 2013-06-05 18:11:46 +09:00
Carsten Haitzler 2bfe58887d evas gl: do not assume querying extension strings are extns in glx and egl. 2013-06-04 15:35:15 +09:00
Cedric Bail ad5d75dfcd evas: add support for engine specific extention during thread task. 2013-06-04 11:20:25 +09:00
Carsten Haitzler 6a4cdea904 fix evas partial swapotkeep the full re-render in the rects if it switches to full mode. 2013-05-29 21:38:11 +09:00
Carsten Haitzler c8256f5fae fix evas gl engine partial swap to do full swap in full mode. 2013-05-29 17:30:42 +09:00
Carsten Haitzler 0532a992d9 remove about 16m mem for mesa for extra evgl context
only creating the extra evasgl context on demand when/if needed and
thus save 16m of memory allocations corresponding to the extra context
2013-05-20 18:09:50 +09:00
Carsten Haitzler e7349e8005 disable all the waiting on gl - squeeze some more performance out of gl. 2013-05-18 10:04:37 +09:00
Sung W. Park 97806103eb evas: fix evas flushing its command queue to wrong gl context in gl-backends
For native surface rendering (glX, egl) in gl-backend,  if pixel get callback
function is called for native rendering, there is a case where evas will
try to call evas_gl_common_context_flush() to flush its remaining commands
in its command queue while the context is set current to the native surface/
context that is called within the pixel get callback.  So, I've added an
engine function that forces a flush before it enters the pixel get callback
function.
2013-05-13 14:12:36 +09:00
Sung W. Park 289a666333 evas: Fixed evas_gl multi-window support design issue.
Evas engine is created per window but evas_gl engine was not properly
updating the engine info for new windows that are created. So, addressed
the design issue by passing engine_data to evas_gl engine apis..
2013-05-08 18:39:12 +09:00
Cedric Bail d833244100 evas: add infrastructure to open from Eina_File. 2013-05-08 18:17:00 +09:00
Carsten Haitzler 01d816fb96 fix swapregion rect to account for canvas rotation. 2013-05-07 10:26:43 +09:00
Cedric Bail c5b0d28d73 evas: move flags and attribute around. 2013-05-06 19:02:04 +09:00
Carsten Haitzler 1a81f0a8c2 force scissor to always be on indicating partial gl update region so
gpu can.. do more sensible things.
2013-05-03 19:31:28 +09:00
Carsten Haitzler f8c9a8d167 revert the revert... damn you git!
Revert "Revert "Efl: replace eo_data_get for objects data referencing.""

This reverts commit b64a2994b3.
2013-05-02 16:47:16 +09:00
Carsten Haitzler b64a2994b3 Revert "Efl: replace eo_data_get for objects data referencing."
This reverts commit 654a3f5f94.
2013-05-02 14:17:19 +09:00
Daniel Zaoui 654a3f5f94 Efl: replace eo_data_get for objects data referencing. 2013-05-01 10:37:08 +03:00
Carsten Haitzler 36b1b06a60 note in comments som get visual info from fbconfig stuff to mach
depths. doesn't help though.
2013-04-23 00:06:47 +09:00
Tom Hacohen 8b6c9449fb Evas engine gl_x11: Fixed signed, unsigned comparison. 2013-04-18 12:42:06 +01:00
Carsten Haitzler e5065da29c fix nvidia texture from pixmap config depth match to be looser to
avoid non-matches.
2013-04-18 20:30:39 +09:00
Carsten Haitzler d0f1933923 clean up glx native surface (texture from pixmap code) to be more anal
about matching depth etc.
2013-04-18 17:16:41 +09:00
Carsten Haitzler 7cae29becd fix evas gl_x11 in 16bpp (and similar depths). 2013-04-18 15:17:10 +09:00
Sung W. Park 34ce73badd [Evas] Updated eglMap/UnmapImageSEC extension definition
Recently Samsung specific eglMap/UnmapImageSEC has been updated to
support new features.  The extension definition was updated in evas
accordingly.
2013-04-12 17:34:13 +09:00
Sung W. Park 00cffc0585 [Evas GL] Initialize evas gl engine after evas stuff is initialized first. 2013-04-12 17:02:43 +09:00
Carsten Haitzler 7fd0cf1731 this is not a big change - not worth changelog, but allow gl partial
updates to be rounded up to specific tile sizes (and make it 16x16 by
default).
2013-04-11 21:24:06 +09:00
Carsten Haitzler 9dffb4eed8 and further work on buffer age support in evas... after more testing
on nvidia...
2013-04-11 09:21:42 +09:00
Carsten Haitzler 8f73a2bd0e add environemnt vars to switch bounding box to full region list calcs
and an env var to show debug for partial updates.
2013-04-10 18:47:44 +09:00
Carsten Haitzler 92398f4f47 add mesa buffer release support to evas gl engine. 2013-04-10 18:47:44 +09:00
Carsten Haitzler 3cdd10e070 add gl buffer age support fully now for default automatic mode: query
extensions correctly in egl and glx too. need to hunt a partial swap
for glx now...
2013-04-10 18:47:44 +09:00
Carsten Haitzler fba8124fc5 in evas gl engine if age changes then be conservative and assume backbuffer was
invalidated.
2013-03-22 11:35:05 +09:00
Carsten Haitzler 5a00aa5b25 evas gl engine -> prefer extn symbols over non-extn symbols 2013-03-15 12:15:19 +09:00
Carsten Haitzler 8b55c24fe8 cleanup some egl/glx/gl extension string matching and proc address
vetos.
2013-03-12 15:30:05 +09:00
Carsten Haitzler 200bdfd8d4 in theory suport partial swaps with SEC extensions... untested atm. 2013-03-12 08:46:25 +09:00
Carsten Haitzler 4eed45ae88 Small adjustment to gl engines to use procaddress if found and NOT
fall back to dlsym if such a "getprocaddress" is around.
2013-03-08 19:35:36 +09:00
Christopher Michael 2fb518a691 Fix incorrect variable check.
When using swapping (double/triple), and we go to merge rectangles,
then we should check for a valid triple buffer (not double) before
trying to merge the 3rd buffer rectangles.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-27 10:17:55 +00:00
Christopher Michael cbc203e0bf Evas: Fixed wrong EINA_UNUSED usage in the gl_x11 engine. 2013-02-26 13:52:54 +00:00
Ivan Briano d0c0a21240 Remove \r from end of line.
No functional changes here.
2013-02-17 14:30:11 -03:00
Paulo C. A. Cavalcanti Jr 04e660c5c7 evas: Introduce pixel_alpha_get()
The _pixel_alpha_get() function used in evas_object_image_is_inside won't
work with engines other than software - since it relies on engine data
being *always* RGBA_Image * - which is wrong for OpenGL backend that uses
Evas_GL_Image * for "engine_data" pointer.
2013-02-16 11:14:40 +01:00
Carsten Haitzler 4452fad7a3 fix up apparent problem with egl context and sizing/rotation... need
to test more though.



SVN revision: 83878
2013-02-14 03:27:23 +00:00
Ulisses Furquim d45a54a0aa evas/async_render: do not use async event to unref image maps
SVN revision: 82663
2013-01-11 19:56:17 +00:00
Leandro Pereira d5f91fd5c2 evas/async_render: do not use async event to unref glyphs
Patch by: Leandro Pereira <leandro@profusion.mobi>



SVN revision: 82662
2013-01-11 19:55:40 +00:00
Leandro Pereira ed79c2182e evas/async_render: do not use async event to unref images
Patch by: Leandro Pereira <leandro@profusion.mobi>



SVN revision: 82661
2013-01-11 19:54:12 +00:00
Gustavo Sverzut Barbieri ceaab9d37f efl/evas/gl_x11: fix warning due type change.
SVN revision: 82425
2013-01-08 22:47:40 +00:00
Carsten Haitzler 478de3ec76 small change - not worth chglogging... make evas gl x11 header not
need xlib.h anymore... :)



SVN revision: 82378
2013-01-08 03:49:49 +00:00
Paulo Alcantara 76932dcc9f evas/engines: Introduce render mode
The render mode should be useful for engines other than software one.

Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>


SVN revision: 81384
2012-12-19 16:15:58 +00:00
Leandro Pereira cb10c7d019 evas: Modify software_generic and gl_x11 to with with threaded renderer
SVN revision: 81284
2012-12-18 16:28:55 +00:00
Leandro Pereira 274c9159c9 evas: Use refcounted glyph arrays
This is in preparation for threaded render landing: the render thread will
hold a reference to a text object's glyphs while it hasn't been rendered
yet (and will drop that reference after drawing). This changes the internal
API a little bit (evas_common_font_rgba_draw() now takes an Evas_Glyph_Array
instead of an Evas_Text_Props).


SVN revision: 81183
2012-12-17 21:27:07 +00:00
Cedric BAIL 981b5f7d40 efl: fix an uninitialized data path in OpenGL engine.
SVN revision: 80808
2012-12-13 10:26:02 +00:00
Gustavo Sverzut Barbieri a332d1c869 efl/evas: remove mask of non-rectangle objects.
it was broken and mostly disabled, so now we do remove it in the hope
who does that next time, does it properly.



SVN revision: 80252
2012-12-05 13:52:59 +00:00
Gustavo Sverzut Barbieri 545057d0b1 efl/evas/filters: say goodbye.
This task wasn't completed and it was all disabled in code, then
remove it so it doesn't add cruft to be looked at.



SVN revision: 80240
2012-12-05 13:03:51 +00:00
Sung Park 57f2e02b9e Fixed a bug where if an image object rendered using Evas GL
direct rendering and then another image object using Native
Surface rendering, there was a potential for it to fall into
the same direct rendering path.

Also, fixed some minor Evas GL extension bugs that came from refactoring.



SVN revision: 79532
2012-11-22 07:58:06 +00:00
Carsten Haitzler abb71f7234 hm ooops - my multi-frame update tracking breaks WHEN the swap modes
change from triple to double etc. buffered.



SVN revision: 79531
2012-11-22 06:09:28 +00:00
Sung Park 995e0a6613 Fixed Evas GL direct rendering bug from refactoring. The conditions
weren't set properly where if a program uses evas_gl to do GL rendering
in direct rendering mode and then use a pixmap to do native 
GL rendering in the same program, native pixmap rendering would 
also fall into the direct rendering path and not render anything for 
image object. It's been fixed.


SVN revision: 79493
2012-11-21 04:59:52 +00:00
Carsten Haitzler 3a9784e8e2 fix blank screen bug added by our good mate... mike_m :)
SVN revision: 79459
2012-11-20 01:17:09 +00:00
Mike McCormack 4081a3450d evas: Fix shadow warnings
x1, x2 shadow something in the math library.

Would probably be better to turn off -Wshadow, but for some
reason people think this there's some value in it...

Signed-off-by: Mike McCormack <mikem@atratus.org>

SVN revision: 79446
2012-11-19 13:10:07 +00:00
Carsten Haitzler 463614021a and this fixes compositing on newest intel+mesa drivers... wrong fb
config wasa being chosen as it was done by hand not accounting for
multisample buffers. now using glxchoosefbconfig instead and it works.



SVN revision: 79232
2012-11-13 14:07:39 +00:00
Carsten Haitzler 208ad94428 more null checks in evas to avoid segs.
SVN revision: 79167
2012-11-12 14:45:07 +00:00
ChunEon Park 09486ba3bb evas/gl_x11 - trivial fix.
SVN revision: 79092
2012-11-10 11:07:35 +00:00
Vincent Torri c15e9c6575 merge: and now Evas
I've tested make -j 3 install and it works nicely

I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.

TODO: examples and tests, I'll add them later

ISSUE: Eina_Unicode size check. It indirectly depends on
       eina_config.h, which is created at the end of the
       configure script. So its size is always 0. I don't
       know how that size is used, so I can't do a lot,
       for now.


SVN revision: 78895
2012-11-04 11:51:42 +00:00