[Mesa-dev] wider registers in llvmpipe

Marek Olšák maraeo at gmail.com
Tue Jul 17 22:11:52 PDT 2012


On Wed, Jul 18, 2012 at 1:58 AM, Roland Scheidegger <sroland at vmware.com> wrote:
> Am 17.07.2012 23:49, schrieb Stéphane Marchesin:
>> On Mon, Jul 16, 2012 at 11:43 AM, Jose Fonseca <jfonseca at vmware.com> wrote:
>>> FYI, I've just pushed a branch named llvmpipe-wider-regs, which allows llvmpipe to leverage SIMD registers wider than 128bits.
>>>
>>> Unfortunately, performance-wise this doesn't change much, as llvmpipe performance is dominated by integer SIMD instructions, whereas currently the AVX instruction set currently only supports floating SIMD instructions.  Actually, often things will get slightly slower, as there are considerable overheads in piecing together the 256 floating point code paths and 128-bit integer code paths.
>>>
>>> The benefit for this change is foremost architectural: llvmpipe now makes less assumptions regarding the number of pixels/quads/etc that fit into a hardware register, a flexibility which will be necessary to get things like per-pixel LOD working properly.
>>>
>>> This barely touch files outside gallivm/draw/llvmpipe modules. I haven't tested i915g, r300g, so let me know if there are regressions / concerns. I'd like to merge this into master soon.
>>
>>
>> It regresses the following on i915g (and I suspect it will regress on
>> llvmpipe also):
>> draw-vertices pass -> abort
>> draw-vertices-half-float pass -> crash
>> draw-vertices-half-float-user pass -> crash
>> draw-vertices-user pass -> abort
>>
>> The machine in question doesn't have AVX (or llvm 3.1 for that matter).
>
>
> I've tested this with both llvm 3.1 and 2.9, with and without avx and
> draw-vertices and draw-vertices-half-float always pass with llvmpipe.
> I don't see the other two tests (draw-vertices-half-float-user and
> draw-vertices-user) in piglit.

Those are the same tests but with the first parameter being "user".
The test names in all.tests do not necessarily have to match the
executable filenames.

Marek


More information about the mesa-dev mailing list