[PATCH] glamor: Remove shader-based trapezoid implementation. Fixes Bug 76213.
Keith Packard
keithp at keithp.com
Wed Aug 6 21:57:14 PDT 2014
Keith Packard <keithp at keithp.com> writes:
> I can't find any performance benefit to using the GL path
Eric pointed out that reaching the shader path was much harder than I
thought, and in fact I wasn't measuring the shader path, I was just
measuring the sw path both times.. I went and hacked the code so that it
would use the shader path when drawing up to 1000 trapezoids, and even
in Precise mode just so that I could use x11perf -addaatrapezoid to
measure it:
1: trapezoid.shader
2: trapezoid.sw
1 2 Operation
------------ ------------------------- -------------------------
59700.0 3770000.0 ( 63.149) Fill 1x1 aa pre-added trapezoid
59700.0 605000.0 ( 10.134) Fill 10x10 aa pre-added trapezoid
5970.0 45800.0 ( 7.672) Fill 100x100 aa pre-added trapezoid
4660.0 5150.0 ( 1.105) Fill 300x300 aa pre-added trapezoid
I think we can remove this code without any remorse.
However, XFCE is clearly broken in expecting what it drew to work.
1. The trapezoid is self-intersecting ("bow tie"), for which the spec
says:
"Rendering of concave trapezoids is unspecified except that the
result must obey the clipping rules."
2. It requests Imprecise mode, which relaxes the rasterization rules.
Expecting this bizarre set of trapezoids to draw something
reasonable seems optimistic at best.
--
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140806/56e314de/attachment.sig>
More information about the xorg-devel
mailing list