path: root/src/modules/evas/engines/gl_common/evas_gl_context.c (unfollow)
AgeCommit message (Collapse)Author
2015-02-12Revert "Evas GL: Add support for uniforms in the shaders"Jean-Philippe Andre
This reverts commit 21d08f86e6087f7e30ff2015c7551c06e359bba9.
2015-02-12Revert "Evas GL common: Use uniform instead of attribute for sample"Jean-Philippe Andre
This reverts commit 986b60eaf0175b3592883c85cfb6f5f5a280f31d. Added PUSH_SAMPLE for simplicity. It was dumb of me to use uniforms, so I added a comment to prevent other dumb people from making the same mistake later.
2015-02-12Evas GL common: Improve code readability (simplify macro)Jean-Philippe Andre
The exact same ugly macro would appear hundreds of times in the GL code: GLERR(__FUNCTION__, __FILE__, __LINE__, ""); Instead, override the common GL functions iif GL_ERRORS is defined. This greatly simplifies code and removes tons of useless lines. Also, this will give better debugging output as the exact code line is printed, and the function name is also printed. Also, fix linking to the glerr function. This is a code cleanup. Hopefully I didn't break anything with this big operation of find & replace.
2015-02-12Evas GL common: Simplify GL pipe code with macrosJean-Philippe Andre
A lot of the code was just brutal copy & paste. Reduced by using simpler macros, which I believe are even more readable.
2015-02-12Evas GL common: Call glGetUniformLocation as early as possibleJean-Philippe Andre
This should speed up setting uniforms in the shaders, by storing their locations in the Evas_GL_Program description. I kept the previous solution with name as fallback, but it won't actually be used with the current shaders.
2015-02-12Evas GL common: Use uniform instead of attribute for sampleJean-Philippe Andre
Image and texture programs "12", "21" and "22" used tex_sample as a texture attribute passed to the vertex shader. Instead of this seemingly hackish solution, use a vec2 uniform.
2015-02-10Evas masking: Force BLEND mode in case of image masking (GL)Jean-Philippe Andre
This fixes some cases where the image has no alpha and COPY mode is used, but a mask is also applied. In that case, masking takes precedence and BLEND mode is used. @fix
2015-02-10evas/gl_x11: introduce tbm native surface typeDongyeon Kim
Summary: This native surface type is based on the tbm surface used for the tizen platform. EGL_TIZEN_image_native_surface EGL extension is used to map tbm surface to an egl image @feature Reviewers: raster, cedric, jpeg Subscribers: cedric, wonsik Signed-off-by: Jean-Philippe Andre <>
2015-02-10Evas GL: Add support for uniforms in the shadersJean-Philippe Andre
This will simplify greatly the code for map masking.
2015-02-10evas - gl engine - pipe renderer - disabling of unused arrays for linesCarsten Haitzler (Rasterman)
@fix - this fixes disabling of unused texa and texsam arays when line drawing - spotted in code review and bug hunting of another bug.
2015-02-10evas - gl enigne - mask logic fix with texa draw arraysCarsten Haitzler (Rasterman)
this fixes a logic oops in addition of masking to evas which caused crashes with a null texa array causing a crash in gldrawarrays
2015-02-05Evas masking: Fix GL masking with maps and stuffJean-Philippe Andre
This fixes an issue spotted after the previous fix. Passing the Y-invert flag is necessary because in the usual case a map is rendered with Y-invert (OpenGL coords vs. Evas coords) but in case a map is rendered in an FBO (another map's surface) then Y-invert must be unset.
2015-01-14Evas GL common: Remove unused filter_progJean-Philippe Andre
2015-01-14Evas GL common: Add shader ID as debug info in the pipeJean-Philippe Andre
Simplifies code readability a bit and helps for debugging (with GDB).
2015-01-14Evas masking: Fix evas map masking in GLJean-Philippe Andre
While this may look like a feature, it's definitely a fix.
2015-01-07Evas masking: Minor fixes in GL maskingJean-Philippe Andre
2015-01-07Evas masking: Add rectangle masking for GLJean-Philippe Andre
2015-01-07Evas masking: Simplify and fix vertex logic in GLJean-Philippe Andre
There was some geometry problem, and this commit also simplifies a lot of code by factorizing it a lot.
2015-01-07Evas masking: Use new texm sampler instead of texaJean-Philippe Andre
texa should be used only for RGB+A whereas texm should be used for masking. This should fix RGB+A masking, too.
2015-01-07Evas masking: Add support for YUV, YUY2, NV12 masking in GLJean-Philippe Andre
RGB+A masking needs to be implemented, because there's a clash (only one texture name "texa" is available).
2015-01-07Evas masking: Add support for BGRA/ARGB maskingJean-Philippe Andre
Also, refactor font & image GL masking.
2015-01-07Evas masking: Font masking for GLJean-Philippe Andre
2015-01-07Evas masking: Implement image masking for GL enginesJean-Philippe Andre
2014-12-04evas/gl_drm: add native surface for wayland_egl_client.Mun, Gwan-gyeong
Reviewers: zmike, devilhorns, cedric, gwanglim Reviewed By: cedric, gwanglim Subscribers: jpeg, torori, cedric Differential Revision:
2014-11-24Evas GL common: Cosmetic changeJean-Philippe Andre
Don't cast "ext" a hundred times when you can do it once.
2014-11-24Evas GL common: Scan extension string for ETC1 subimageJean-Philippe Andre
There is an official name for it: GL_EXT_compressed_ETC1_RGB8_sub_texture Thanks Mythri for pushing that specification.
2014-11-24Evas GL common: Fix RGB+A textures drawJean-Philippe Andre
Also rename texm into texa for consistency. Even though texa might be a mask image, it's still used only for it's a (alpha) channel.
2014-10-31evas/gl_common: remove dead code.ChunEon Park
2014-10-19evas/gl: code refactoring.ChunEon Park
improve code readibility.
2014-10-08evas-gl-common: Fix compile for EGL due to missing GL_LINE_SMOOTHChris Michael
Summary: When compiling for EGL, GL_LINE_SMOOTH ends up not being defined so compile breaks. This fix just checks if GL_LINE_SMOOTH is missing and if so it defines it. @fix Signed-off-by: Chris Michael <>
2014-10-08evas: support anti-alias for gl line drawing.ChunEon Park
2014-08-25evas - fix unused variableCarsten Haitzler (Rasterman)
fixes CID 1039921
2014-08-15evas gl - fix yuv smooth renderingCarsten Haitzler (Rasterman)
i found that we are not setting u and v to be smooth (linear interpolate) for yuv reendering, even when asked. they remain at a default "nearest". this enables linear for u and v always, meaning even when smooth is off, we still interpolate u and v (not y), and even when at 1:1 with no scaling u and v get interpolation for better quality. @fix!
2014-08-07evas gl - did not free all atlas formats - fixCarsten Haitzler (Rasterman)
we have expanded atlas formats long since - so use #define to free correct amount instead of 6
2014-08-07evas gl - fixz minor leak on exit of rectanglesCarsten Haitzler (Rasterman)
these were static rect cutouts, so they stayed around on exit and thus we "lost" them. this nukes them on context free and each new frame. fixes the "leak"
2014-07-25evas: provide GetProcAddress by the engine.Cedric BAIL
2014-07-11evas: export symbol from gl_common so that loading gl_generic can expose them.Cedric BAIL
2014-07-11Revert "evas/gl: improve the rendering quality."ChunEon Park
This reverts commit 5e18223f67a62ad752c3aac16ed23e390a9e0fe4. Conflicts: src/modules/evas/engines/gl_common/evas_gl_context.c we've got a side effect(another quality issue) of the patch. so revert it.
2014-07-11Evas gl: Fix upload of RGB+A textures [INCOMPLETE]Jean-Philippe Andre
The textures have duplicated borders, take them into account.
2014-07-11Evas gl: Replace all remaining references to mask stuff by alphaJean-Philippe Andre
Masking is not used (there even was a recent commit by Hermet to remove most of the occurences of mask shaders in GL), and I've introduced a new ETC1+Alpha feature. Replace the old texm and associated variables by texa for alpha texures.
2014-07-09Evas gl: Add support for ETC1+Alpha texturesJean-Philippe Andre
Compile-in the required shaders, add support for the new EVAS_COLORSPACE_ETC1_ALPHA, and upload textures as RGB+A pairs. @feature
2014-07-07evas/gl - removed MASK ramains.ChunEon Park
2014-07-04evas/gl - removed redundant shader masking code.ChunEon Park
2014-07-03Evas gl: Add support for S3TC texturesJean-Philippe Andre
Add support for DXT1, DXT3 and DXT5 textures (4 formats in total). @feature Add support for S3TC textures if the GPU supports them
2014-06-27evas/gl - ... removed white trailing.ChunEon Park
2014-06-27evas/gl: fix indentation.ChunEon Park
2014-06-27evas/gl: improve the rendering quality.ChunEon Park
To avoid texture bleeding in the texture atlas, we adjust texture uv point as much as a half uv point. Especially, this improves the rendering quality when the image has the border area. Unless apply this patch, You might find the rendering result is different with software backened, if the image has the borders. In the software backened, the border line was clear but the gl wasn't. because the border line was interpolated so the rendering result was not the one we expected. @fix
2014-06-19evas: improvement of Eina Rectangle Pool and integration with Evas GL backend.Rajeev Ranjan
Summary: This patch introduce various new logic for packing/unpacking of Eina Rectangle in a pool. It is then used by Evas GL backend texture allocation to improve how efficiently we pack image in texture atlas. This lead to improved memory usage and reduced power consumption with usually a more stable higher FPS (as it use less texture to do the same task, their is less texture switch, so saving memory and speed at the same time). This patch was developped on Cedric's suggestions to optimize the packing logic using Skyline algorithm. This patch is based on master and is a new submission for earlier phab link Signed-off-by: Sanjay Nirankari <> Signed-off-by: Rajeev Ranjan <> Signed-off-by: Sreedeep Moulik <> Reviewers: cedric, raster CC: wonsik, jpeg, sreedeep.m, sanjay, govi Differential Revision: Signed-off-by: Cedric BAIL <>
2014-06-18evas: force equality in check otherwise i get debug output even if the ↵Nicolas Aguirre
environnement variable is not set.
2014-06-13Evas: Add encoding parameter to the saversJean-Philippe Andre
ecore_evas_convert: Add -e/--encoding option This uses directly the encoding parameter. For now, used only by the TGV saver, but there is no other way to specify between ETC1 and ETC2. And we don't have a mixed ETC1+2 mode (yet). @feature