Most efficient way to upload small coverage masks for radeonsi?

Michel Dänzer michel at
Mon Nov 7 01:03:22 UTC 2016

On 07/11/16 01:04 AM, Clemens Eisserer wrote:
> Hello,
> Java performs antialiased rendering by rasterizing coverage masks (<=
> 64x64 pixels in size, PictStandardA8) on the client instead of sending
> trapezoid-lists to the XServer. The masks are uploaded using XPutImage
> and are later used for XRenderComposite.
> On the pro side this approach is *way* better than the
> XGetImage+XPutImage call involved before XRender was used. However,
> the downside is the really high per-primitive overhead and while SNA
> does cope with this workload quite well, glamor does not.
> Here are some upload bandwidth results for 64x64 masks +
> XRenderComposite (src=vram_pixmap, mask=uploaded_mask, dst=window):
> Haswell Laptop:
> XPutImage-Glamor: 80MB/s
> ShmPixmap-Glamor: 177.5MB/s
> XPutImage-SNA: 585MB/s
> ShmPixmap-SNA: 4000MB/s

Since glamor is much slower in this case as well, you should bring this
up on the xorg-devel mailing list, where glamor development is discussed.

Earthling Michel Dänzer               |     
Libre software enthusiast             |             Mesa and X developer

More information about the xorg-driver-ati mailing list