[Mesa-dev] Determinism in the results of llvmpipe?

Ilia Mirkin imirkin at alum.mit.edu
Fri Nov 18 01:11:44 UTC 2016


On Thu, Nov 17, 2016 at 2:37 AM, Andrew A. <andj2223 at gmail.com> wrote:
> Hello,
>
> I'm using Mesa's software renderer for the purposes of regression
> testing in our graphics software. We render various scenes, save a
> screencap of the framebuffer for each scene, then compare those
> framebuffer captures to previously known-good captures.
>
> Across runs of these tests on the same hardware, the results seem to
> be 100% identical. When running the same tests on a different machine,
> results are *slightly* different. It's very similar within a small
> tolerance, so this is still usable. However, I was hoping for fully
> deterministic behavior, even if the hardware is slightly different.
> Are there some compile time settings or some code that I can change to
> get Mesa's llvmpipe renderer/rasterizer to be fully deterministic in
> its output?

You can force the AVX-capable CPU to run in SSE mode. You can do this
by setting the environment variable

LP_NATIVE_VECTOR_WIDTH=128

> I'm using llvmpipe, and these are the two different CPUs I'm using to
> run the tests:
> Intel(R) Xeon(R) CPU E3-1275 v3
> Intel(R) Xeon(R) CPU X5650

The former has AVX, while the latter does not. I believe this explains
the difference.

Cheers,

  -ilia


More information about the mesa-dev mailing list