mul_256_sse3
sub4_alpha_sse3
interp4_256_sse3
mul_sym_sse3
mul4_sym_sse3
mul3_sym_sse3
LOOP_ALIGNED_U1_A48_SSE3
__attribute__((always_inline)) is needed to coax GCC (< 4.6.0)
into inlining the common blend ops. Not inlining these functions
causes a steep performance penalty.
Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>
SVN revision: 63698
Reported by WooHyun. Thanks a lot, great catch, also told me where and what
the issue is exactly.
Also added a test to verify this works.
SVN revision: 63493
This possibly doesn't scale as good but it's good enough for everything I've
tried. It's a lot easier to maintain comparing to the rbtree, and takes a
lot less memory. Next step is probably changing the array size according
to the actual content of the textblock.
SVN revision: 63474
NB: Xcb has no support (yet) for dealing with xrdb (Xresource
database), so add a simple parser to read an .Xdefaults file and get
things like xft.dpi.
SVN revision: 63297
Comparing software-sdl and software-16-sdl showed many small differences
this makes both engines' code much more alike.
The software-16-sdl was especially buggy, hopefully, this should make
it just as stable as the software-sdl engine.
SVN revision: 63248
Note: this help the driver to know that we don't it
to swizzle back the pixel from GPU format, because we
are going to replace all pixels.
SVN revision: 63201
The problem was that our rbtree implementation doesn't support chaining
duplicates and with no fonts, all the paragraphs had the same y coord (0).
Changing the paragraph index to work on line_no for sorting fixes it,
as line numbers are also correct when there are no fonts.
Thanks a lot to KaKaRoTo for letting me know about this issue.
SVN revision: 63188
The "pixels" pointer was set in the beginning of evas_object_image_render(),
and never updated, even after pixels_get() changed the content of
o->engine_data.
This patch updates that pointer if it becomes different from engine_data.
SVN revision: 63090
an obj is already queued we dont push it FURTHEr down the queue if
smart recalc is enabled. now at least we keep order of operation/calc
correctly!
SVN revision: 62944
Now, smart callback is prepended among the same priorities. After the
discussion with hermet and raster.
I fixed this because I think it's better keeping the default behavior
even we have new priority option. This is for evas backward
compatibility and for the world peace. Although I know there is no
official policy and it's not recommended to rely on the smart callback
calling sequence in application, I really hope evas needs to have
compatibility. Otherwise we need to adopt the new policy in next
version of evas.
SVN revision: 62792
Subject: [E-devel] [Review] [Patch] Evas_GL bug fixes/updates
I've fixed some minor issues that I've been pushing off for later.
The patch does the following:
1. Evas_GL and Evas had an issue where the viewport parameters were
being reset in the wrong context. Previously, this issue was temporarily
patched by flushing evas' pipeline and setting
evas_gl_common_context_use(NULL) in EvasGL's
make current. I know, it was pretty hacky. It turns out that in
evas_engine,
there was a code evas_gl_common_context_resize(NULL) without doing
eng_window_use() first. So i've added that part and problem went was
resolved properly. :-)
2. Naturally, I've taken out the temporary patch from 1.
3. I've added code that took care of glBindFramebuffer(..., fbo) where
the
fbo had to be saved and restored in case the user wanted to use his
own fbo.
Also, I've had to take care of the case when fbo is 0 since 0 need to
point
to evas_gl surface.
4. I've updated make_current a little as well.
SVN revision: 62780
Subject: [E-devel] [Patch] evas gl engine's texture creation
Hello.
1. _pool_tex_dynamic_new function, it didnt set pt to NULL when secsym_eglCreateImage function failed.
In this case, it returns wrong pt pointer and it has possibility to make crash.
So I add free pt code and return NULL code into _pool_tex_dynamic_new function.
2. I modified eng_image_data_get of gl engine.
If Evas_GL_Image's texture creation failed and evas_gl_image's cache image was droped,
Im->im can be NULL. So I add check code.
Example: evas_gl_common_image_content_hint_set
1) EVAS_IMAGE_CONTENT_HINT_DYNAMIC , it drop cache image
2) if evas_gl_common_texture_dynamic_new failed
3) then, im->im =NULL, im->tex=NULL
In this situation, if application call's evas_object_image_data_get function,
It make crash in evas_cache_image_load_data function.
3. I think function's related with evas_object's engine data have to be return NULL if it failed.
If function's returns null, evas object code can handle error more easily.
But evas object's code was implemented differently each case. Does my suggestion right?
I add engine data null check code to evas_object_image based on upper consumtion.
If it is wrong , the patch code related with evas object image have to be removed.
If it is right , I will survey other evas object type also.
SVN revision: 62775
Sometimes, gif loader can miss some previous frame.
In that case, display can be dirty.
If frame N loaded without N-1 make these problem.
I fixed this problem.
And I modified wrong document.
SVN revision: 62712
SPANK SPANK, they broke compilation. Please use the builtin revert
functions when you revert commits. Either:
GIT: 'git revert <commit hash>' (yeah, git is better).
or
SVN: 'svn merge -c <revision> .'
This will prevent this kind of erros from happenning in the future.
Also, plesae compile before committing.
SVN revision: 62678
buffer depth. Fix typo in error message. Add a missing
cache_image_drop call. When doing mask_set, use the proper variable
for the _create_gc function.
SVN revision: 62603
Subject: [E-devel] [Patch] Map/Unmap image for zero-copy texture
this modifies the zero copy texture feature to map and unmap on get and put
data to allow the put to "flush gpu caches".
SVN revision: 62493