[Mesa-dev] [PATCH] r600g/sb: Enable SB for geometry shaders

Glenn Kennard glenn.kennard at gmail.com
Wed Mar 25 08:38:12 PDT 2015


On Wed, 25 Mar 2015 14:26:40 +0100, Marc Dietrich <marvin24 at gmx.de> wrote:

> Am Dienstag, 24. März 2015, 20:05:46 schrieb Glenn Kennard:
>> On Tue, 24 Mar 2015 17:21:35 +0100, Dieter Nützel <Dieter at nuetzel-hh.de>
>>
>> wrote:
>> > Am 20.03.2015 14:13, schrieb Glenn Kennard:
>> >> Add SV_GEOMETRY_EMIT special variable type to track the
>> >> implicit dependencies between CUT/EMIT_VERTEX/MEM_RING
>> >> instructions so GCM/scheduler doesn't reorder them.
>> >>
>> >>  Mark emit instructions as unkillable so DCE doesn't eat them.
>> >>  Signed-off-by: Glenn Kennard <glenn.kennard at gmail.com>
>> >>
>> >> ---
>> >> The hangs with SB on geometry shaders were all due to the CUT/EMIT
>> >> instructions either being DCE:d or emitted out of order from the
>> >> memory ring writes, so the hardware stalled forever waiting for
>> >> completed primitives.
>> >>
>> >>  Tested only on a Turks so far, but should behave the same across
>> >>
>> >> all R600 generations.
>> >
>> > Hello Glenn,
>> >
>> > what tests are preferred?
>> > Starting with a Turks XT here, too and could do some tests on RV730
>> > (AGP) then.
>> >
>> > -Dieter
>>
>> Just the usual piglit regression testing, at this point it's been tested
>> on a Turks XT, and a RV770. A R6xx card and some VLIW4 gpu would  
>> complete
>> the coverage needed.
>
> I would like to, but "piglit run quick" stalls/crashes the gpu (rs880)  
> too
> often. Maybe you could tell me some special tests to run instead of all.
>
> Marc

-t geometry should be the smallest useful subset. It's likely that most of  
the hangs you get on rs880 (and other r6xx devices) are geometry shader  
related though so that might end up taking as long as a full quick run,  
unfortunately.


More information about the mesa-dev mailing list