[Mesa-dev] Introducing OpenSWR: High performance software rasterizer
imirkin at alum.mit.edu
Tue Oct 20 10:44:37 PDT 2015
[re-adding mesa-dev, dropped accidentally]
On Tue, Oct 20, 2015 at 1:43 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Tue, Oct 20, 2015 at 1:11 PM, Rowley, Timothy O
> <timothy.o.rowley at intel.com> wrote:
>> Does one build work on both AVX and AVX2?
>> * Unfortunately, no. The architecture support is fixed at compile
>> time. While the AVX version of course will run on AVX2 machines
>> and the jitted code will use AVX2, the overall performance will
>> suffer relative to a full AVX2 build.
>> * There is some idea that if we move some code from the driver back
>> to SWR core, we could build two versions of libSWR and dynamically
>> load the correct version at runtime. Unfortunately this mechanism
>> would not work with AVX512, as some of the SWR state structures
>> would change size.
> Without commenting on any of the other issues, I believe one of your
> stated goals is to ease distribution to your end-users. If you expect
> them to build their own code, that's no problem. However if you're
> thinking of relying on distros to include your driver and have end
> users use that, then you should consider some solution that enables
> runtime selection of this stuff (even if that's building 3 versions of
> the driver -- swr-avx, swr-avx2, swr-avx512, and having e.g. loader
> magic determine which the right one is for the current CPU).
More information about the mesa-dev