[PATCHES] R600/SI: VI fixes for bit shifts, GS
michel at daenzer.net
Wed Jan 28 02:29:59 PST 2015
On 28.01.2015 07:16, Marek Olšák wrote:
> This is another set of fixes for VI. Patches 1-2, 5-6 fix real issues.
> Patches 3-4, 7-8 are mostly cosmetic. Only patch 1 should fix an issue
> that is reproducible by piglit.
> I couldn't test these, because my VI hw is very unstable.
My testing so far on Tonga indicates that either patch 8 of this series
decreases stability significantly, or it's just very random (sometimes
not possible to finish a piglit run on several attempts, sometimes
several successful runs in a row). If it's the former, it only seems to
happen if the patch in question is applied at boot time. I'll test more
to see which it is.
> I'll try and test Bonaire tomorrow.
FWIW, no issues with piglit on my Kaveri.
> Michel, would you be so kind as to test the first patch whether it
> fixes the GS hang? Sorry, I'm not able to tell the difference. Please
> apply patch 1 alone and please don't update your LLVM repo (just in
> case it uncovers some other bug).
I'm not sure what exactly you meant by the last sentence, but patch 1 on
top of SVN r227287 does fix piglit
spec/glsl-1.50/execution/geometry/generate-zero-primitives on my Tonga.
However, I noticed a minor problem with that patch: The code adding
s_nop instructions seems to run before the code adding s_waitcnt
instructions, so it unnecessarily adds an s_nop in some cases:
s_mov_b32 m0, s9 ; BEFC0009
s_waitcnt vmcnt(0) expcnt(0) ; BF8C0700
s_nop ; BF800000
s_sendmsg Gs(emit stream 0), [m0] ; BF900022
That might be okay until the scheduling hazard recognizer mentioned by
Matt handles this.
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the llvm-commits