coregl_fastpath: Separate glColorMask state from glColorMaski and glColorMaskiOES 85/95585/5
authorxing.huang <xing.huang@samsung.com>
Fri, 4 Nov 2016 01:57:35 +0000 (09:57 +0800)
committerGwan-gyeong Mun <kk.moon@samsung.com>
Mon, 7 Nov 2016 05:01:49 +0000 (21:01 -0800)
commitbc143c56755ed3c19c60e7f08d60460f09e73f46
tree95e345238ab629130aa5d5acdbb3e87252a6ddb2
parentf9f040475ee8695650c3987ed36928e6abf1f354
coregl_fastpath: Separate glColorMask state from glColorMaski and glColorMaskiOES

Fix showing of black screen while efl_webview_app renders aquarium.html page. ( test command: COREGL_FASTPATH=1 /usr/apps/org.tizen.chromium-efl/bin/efl_webview_app http://webglsamples.org/aquarium/aquarium.html )

- Reason:
   glColorMask, glColorMaski and glColorMaskiOES share common gl_color_writemask
   state, gl_color_writemask's size was obtained by glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS).
   But, tm1 gl driver does not support GL_MAX_COLOR_ATTACHMENTS.
   So, if "gl_color_writemask_num = 0" in the fastpath_glColorMask, it bypasses the calling of glColorMask to GLES/EGL Driver.

- Solution:
   Separate the glColorMask from glColorMaski and glColorMaskiOES.
   And assign another array to store state of glColorMask.

Signed-off-by: xing.huang <xing.huang@samsung.com>
Change-Id: Ia9250ece2ffa5f6ea750f92b68bf3bbcfb577bc8
src/modules/fastpath/coregl_fastpath.c
src/modules/fastpath/coregl_fastpath.h
src/modules/fastpath/coregl_fastpath_gl.c
src/modules/fastpath/coregl_fastpath_state.h