Most efficient way to upload small coverage masks for radeonsi?
michel at daenzer.net
Mon Nov 7 01:03:22 UTC 2016
On 07/11/16 01:04 AM, Clemens Eisserer wrote:
> 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 | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the xorg-driver-ati