glamor-ddx: Hardware cursor's format should be GL_RGBA.

Signed-off-by: Zhigang Gong <zhigang.gong@gmail.com>
This commit is contained in:
Zhigang Gong 2011-08-16 00:09:38 +08:00 committed by Zhigang Gong
parent 23c1fba5e5
commit f84cc8b84b

View File

@ -494,9 +494,14 @@ drmmode_load_cursor_argb (xf86CrtcPtr crtc, CARD32 *image)
} }
glBindTexture(GL_TEXTURE_2D, drmmode_crtc->cursor_tex); glBindTexture(GL_TEXTURE_2D, drmmode_crtc->cursor_tex);
#ifdef GLAMOR_GLES2 #ifdef GLAMOR_GLES2
glPixelStorei(GL_UNPACK_ALIGNMENT, 4); /* XXX Actually, the image is BGRA not RGBA, so the r and b
glTexImage2D(GL_TEXTURE_2D, 0, GL_BGRA, 64, 64, 0, * should be swapped. But as normally, they are the same value
GL_BGRA, GL_UNSIGNED_BYTE, image); * ignore this currently, don't want to let CPU to do the swizzle.
* considering to put this function to the glamor rendering directory.
* Thus we can reuse the shader to do this.*/
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 64, 64, 0,
GL_RGBA, GL_UNSIGNED_BYTE, image);
#else #else
glPixelStorei(GL_UNPACK_ROW_LENGTH, 64); glPixelStorei(GL_UNPACK_ROW_LENGTH, 64);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 64, 64, 0, glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 64, 64, 0,