Sung W. Park
382ffbb4f5
Touch for evas gl direct rendering partial rendering/swap 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
Chris Michael
0926ed612f
eglSwapBuffersWithDamage actually returns an EGLBoolean (unsigned
...
int), so fix.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-14 12:26:11 +01:00
Chris Michael
4d86f508ae
Formatting fix for 80 columns...Spankies !! ;)
...
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-14 11:41:55 +01:00
Jean-Philippe Andre
82584a85fb
evas/cserve2: Check for errors in evas sw engine
2013-06-14 16:38:18 +09:00
Jean-Philippe Andre
6f548d59af
evas/cserve2: Fix crash in expedite test 23
...
Test 23: load lots of scaled images and draw them
Problem: cs2 fails to load more images at some point. (root cause to be fixed!)
After that, client expects some data, but there is none, so it segfaults.
2013-06-14 16:38:18 +09: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
Cedric Bail
ab9c734b7f
evas: cleanup GL texture allocation with some code refactoring.
2013-06-14 16:38:18 +09:00
Carsten Haitzler
745ce709a0
evas: wayland_egl - mirror changes for qcom tile begin/end in wayland egl.
2013-06-14 15:34:51 +09:00
Carsten Haitzler
7a9f40b5ee
evas: wayland egl - mirror changes to gl_x11 for swapbufferswithdamage
2013-06-14 15:32:39 +09:00
Carsten Haitzler
c1190d4539
evas: gl engine: chg eglswapbuffersregion to swapbufferswithdamage extn instead.
2013-06-14 14:42:03 +09:00
Eduardo Lima (Etrunko)
d3292a7ae9
Split .gitignore into multiple files
...
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-11 18:18:50 -03:00
Carsten Haitzler
fdabe06989
evas - partial rendering support now for qualcomm extn too.
2013-06-11 18:12:07 +09:00
Chris Michael
6b1e8905f8
Ok ... Big Wl Egl Overhaul...(evas portion)
...
- Setenv for egl_platform before we init gl/egl, etc
- Ignore check for NULL surface to indicate destroying (this is all
not need now).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael
b951b98d47
Set render_engine info to new information in eng_setup before we do
...
comparisons.
Add comment about NULL surface being passed in.
Fix segfault when we close windows...uartie, this one's for you ;)
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-06 03:51:57 +01:00
Chris Michael
4d505eed1c
When checking for engine info changes, use the New engine info passed
...
in to us for the checks (not the old existing engine info).
NB: Fixes T134 and T135 buggers
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-05 13:24:09 +01: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
20834f0925
match egl changes in x11 with wl.
2013-06-04 15:46:24 +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
080ce9316b
evas: refactorize gl texture creation code.
2013-06-04 15:04:19 +09:00
Cedric Bail
ad5d75dfcd
evas: add support for engine specific extention during thread task.
2013-06-04 11:20:25 +09:00
Chris Michael
b524b31256
Add new wayland_egl engine that does buffer age, double/triple
...
buffering, etc, and uses evas gl_common (so glview/simple tests in elm work).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael
30bd7c27e0
Add evas_wl_main file.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael
c5355d32ee
Add start of new wayland_egl engine code.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael
ae9246beae
Add evas_engine header file
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael
a6dcda0adc
Add new Evas_Engine_Wayland_Egl header.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael
a0ed1b5b5d
Remove old wayland_egl engine code in prep for rewrite to use gl_common.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01: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
Chris Michael
23fc3b3da7
Fix possible memory leak reported by klockwork.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-29 13:11:54 +01: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
Chris Michael
e232b629a7
At this stage of engine shutdown, the eina log domain has been removed
...
and is not valid, so don't use ERR to print a message.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-24 21:36:05 +01:00
Chris Michael
5f5ab9d9c6
minor formatting fixes.
...
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-24 21:34:33 +01:00
Chris Michael
bfc7e7cfd1
Set the surface user data to be the current buffer.
...
NB: This is needed because some compositors (Weston) are expecting
wl_surface_get_user_data to return a buffer.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 10:51:15 +01:00
Rafael Antognolli
99be49551e
evas/gl: Use GL_FRAMEBUFFER_BINDING, which is available on both.
...
Instead of a define from GL_DRAW_FRAMEBUFFER_BINDING to the above one,
just use it directly since it's available on gles and full gl.
2013-05-20 14:21:56 -03: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
Chris Michael
c727ab8088
Fix antognolli build break when --with-opengl=es.
...
Basically, EGL does not define a GL_DRAW_FRAMEBUFFER_BINDING so we
test for that and if not found then define it to be
GL_FRAMEBUFFER_BINDING
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-19 07:13:03 +01:00
Chris Michael
31b1e11d8d
Revert this, there is no build break apparently. Give cookie back to
...
antognolli
Revert "include evas_gl_common.h"
This reverts commit 81cee894e1
.
2013-05-18 17:52:32 +01:00
Chris Michael
81cee894e1
include evas_gl_common.h
...
(Bad antognolli, No cookie !!)
NB: Fixes build break !!! If we are going to use defines from glext.h,
let's be sure to have the necessary header included Yes ?? ;)
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-18 15:56:13 +01: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
Rafael Antognolli
8254bbc5e3
evas/gl: Restore framebuffer after texture creation.
...
If we don't do this, the framebuffer object used on shader_array_flush()
will be wrong.
NOTE: shader_array_flush() should take care of setting the fbo
correctly.
2013-05-17 20:31:06 -03:00
Eduardo Lima (Etrunko)
4c3242ca62
evas/wayland-egl: Don't crash when re->win is NULL
...
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-05-16 15:04:55 -03:00
Carsten Haitzler
be59443d78
remove rect leak in swapbuf flush in dri2 software path of evas
2013-05-15 19:38:16 +09:00
Stefan Schmidt
efb05eb717
evas: No need to finish a block with NULL statement.
2013-05-14 15:45:22 +01:00
Chris Michael
50f446199a
Fix 'return' with no value, in function returning non-void
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-14 10:49:14 +01: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
Jiyoun Park
35b8b8fbf5
* Evas: Fix crash if app use native surface in wrong engine.
...
in sw engine, visual cannot be the image data.
2013-05-11 22:40:50 +09:00
Carsten Haitzler
fd8cb707b9
free strings in dri/drm swapper so they don't leak.
2013-05-10 13:35:02 +09:00
ChunEon Park
59429c0e66
evas/gl - and don't try blend as possible.
2013-05-10 01:51:42 +09:00
ChunEon Park
0315565b7b
evas - don't try blend on gl backened if the render option is COPY
2013-05-10 01:33:56 +09:00
Rafael Antognolli
aeb3669c6f
evas/wayland_egl: Implement image_mmap engine method.
...
It looks like several methods like this one should be moved to a common
place (gl_common, maybe).
2013-05-08 17:47:55 -03: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
Cedric Bail
c3f9d3b8b8
evas: Make Evas_Loader API public.
2013-05-08 18:16:59 +09:00
Jérémy Zurcher
41e59310a5
remove replace eo_data_get() call
2013-05-07 22:46:10 +02:00
Carsten Haitzler
2aec9927b3
disable glmap/unmap buffer bu default in evas gl engine
...
it seems glmapbuffer can be nasty overhead on some drivers, so go back
to gldrawarrays by default until such a time as we know a lot more...
i'm looking at YOU nvidia! YOU!
2013-05-07 16:20:02 +09:00
Carsten Haitzler
01d816fb96
fix swapregion rect to account for canvas rotation.
2013-05-07 10:26:43 +09:00
Rafael Antognolli
78d42bcb62
evas/wayland_shm: Don't free the swapper while still in use.
...
Wait until all the buffers were released before freeing it.
2013-05-06 15:03:09 -03:00
Rafael Antognolli
868206826a
evas/wayland_egl: Update this engine after flags and attributes move.
2013-05-06 12:53:37 -03:00
Cedric Bail
c5b0d28d73
evas: move flags and attribute around.
2013-05-06 19:02:04 +09:00
Carsten Haitzler
d47a81ce17
last scissor always scissor stuff broke map. fix it to work again
...
accounting for fbo's and master clip.
2013-05-04 11:43:02 +09:00
Carsten Haitzler
73a088141e
oops merge me
2013-05-03 23:28:30 +09:00
Carsten Haitzler
e0a78afef0
oh copying way too much data into vbo's... we copied alloc size not
...
num size.. and alloc size is much bigger as it makes room for 1024
quads per alloc increase (6*1024 vertexes etc.). literally this drops
e17's cpu usage while compositing stuff by 40%...at least in my test
case.
2013-05-03 23:25:15 +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
e8228afff6
dont get swapmode (and thus map buffer) unless we have at least SOME
...
update rects for this frame.
2013-05-02 19:31:47 +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
Chris Michael
5dde3b3bfd
Add 'mode' and 'lost_back' fields to render_engine.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael
d7ab7b5c95
Add enum for swap mode.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael
1f229105f4
Fix check for Outbuf alpha.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael
67c2a38144
Ensure destination_alpha is set in Outbuf when we (re)configure.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael
c7192a56f4
Add evas_outbuf_reconfigure function.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael
ac4f1191ea
Change rotation to unsigned int.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael
843e5df1e5
Add evas_outbuf_reconfigure function prototype
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael
e6d993f774
Free any rendering rectangles when we free the render_engine.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Daniel Zaoui
654a3f5f94
Efl: replace eo_data_get for objects data referencing.
2013-05-01 10:37:08 +03:00
Chris Michael
53f9d6ce8c
Check for a valid buffer before we free it (this fixes resize issues
...
when async_render).
NB: If buffer is still valid, that means compositor is not finished
with it yet, so don't release it.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 14:55:54 +01:00
Chris Michael
036454746b
Fix update_region to use bpl from the buffer
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 14:55:54 +01:00
Chris Michael
c71edd740c
Add some initial code to create the Outbuf and to free it.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:27:20 +01:00
Chris Michael
79b65ab184
Override the output_free engine function.
...
Add code to cleanup on engine shutdown.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:23:40 +01:00
Chris Michael
6a369b2a2a
If we have an existing outbuf, then free the old one and try to create
...
a new one.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:20:52 +01:00
Chris Michael
021e76aa25
Try to create the Outbuf during initial engine setup.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:16:33 +01:00
Chris Michael
248c2f8233
Add initial file for Outbuf
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:12:47 +01:00
Chris Michael
a67894a5a7
Add Render_Engine structure
...
Start on code to setup the output buffer.
Add code to init evas_common functions
Add override for engine setup.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:10:05 +01:00
Chris Michael
b607e66f68
Add Outbuf structure and some function prototypes
...
NB: These are not finalized yet and may change.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:10:05 +01:00
Chris Michael
8ef46df20d
Add rotation, depth, alpha to the engine info structure.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:10:05 +01:00
Chris Michael
57052b92e1
Add start of drm engine
...
NB: Nothing to see here, just basic evas_engine setup.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 13:02:00 +01:00
Chris Michael
53fd97fd08
Add missing braces
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:58:02 +01:00
Chris Michael
64a598d053
Add logging macros to drm engine.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:40:24 +01:00
Chris Michael
e8b7fa49ca
Add start of Drm Engine header.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:37:58 +01:00
Chris Michael
b8c6d19748
When we free the swap buffer, do Not munmap the buffer data.
...
Buffer data (in this instance) is from the swapper (ie: the creation
of the swapper allocates & mmaps the data). As such, we should not
unmap it when we free buffer(s), just when we free the swapper.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 11:32:18 +01:00
Chris Michael
672a2e36e3
Use the width & height from the buffer (actual image size) when
...
calling evas cache image data.
When we push an updated region, be sure to account for the rectangle
position during the conversion function.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 11:32:18 +01:00
Chris Michael
66d258d17b
Be sure to set the Render_Engine's info to the new engine info.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 11:32:18 +01:00
Chris Michael
1435a48d4d
Remove blank line
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-26 07:14:58 +01:00
Rafael Antognolli
6890a0e452
evas/wayland_shm: Fix resize to the left or top when rotated.
2013-04-25 19:58:05 -03:00
Rafael Antognolli
1ec6dd5fbc
evas/wayland_egl: Fix resize to the left or top when rotated.
2013-04-25 19:58:03 -03:00
Rafael Antognolli
0745e46d12
ecore_evas/wayland: Add support for rotation on wayland_egl backend.
...
Also move the common code for rotation_set from the shm engine to
wayland_common.
2013-04-24 15:24:37 -03:00
Rafael Antognolli
8ef6568ea7
ecore/evas wayland_shm: Add support for window rotation.
2013-04-23 18:52:54 -03:00
Cedric Bail
f2e95b094a
evas: take stride into account with swapbuf.
2013-04-23 16:48:50 +09: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
ChunEon Park
529e1d3569
evas/evas_gl - cast arguments properly according to the spec of the gles/gl APIs.
2013-04-21 22:31:58 +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
6e90a37990
comments for sungwoo when he gets back...
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
Carsten Haitzler
9ec8064638
Work around new intel Mesa/xorg bug where alpha
...
channel in NON-ARGB windows is not filled in with 0xff
even if all the code does things right.
2013-04-14 01:14:58 +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
9a649bc07a
fix valgrind complaint in evas gl caching of surface caps... bad code
...
bad!
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
Cedric BAIL
f11dc2f184
evas: fix crash with Evas buffer when target colorspace has no alpha.
2013-04-03 19:18:58 +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
deabd07e4b
oops - define GL_UNPACK_ROW_LENGTH not GL_UNPACK_ROW_LENGTH_EXT
2013-03-22 11:35:05 +09:00
Rafael Antognolli
57208fd2a3
evas/wayland_egl: Fall back to dlsym if eglGetProcAddress fails.
...
At least for wayland, eglGetProcAddress seems to fail to get the
eglQueryString symbol. Not sure if it's the right fix, but brings
wayland_egl back to working again.
Fixes #2301 .
2013-03-20 15:16:10 -03:00
Tom Hacohen
aef97ce5a5
Evas gl: Fixed warnings in the gl engine.
2013-03-20 15:18:54 +00:00
Carsten Haitzler
797c1a1283
seems tegra has gotten better so up pipe max number in gl engine.
2013-03-17 14:18:52 +09:00
Carsten Haitzler
5a8d82228f
update on recent symbol finding changes in evas - use dlsym for fbo's
2013-03-17 13:55:10 +09:00
Carsten Haitzler
3728c60311
Fix opengl-es 2.0 engine support to only use GL_UNPACK_ROW_LENGTH
...
if the correct gles extension exists.
2013-03-15 13:05:39 +09:00
Carsten Haitzler
5a00aa5b25
evas gl engine -> prefer extn symbols over non-extn symbols
2013-03-15 12:15:19 +09:00
Chris Michael
cac7a4dad8
Fix for building without setting the opengl=es option.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-03-14 14:50:23 +00:00
Cedric BAIL
dbd044055d
evas: fix compilation issue due to change of Evas_Object structure.
2013-03-14 10:44:56 +09:00
Cedric BAIL
d79a2efa39
evas: use Eina_Cow a lot more and we are closer to the memory size of 1.7.
2013-03-13 14:35:25 +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
Rafael Antognolli
de5b36583d
evas/wayland_shm: Change the buffer sent comparison.
...
Using the wb->buffer pointer to compare if a buffer was already sent is
bad, since the buffer pointer can be changed in a way that that
comparison is true, even if different buffers are used.
When requesting a new buffer to the wl_shm_pool, it can return the
buffer address of a previously freed buffer. This reused buffer pointer
can be the same as the last buffer sent to the compositor, and the
comparison will be true, skipping a new wl_buffer_attach.
2013-03-08 14:54:18 -03: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
Sung W. Park
64aa5a2670
evas: evas_gl - Got rid of resource pool in favor of creation on demand.
...
Resource contexts/surfaces are used for creating resources within Evas_GL.
In oder to handle Evas_GL runnig from different thread than the main one,
a resource context/surface pool was used. This turned out to be unnecssary
as they are not used very frequently. So, I got rid of the pool and
made the resources create as needed.
2013-03-04 20:23:49 +09:00
Rafael Antognolli
3d0bd026ba
evas/wayland_shm: Add evas_swapper_reconfigure().
...
This can be used to reconfigure a swapper to another size, without the
need to destroy the swapper itself.
Although the shm pool is not being reused even when reconfiguring to a
smaller size, it could easily be.
This change is done right now only to keep the dx and dy offsets of a
previously requested swapper, which were not still used.
2013-02-28 12:48:41 -03:00
Christopher Michael
ba86389448
Fix valid variable check.
...
When doing double/triple buffering, and we go to merge the rectangles,
if we are triple buffering then we should not use the double-buffer
rectangles as a valid check for triple-buffer rectangles.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-27 10:19:06 +00: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
Rafael Antognolli
792413ebb6
evas/wayland_egl: Fix build error caused by wrong assignment.
2013-02-26 11:20:04 -03:00
Henrique Dante de Almeida
ca8fc827a3
efl: Fixes to support compiling with CFLAGS=-Werror
...
This allows compiling with gcc 4.7.2 without errors (using the
default configuration).
2013-02-26 10:55:04 -03:00
Christopher Michael
cbc203e0bf
Evas: Fixed wrong EINA_UNUSED usage in the gl_x11 engine.
2013-02-26 13:52:54 +00:00
Henrique Dante de Almeida
211c33ff6e
evas: Deal with double glShaderSource signature
...
The function glShaderSource may have 2 signatures:
http://stackoverflow.com/questions/12586695/signature-difference-in-openglshadersource-between-opengl-es-2-revisions
http://www.opengl.org/sdk/docs/man/xhtml/glShaderSource.xml
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml
This patch changes all internal signatures to use the most restrictive signature.
2013-02-26 10:17:28 -03:00
Carsten Haitzler
683e5d7d08
Fix evas GL common engine to have a shader to do oversampling on
...
downscaling. This makes quality much better and "at best"
equates to a 16 point sample (2x2 linear interpolation samples,
where a linear interpolation sample equates to a 2x2 sample).
This will have perfomance impact, but the quality is worth it and
makes it closer to software downscaling in quality. It supports
2x2, 2x1 and 1x2 oversampling. YUV not done, nor image mask
(font shaders not needed).
2013-02-26 22:07:30 +09:00
Christopher Michael
1b5ffada1b
Evas: Fixed wrong if in the x11 engine.
2013-02-25 10:35:54 +00:00
Stefan Schmidt
5e99f9b968
Revert "Refactor evas_sw_xlib_outbuf to allocate less in case of rotations."
...
This reverts commit 139737247d
.
THis fix was completely wrong.
Conflicts:
ChangeLog
2013-02-20 17:21:30 +00:00
Rafael Antognolli
8be4940bb3
evas/wayland_shm: Remove x,y offsets from swapbuf related APIs.
...
These offsets can be calculated later during the resize operations.
2013-02-19 10:42:39 -03:00
Rafael Antognolli
dc0d88df9c
ecore_evas/wayland_shm: Fixed window resize.
...
Using the server_allocation/allocation to determine the resize offset
was not completely precise, and causing the window to not always resize
correctly.
Additionally, calling evas_engine_info_set() on every resize step caused
the window content to blink and resize very slow, because the swap
buffer, swapper, and everything were being destroyed and recreated. Now
only the swapbuf_reconfigure is being called during the resize, which is
way faster.
2013-02-19 10:18:03 -03:00
Christopher Michael
cf67e69b50
Fix swapper to take resize edges into account.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:03 -03:00
Christopher Michael
232ea5b875
Fix function prototypes to take resize edges into account.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:03 -03:00
Christopher Michael
899e4f745c
Fix swapbuf setup to take resize edges into account.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael
5dde66b4e4
Fix function prototypes to take x & y as params. Fix functions to take x & y as params (for resize edges).
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael
c95160baae
Fix swapper_setup function prototype to take x & y as params.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael
e4aae7301f
Add x & y to Output buffer.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael
f541b8af90
Add edges struct to engine information.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Ivan Briano
61b8e2aefe
More removal of \r
2013-02-17 14:53:25 -03: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
f4da5922d3
swapper -> use buf pitch, not swp->w * 4 ... if we have a buf and
...
pitch. :) (tnks wonsik!)
SVN revision: 83889
2013-02-14 10:39:59 +00: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
Stefan Schmidt
a9b1e78916
efl/evas: Remove stray ; from evas_gl_core.
...
SVN revision: 83830
2013-02-11 15:03:56 +00:00
Daniel Willmann
139737247d
Refactor evas_sw_xlib_outbuf to allocate less in case of rotations.
...
Previously whenever evas_software_xlib_outbuf_new_region_for_update was
called for images that were rotated (!= 0) we created a new
evas_cache_image. This resulted in (quite severe) memory spikes whenever
an image was rotated.
Now we try to get the original image first and only if that fails allocate
a new one.
TDevilhorns is already working on the port to the xcb backend.
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
SVN revision: 83789
2013-02-08 15:49:50 +00:00
Carsten Haitzler
dbaf2b8fde
and handle rotated swapbuf if bufsz doesnt match... PROPERLY.
...
SVN revision: 83781
2013-02-08 12:22:04 +00:00
Rafael Antognolli
d74b652b29
evas/wayland_egl: Fix Evas pointer assignment.
...
Don't assign the public data to an Evas *.
SVN revision: 83778
2013-02-08 11:50:06 +00:00
Carsten Haitzler
5a80685803
swapper infra work - handle if buffer sizes dont match... :)
...
SVN revision: 83764
2013-02-08 07:23:31 +00:00
Christopher Michael
c951fb5a2d
Use palette mode none for conversion.
...
Comment out idle_flush (for now) as it is causing some segfaults with
elm_win_util_standard_add for some strange reason.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83436
2013-01-29 14:40:21 +00:00
Rafael Antognolli
9afa66d722
evas/wayland_egl: Add do_async flag to this engine, but don't use it.
...
SVN revision: 83389
2013-01-28 20:00:03 +00:00
Christopher Michael
5df48569c8
Free the swapper when we remove the Outbuf.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83378
2013-01-28 08:31:22 +00:00
Carsten Haitzler
a8b7d8551d
oops - forgot to free swapper on swapbuf free! :)
...
SVN revision: 83377
2013-01-28 04:00:36 +00:00
Christopher Michael
def83a6eb1
Add logging function macros
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83294
2013-01-24 12:15:11 +00:00
Christopher Michael
cfbdc648d1
Add logging functions
...
Remove dead commented out code
Do not call wl_surface_attach if the buffer is the same as the one
already attached.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83293
2013-01-24 12:15:07 +00:00
Christopher Michael
b8a9d67c88
Add code to delete the shm pool when we destroy the swapper.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83291
2013-01-24 09:59:50 +00:00
Christopher Michael
76dea59613
Rewrite swapper code to use One shm pool and allocate buffers from
...
that pool.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83290
2013-01-24 09:21:40 +00:00
Christopher Michael
e645261b95
Remove 'return' in idle_flush.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83289
2013-01-24 09:21:37 +00:00
Christopher Michael
801cfc567d
Use eina_rectangle_free
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83288
2013-01-24 09:21:34 +00:00
Christopher Michael
fdd0a37c61
Add onebuf field to Outbuf struct.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83287
2013-01-24 09:21:30 +00:00
Christopher Michael
0e6b2ad6f7
Reset Render_Engine onebuf if it was set previously.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83286
2013-01-24 09:21:27 +00:00
Christopher Michael
e1fdc232e1
Use eina_rectangle_free to free the rect.
...
Be sure to increment i here.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83285
2013-01-24 09:21:24 +00:00
Christopher Michael
95d6577c2d
Add function prototype for swapper_idle_flush.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83284
2013-01-24 09:21:21 +00:00
Christopher Michael
fd2c68dbf2
Add a swapper_buffer_idle_flush function to loop the Wl_Buffer
...
structures inside the swapper and release memory of any invalid ones.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83283
2013-01-24 09:21:18 +00:00
Christopher Michael
913d0cd170
Add code to handle idle_flush which will release memory that is unused
...
by invalid buffers.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83282
2013-01-24 09:21:15 +00:00
Christopher Michael
f785c9fc21
Support an environment variable to set the number of buffers (double
...
buffer by default).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83281
2013-01-24 09:21:12 +00:00
Christopher Michael
18ba710320
Double buffer by default.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83280
2013-01-24 09:21:09 +00:00
Christopher Michael
313e82c680
Rename the env variable that we will check for buffering support.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83279
2013-01-24 09:21:06 +00:00
Christopher Michael
949d008b13
Check for valid wl_shm before trying to create the shm pool.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83277
2013-01-24 09:21:01 +00:00
Christopher Michael
fa783d8e75
Fix typo.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83276
2013-01-24 09:20:58 +00:00
Christopher Michael
aed4b4e7b6
Remove included evas_outbuf.h
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83272
2013-01-24 09:20:36 +00:00
Christopher Michael
ac1ecc770a
Add engine output redraws next update get code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83266
2013-01-24 09:18:19 +00:00
Christopher Michael
17225d31e8
Add merge rectangles code (borrowed from the x11 engine).
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83265
2013-01-24 09:18:15 +00:00
Christopher Michael
824971a110
Add local function prototype for mergine rectangles.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83264
2013-01-24 09:18:09 +00:00
Christopher Michael
082f2c8f83
Add engine idle flush code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83263
2013-01-24 09:18:03 +00:00
Christopher Michael
b5ac8fe948
Add engine output flush code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83262
2013-01-24 09:17:56 +00:00
Christopher Michael
a3559d4c88
Add code for engine redraws push.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83261
2013-01-24 09:17:51 +00:00
Christopher Michael
4c04c1bb54
Add engine output redraws clear code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83260
2013-01-24 09:17:47 +00:00
Christopher Michael
866576b89b
Add engine output redraws rectangle del code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83259
2013-01-24 09:17:40 +00:00
Christopher Michael
7de14722fe
Add engine output redraws rectangle add code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83258
2013-01-24 09:17:37 +00:00
Christopher Michael
25e5af9ae6
Add engine tile size set function code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83257
2013-01-24 09:17:34 +00:00
Christopher Michael
6eda15c183
Add eng_output_resize code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83256
2013-01-24 09:17:30 +00:00
Christopher Michael
3dcaec35b5
Add code to the eng_output_free function to do any cleanup.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83255
2013-01-24 09:17:26 +00:00
Christopher Michael
ae0076c929
Create engine context if missing and return success.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83254
2013-01-24 09:17:23 +00:00
Christopher Michael
a2e3bfc356
Reassign engine data output
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83253
2013-01-24 09:17:19 +00:00
Christopher Michael
8fa451f2db
If we have an existing render engine already, then free the existing
...
output buffer, create a new one, and assign render engine functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83252
2013-01-24 09:17:15 +00:00
Christopher Michael
f72dfd4c31
Try to create the new Render_Engine on initial engine setup.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83251
2013-01-24 09:17:11 +00:00
Christopher Michael
034721bcd8
Add check to make sure output buffer creation worked.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83250
2013-01-24 09:17:00 +00:00
Christopher Michael
8a7ba73169
Add code to create the output buffer of the render engine and set the
...
render_engine functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83249
2013-01-24 09:16:55 +00:00
Christopher Michael
0fdbf94c23
Add initial swapper code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83248
2013-01-24 09:16:52 +00:00
Christopher Michael
7e13dc5459
Add initial header file for swapper.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83247
2013-01-24 09:16:49 +00:00
Christopher Michael
1d3cfce8a7
Remove include for evas_outbuf.h
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83246
2013-01-24 09:16:46 +00:00
Christopher Michael
f76eb06874
Add initial swap buffer code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83245
2013-01-24 09:16:42 +00:00
Christopher Michael
82e807115f
Add initial swap buffer header file.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83244
2013-01-24 09:16:39 +00:00
Christopher Michael
9b9fdf840b
Set tilebuffer tile size in engine setup.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83243
2013-01-24 09:16:36 +00:00
Christopher Michael
fe75b1bf24
Try to create new tilebuffer in engine setup.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83242
2013-01-24 09:16:22 +00:00
Christopher Michael
f0a6c5ca26
During engine setup, try to allocate a new Render_Engine structure.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83241
2013-01-24 09:16:19 +00:00
Christopher Michael
753aa3d487
Add base function for engine output setup.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83240
2013-01-24 09:16:15 +00:00
Christopher Michael
b1cadea6c5
Add local function prototype for engine output setup.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83239
2013-01-24 09:16:12 +00:00
Christopher Michael
b17b417b73
Add test for 'swapping' (ie: buffering).
...
NB: This env variable is going to change for the wayland engine(s).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83238
2013-01-24 09:16:09 +00:00
Christopher Michael
5296f0c2cd
Add some evas_common init functions if we have not previously
...
initialized this engine before.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83237
2013-01-24 09:16:06 +00:00
Christopher Michael
7cd113ea47
Test for valid engine output to see if we need to create it.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83236
2013-01-24 09:16:03 +00:00
Christopher Michael
1e41dcd37f
Try to get the Evas public data from eo.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83235
2013-01-24 09:15:59 +00:00
Christopher Michael
98e58d34a1
Try to cast the passed in info to our engine info.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83234
2013-01-24 09:15:56 +00:00
Christopher Michael
57bb76834d
Try to free the allocated engine info structure.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83233
2013-01-24 09:15:53 +00:00
Christopher Michael
80f8fcfeeb
Return our allocated engine info structure.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83232
2013-01-24 09:15:49 +00:00
Christopher Michael
f3d29d891b
Fill in some default properties for our engine info.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83231
2013-01-24 09:15:15 +00:00
Christopher Michael
c13e0e7b5f
Try to allocate our engine info structure.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83230
2013-01-24 09:15:12 +00:00
Christopher Michael
3cdf6d6a50
Tell the Evas_Module about our functions and return success.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83229
2013-01-24 09:15:08 +00:00
Christopher Michael
77a205eac8
Define which functions this engine will override from the
...
software_generic functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83228
2013-01-24 09:15:05 +00:00
Christopher Michael
aa1bd96e2d
Copy the inherited functions into our local variable so we can
...
override some functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83227
2013-01-24 09:15:00 +00:00
Christopher Michael
1dbfd6c541
Try to inherit functions from the software_generic engine.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83226
2013-01-24 09:14:57 +00:00
Christopher Michael
145e8f8ced
On module open, create our log domain
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83225
2013-01-24 09:14:54 +00:00
Christopher Michael
6340706c3f
Unregister the module log domain on shutdown of the engine.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83224
2013-01-24 09:14:50 +00:00
Christopher Michael
e91f12c8e9
Add skeleton code for evas module open/close, etc.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83223
2013-01-24 09:14:46 +00:00
Christopher Michael
bc8f383098
Add skeleton code for evas engine functions.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83222
2013-01-24 09:14:31 +00:00
Christopher Michael
318eb79973
Add variable(s) for engine function overrides.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83221
2013-01-24 09:14:27 +00:00
Christopher Michael
440c4b72e0
Add prototypes for evas engine functions.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83220
2013-01-24 09:14:22 +00:00
Christopher Michael
12320fcb5e
Add variable for log domain.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83219
2013-01-24 09:14:19 +00:00
Christopher Michael
0579a8b82c
Add Render_Engine structure.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83218
2013-01-24 09:14:16 +00:00
Christopher Michael
a76b0245b9
Add initial evas_engine C file.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83217
2013-01-24 09:14:13 +00:00
Christopher Michael
fd10050f53
Add intial Outbuf structure.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83216
2013-01-24 09:14:10 +00:00
Christopher Michael
158fe19edb
Add enum for render mode (double, triple, etc).
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83215
2013-01-24 09:14:07 +00:00
Christopher Michael
7e85b84098
Add Outbuf Depth enum.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83214
2013-01-24 09:14:04 +00:00
Christopher Michael
9d1d8f4c63
Add initial evas_engine header file.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83213
2013-01-24 09:14:00 +00:00
Christopher Michael
1577c5913e
Add initial Evas_Engine_Wayland_Shm header file and remove legacy
...
'dest' field from engine info structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83212
2013-01-24 09:13:57 +00:00
Christopher Michael
0b5e371bc7
Remove old wayland shm engine code.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83211
2013-01-24 09:13:54 +00:00
Sung Park
0c7425a0aa
Add EVAS_GL_DIRECT_MEM_OPT to enable on-demand fallback memory
...
allocation policy for EvasGL direct rendering.
Also made some variable name changes and some other minor fixes.
SVN revision: 83199
2013-01-24 04:51:51 +00:00
Christopher Michael
8ce1afd62f
leak--
...
If we do not have a private palette here, we free the buffer and
return NULL, However we never free'd the xob that was allocated
previously.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83163
2013-01-23 11:12:52 +00:00
Christopher Michael
8aead73fe5
Free the previously allocated rectangle is we do not need it.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83162
2013-01-23 11:07:59 +00:00
Christopher Michael
c4b536e500
Do not allocate Outbuf_Region if we do not need it (leak--).
...
- If the output buffer has a 'onebuf' and we are going to return
that, then we do not need to allocate an Outbuf_Region.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83161
2013-01-23 11:07:55 +00:00
Christopher Michael
b07683009a
leak--. If we are returning NULL on buffer_new, then free any allocated xob
...
structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83158
2013-01-23 10:55:04 +00:00
Carsten Haitzler
5e8f9c0689
oops - minor "never wil happen" leak - free rect.
...
SVN revision: 83110
2013-01-22 23:31:43 +00:00
Sung Park
d606adf10d
Applied on-demand memory allocation policy for Evas GL Surface
...
for direct rendering optimization. For direct rendering in EvasGL,
it falls back to FBO rendering if the conditions are not met. Before,
the fallback resources were created in the beginning but now they are
created and destroyed on need base.
SVN revision: 83057
2013-01-22 07:00:12 +00:00
Carsten Haitzler
01739d4cc1
oops - forgot to force 24bpp to 32bpp in drm swapper.
...
SVN revision: 83027
2013-01-21 03:37:46 +00:00
Gustavo Sverzut Barbieri
df701d8ca2
some clang warning cleanups i forgot to commit
...
SVN revision: 83024
2013-01-21 00:22:35 +00:00
Leandro Pereira
7d9edad225
evas/engines/gl_sdl: Build and warning fixes.
...
SVN revision: 82937
2013-01-17 14:32:05 +00:00
Ulisses Furquim
09f342fdeb
evas/async_render: use image scalecache
...
SVN revision: 82890
2013-01-16 16:07:46 +00:00
Carsten Haitzler
73b2f09b74
fix some core swapper logic isue with rect updates... nasty nasty
...
nasty to catch! :(
SVN revision: 82859
2013-01-16 06:41:02 +00:00
Paulo Alcantara
b557bd9e0d
efl/engines: Introduce multi_font_draw() function
...
This new engine function will only be used in software generic for
now - since it's the only engine used with the async render.
This function has been introduced in order to avoid growing thread
command queue too much to draw a text_props at a time on render calls
from textgrid objects.
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82832
2013-01-15 17:35:11 +00:00
Ulisses Furquim
48c15aaa74
evas/async_render: only get a ref if a thread cmd was issued
...
This patch should make us get a reference on images, maps and glyphs
which are sent in a command to the render thread. Before we were doing
some useless ref and unref operations.
SVN revision: 82666
2013-01-11 19:57:09 +00:00
Ulisses Furquim
b9f05341c3
evas/async_render: skip early if text_props with no glyphs
...
This is intended to preserve old behavior now that we have
evas_common_font_draw_cb() to handle both sync and async callbacks.
However, we need to check where why we end up with no glyphs in a
text_props even after calling evas_common_font_draw_prepare().
SVN revision: 82664
2013-01-11 19:56:32 +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
Leandro Pereira
468b44c444
evas: Do not use an Eina_Lock for glyph array
...
Patch by: Leandro Pereira <leandro@profusion.mobi>
SVN revision: 82659
2013-01-11 19:48:28 +00:00
Carsten Haitzler
aed8f91ab6
add dri2 minor check for swap stuff.
...
SVN revision: 82562
2013-01-10 12:23:27 +00:00
Paulo Alcantara
e8cc9680d0
efl/software_generic: Fix map/image drawing with Cserve2
...
We must check whether source image has been loaded or not before
enqueueing draw commands. Otherwise, cserve2 may not have a specific
loader and then it does not load the source image and the enqueued draw
commands dereference the NULL pointer "data" from source image.
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82483
2013-01-09 21:39:06 +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
Sung Park
edcb4cf295
Pulled out evas gl backend binary shader file caching code from
...
evas_gl_shader.c file and made an internal generic caching api in
evas_gl_common.h for use in other places ie. evas_gl.
Then implemented evas_gl surface cap. caching code in gl backend to
accelerate the engine creation.
SVN revision: 82321
2013-01-07 06:16:18 +00:00
Cedric BAIL
fb1225caa7
efl: fix build of Evas XCB backend.
...
Patch by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
SVN revision: 82310
2013-01-07 01:07:21 +00:00
Gustavo Sverzut Barbieri
de7dc1c2cc
efl/evas: proper glShaderSource() definition as glext.h
...
it is "const char * const *", not "const char **", and it was triggering a warning in our code.
it's just constness and will not trigger an error in our user's code, just an warning that he should fix.
SVN revision: 82278
2013-01-05 15:55:58 +00:00
Gustavo Sverzut Barbieri
5c7967827b
efl: easy warning fixes.
...
SVN revision: 82277
2013-01-05 15:42:26 +00:00
Paulo Alcantara
a33afe35f9
efl/wayland_egl: Fix invalid argument being passed
...
evas_common_font_draw() should be called with glyphs array for now,
instead of intl_props.
This patch should fix ticket #2149 .
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82229
2013-01-04 19:37:22 +00:00
Rafael Antognolli
f8dbdafae6
evas/wayland_egl: Force EGL_PLATFORM to wayland to skip autodetection.
...
Since we are already inside wayland_egl code, force this env var to
avoid the EGLNativeDisplayType autodetection (done by EGL code), which
seems to be incorrect.
This commit should fix ticket #1972 .
Note: revert this as soon as EGL autodetection gets fixed.
SVN revision: 82183
2013-01-04 16:00:43 +00:00
Carsten Haitzler
83574d3ec3
oops - this one got moved byt not changed. fix.
...
SVN revision: 82022
2013-01-03 00:00:21 +00:00
Carsten Haitzler
a34941c17f
fix mask write line stuff.
...
SVN revision: 81998
2013-01-02 15:01:27 +00:00
Cedric BAIL
51f8fe26fc
efl: forgotten evas commit.
...
SVN revision: 81914
2012-12-31 00:24:40 +00:00
Paulo Alcantara
0809c7de3f
efl/cserve2: Fix ref/unef of image entries for threads
...
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 81584
2012-12-21 21:13:06 +00:00
Leandro Pereira
b3c76a8bc2
evas/software_generic: Remove invalid EINA_UNUSED and other cleanups
...
SVN revision: 81473
2012-12-20 18:02:33 +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
Carsten Haitzler
9e5266109d
fix 24bpp rendering problem and pixel fetch problem found in qemu/kvm.
...
SVN revision: 81378
2012-12-19 15:40:52 +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
ChunEon Park
a949b185e6
evas/gl - fix the line incorrect position in arm.
...
line position is slightly different between gl drivers.
I have no idea why it is. So added to work differently based on the manufacturers.
This work may be based on the renderer. If you can test it with much drivers then please test and fix.
Also changed the ENV name from EVAS_GL_LINE_NO_OFFSET_HACK to EVAS_GL_LINE_OFFSET_HACK_DISABLE.
SVN revision: 81016
2012-12-15 09:40:47 +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
Cedric BAIL
b8ffd432b1
efl: fix potential segv in Evas software engine native_set code.
...
SVN revision: 80805
2012-12-13 09:46:32 +00:00
ChunEon Park
19e600254f
evas/gl - actually, this is correct.
...
SVN revision: 80758
2012-12-12 12:39:32 +00:00
ChunEon Park
7d98f2be38
evas - fix the gl line inccorect position problem.
...
I tested gl line drawing on a few devices and found the x line start position was 1.
On the other hand, our evas draws the line on start position 0.
So it needs to shift by 1 pixel if evas is working on gl backcned.
SVN revision: 80734
2012-12-12 08:03:46 +00:00
Gustavo Sverzut Barbieri
2abb5474c4
efl/evas: make egl stuff compile with xcb
...
SVN revision: 80503
2012-12-07 22:50:47 +00:00
Sung Park
931e4f9325
Fixed polygon rendering bug in GL backend when there are cutouts.
...
It was clipping everything to (0,0,0,0) so it was all clipped out.
SVN revision: 80427
2012-12-07 10:02:26 +00:00
Sung Park
dbcdaa6b68
Added EVAS_GL_LINE_NO_OFFSET_HACK evn var control to handle
...
line coordinate fiddling in gl line drawing code. This fiddling
caused issues on some GPU drivers on ARM target.
SVN revision: 80417
2012-12-07 08:28:42 +00:00
Rafael Antognolli
8ea3c29132
ecore/wayland_egl: Remove image_mask_create from this engine too.
...
SVN revision: 80267
2012-12-05 16:33:46 +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
Gustavo Sverzut Barbieri
dfe93a7f0a
directfb says bye...
...
After agreement in the mail list, core developers agree to remove this
engine that was not being supported for a long time.
Given that most operations Evas uses are not accelerated in DirectFB,
or at least hardware that exclusively supports DirectFB, it's better
for those people to just use Evas/Ecore software (buffer) rendering
and expose DirectFB's framebuffer as destination surface.
SVN revision: 80232
2012-12-05 12:24:01 +00:00
Vincent Torri
09358c71d1
merge: remove direct3d (there are some remaining files, they will be deleted with ecore merge)
...
SVN revision: 79989
2012-12-02 21:07:10 +00:00
Paulo Alcantara
f8f79f8599
evas/cserve2: Add scalecache support
...
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 79754
2012-11-27 18:23:25 +00:00
ChunEon Park
4e55742f4a
evas/gl - don't need to keep the texture altas height for the framebuffer.
...
they won't be utilized anything by atlas.
Cause of this, It wasted unnecessary texture memory. :(
SVN revision: 79637
2012-11-24 17:25:43 +00:00
ChunEon Park
575ecb0ea2
evas/gl - return quickly as possible.
...
SVN revision: 79634
2012-11-24 14:54:31 +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
Christopher Michael
4d6ace7272
Patch from Alex Wu to fix egl engine for 1.4 spec.
...
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 79506
2012-11-21 10:02:40 +00:00
Christopher Michael
190e65dac3
evas/wayland_egl: Don't create EGLSurface for internal gl resource if we already have one in re->win.
...
EGL 1.4 spec Section 3.5.1: If there is already an
EGLSurface associated with win (as a result of a previous
eglCreateWindowSurface call), then an EGL_BAD_ALLOC error is
generated.
So that this eglCreateWindowSurface() will fail if the egl driver is
a strict conformance to the spec.
SVN revision: 79505
2012-11-21 10:02:18 +00:00
Sung Park
2b0829785f
Oops... cleaned up some code/warnings. Should have been a part of
...
last commit.
SVN revision: 79494
2012-11-21 05:11:17 +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
242e9bb9ee
and now have a real implementation with drmey things... with some
...
debugging.
SVN revision: 79486
2012-11-21 02:48:49 +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
Carsten Haitzler
dfc1ccde24
comment out unused vars - name the px/yN...
...
SVN revision: 79458
2012-11-20 01:13:26 +00:00
Carsten Haitzler
fac8ec4ca7
this is the START of something.. disabled at runtime for now - the
...
swapper infra is intended to have the ability to map pixels of
backbuffers right in for total zero-copy updates.
SVN revision: 79452
2012-11-19 13:43:48 +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
Mike McCormack
82126b8ffd
efl: Fix set but unused warnings
...
Unfortunately setting unused variable to zero still produces
a warning about variables being set but not used (on gcc 4.6.3).
Signed-off-by: Mike McCormack <mikem@atratus.org>
SVN revision: 79445
2012-11-19 13:09:53 +00:00
Rafael Antognolli
766a0c790d
evas/gles: Remove GL_STENCIL_INDEX from _string_get() on GLES.
...
This was removed on latest mesa, and seems to don't belong to GLES. See
the specification at http://www.khronos.org/registry/gles/ .
Additionally, it wasn't being used anywhere.
SVN revision: 79400
2012-11-16 18:37:47 +00:00
Sebastian Dransfeld
092b8ed76b
evas: cleanup
...
SVN revision: 79372
2012-11-16 10:14:12 +00:00
Sung Park
3e6b22aaed
Fixed glGetIntegerv() in Direct Rendering mode for Evas GL
...
to properly handle GL_SCISSOR_BOX and GL_VIEWPORT parameters.
SVN revision: 79364
2012-11-16 08:32:32 +00:00
Carsten Haitzler
dc0946e205
warning--
...
SVN revision: 79313
2012-11-15 05:03:45 +00:00
Carsten Haitzler
940a75b5a8
devilhorns: warning told me that x is not being used.. and that looks
...
bad... i added it into dest as thats obviously how it should be.. can
u double check?
SVN revision: 79312
2012-11-15 05:01:16 +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
7ae9a85094
evas/gl_common - removed unused
...
SVN revision: 79093
2012-11-10 11:18:27 +00:00
ChunEon Park
09486ba3bb
evas/gl_x11 - trivial fix.
...
SVN revision: 79092
2012-11-10 11:07:35 +00:00
Rafael Antognolli
9a673b2d4c
evas/wayland_egl: Check re->win before calling glMakeCurrent.
...
This pointer could be NULL if the window was hidden before calling
glMakeCurrent, which would make the program crash. In fact, at least
elm_win hides the window before actually deleting it (thus calling this
function).
SVN revision: 79017
2012-11-09 11:13:26 +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