Use shader to generate the temp trapezoid mask
authorRobinHe <robinhe@robinhe-desktop.lan>
Sat, 2 Jun 2012 14:00:09 +0000 (22:00 +0800)
committerEric Anholt <eric@anholt.net>
Wed, 18 Dec 2013 19:23:52 +0000 (11:23 -0800)
commitbd180be619c2ef469ca40cf95023340c59960540
treee2eadd8277f00baba11b03262e8615982ab55287
parent6dd81c5939197eb51bc31ffbc3e6f359f2aad191
Use shader to generate the temp trapezoid mask

 The old manner of trapezoid render uses pixman to
 generate a mask pixmap and upload it to the GPU.
 This effect the performance. We now use shader to
 generate the temp trapezoid mask to avoid the
 uploading of this pixmap.
 We implement a anti-alias manner in the shader
 according to pixman, which will caculate the area
 inside the trapezoid dividing total area for every
 pixel and assign it to the alpha value of that pixel.
 The pixman use a int-to-fix manner to approximate but
 the shader use float, so the result may have some
 difference.
 Because the array in the shader has optimization problem,
 we need to emit the vertex of every trapezoid every
 time, which will effect the performance a lot. Need to
 improve it.

Signed-off-by: Junyan He <junyan.he@linux.intel.com>
glamor/glamor.c
glamor/glamor_priv.h
glamor/glamor_trapezoid.c