[Mesa-dev] [PATCH v2] glsls: Modify exec_list to avoid strict-aliasing violations
Davin McCall
davmac at davmac.org
Sun Jun 28 15:35:27 PDT 2015
On 26/06/15 14:53, Francisco Jerez wrote:
> [...]
>
> Your first approach seemed quite reasonable IMHO. Were you able to
> measure any performance regression from it?
>
> Thanks.
>
When I run an apitrace replay of a Dota 2 trace [1] with
LIBGL_ALWAYS_SOFTWARE and without the patch I get (averaged over 5 runs):
Maximum Resident Set Size (kbytes): 4509696
FPS: .9044752
user time: 2467.306
("Maximum Resident Set Size" and user time are given by GNU "time". I'm
not sure what it's really measuring, because this is a 32-bit system and
I don't see how the maximum resident set could be > 4GB; "top" shows
virt+res capping out at about 2.3GB. However I assume MRSS is at least
giving some relative indication of memory use; the deviation wasn't too
high).
With the patch (again averaged over 5 runs):
Maximum Resident Set Size: 4523622.4
FPS: 0.9068524
user time: 2457.506
So, "MRSS" has gone up a bit, but nothing else has changed
significantly. I think that means memory use has slightly increased, but
performance hasn't really changed.
I wanted to test with the Intel driver using INTEL_NO_HW, but I get a
segfault when the patch is applied. Having checked over the patch
several times, I think this might mean that it triggers a latent bug
elsewhere, but I am still investigating that. V2 of the patch does not
trigger this crash.
[1] http://people.freedesktop.org/~anholt/dota_linux.trace
More information about the mesa-dev
mailing list