Evas masking: Refactor GL code
authorJean-Philippe Andre <jp.andre@samsung.com>
Tue, 31 Mar 2015 09:58:51 +0000 (18:58 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Wed, 1 Apr 2015 00:53:55 +0000 (09:53 +0900)
commit32009a0e8c7b9b9c563614be8b832db99cd17112
tree6b81419743685e05bef3d667bfe669b85db008b3
parent4e716fb779a3e02d11f3300f05879f86b0a73e62
Evas masking: Refactor GL code

Use the same method as for map masking:
- Pass absolute geometry of the mask to the push functions,
- Compute absolute position in the shader (like gl_Position)
  and apply scaling factor + offset to sample the mask.

Masking now uses a single vec4 attribute instead of hi-jacking
other vertices.

This way, all masking shaders share the same code and are way
simpler. On the other hand, the vertex shaders have a little bit
more work to do.
27 files changed:
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_font.c
src/modules/evas/engines/gl_common/evas_gl_image.c
src/modules/evas/engines/gl_common/evas_gl_rectangle.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/font_mask_vert.shd
src/modules/evas/engines/gl_common/shader/img_mask_bgra_frag.shd
src/modules/evas/engines/gl_common/shader/img_mask_bgra_nomul_frag.shd
src/modules/evas/engines/gl_common/shader/img_mask_bgra_nomul_vert.shd
src/modules/evas/engines/gl_common/shader/img_mask_bgra_vert.shd
src/modules/evas/engines/gl_common/shader/img_mask_frag.shd
src/modules/evas/engines/gl_common/shader/img_mask_nomul_frag.shd
src/modules/evas/engines/gl_common/shader/img_mask_nomul_vert.shd
src/modules/evas/engines/gl_common/shader/img_mask_vert.shd
src/modules/evas/engines/gl_common/shader/map_mask_bgra_nomul_vert.shd
src/modules/evas/engines/gl_common/shader/map_mask_bgra_vert.shd
src/modules/evas/engines/gl_common/shader/map_mask_nomul_vert.shd
src/modules/evas/engines/gl_common/shader/map_mask_vert.shd
src/modules/evas/engines/gl_common/shader/nv12_mask_vert.shd
src/modules/evas/engines/gl_common/shader/rect_mask_frag.shd
src/modules/evas/engines/gl_common/shader/rect_mask_vert.shd
src/modules/evas/engines/gl_common/shader/rgb_a_pair_mask_frag.shd
src/modules/evas/engines/gl_common/shader/rgb_a_pair_mask_vert.shd
src/modules/evas/engines/gl_common/shader/yuv_mask_vert.shd
src/modules/evas/engines/gl_common/shader/yuy2_mask_vert.shd