evas filters: Switch to uniforms in GL blur
authorJean-Philippe Andre <jp.andre@samsung.com>
Tue, 28 Mar 2017 05:44:17 +0000 (14:44 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Fri, 14 Apr 2017 02:26:44 +0000 (11:26 +0900)
commit06a7beec529d741d9060878ce1fb740cf57804ad
treec9341cca068989aea95ceda33c80c057cccddf25
parent408115cef6e2460bbf165f19ca6ef09eb1ec5532
evas filters: Switch to uniforms in GL blur

This was a poor attempt at improving the performance but
obviously the root cause isn't fixed (too many texel fetches).

Uniform should (theoretically) work better than an attribute
the for loop. Just a guess here.

This also makes GL blur use a float value as radius, allowing
future extension to non-integer blur radii, as well as using
linear scaling as a fast blur approximation.
src/lib/evas/filters/evas_filter.c
src/lib/evas/filters/evas_filter_private.h
src/modules/evas/engines/gl_common/evas_gl_common.h
src/modules/evas/engines/gl_common/evas_gl_context.c
src/modules/evas/engines/gl_common/evas_gl_shader.c
src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x
src/modules/evas/engines/gl_common/shader/fragment.glsl
src/modules/evas/engines/gl_common/shader/vertex.glsl
src/modules/evas/engines/gl_generic/filters/gl_filter_blur.c
src/modules/evas/engines/software_generic/filters/evas_filter_blur.c