[Mesa-dev] Mesa (master): Revert "radeon/llvm: Use alloca instructions for larger arrays"

Matt Arsenault arsenm2 at gmail.com
Tue Jul 26 23:48:36 UTC 2016


> On Jul 26, 2016, at 14:37, Marek Olšák <maraeo at gmail.com> wrote:
> 
> On Sat, Jul 23, 2016 at 4:07 PM, Nicolai Hähnle <nhaehnle at gmail.com <mailto:nhaehnle at gmail.com>> wrote:
>> On 22.07.2016 12:08, Michel Dänzer wrote:
>>> 
>>> On 21.07.2016 18:17, Matt Arsenault wrote:
>>>>> 
>>>>> On Jul 21, 2016, at 01:03, Michel Dänzer <michel at daenzer.net
>>>>> <mailto:michel at daenzer.net>> wrote:
>>>>> 
>>>>> On 21.07.2016 00:04, Michel Dänzer wrote:
>>>>>> 
>>>>>> On 15.07.2016 05:15, Marek =?UNKNOWN?B?T2zFocOhaw==?= wrote:
>>>>>>> 
>>>>>>> Module: Mesa
>>>>>>> Branch: master
>>>>>>> Commit: f84e9d749fbb6da73a60fb70e6725db773c9b8f8
>>>>>>> URL:
>>>>>>> 
>>>>>>> http://cgit.freedesktop.org/mesa/mesa/commit/?id=f84e9d749fbb6da73a60fb70e6725db773c9b8f8
>>>>>>> 
>>>>>>> Author: Marek Olšák <marek.olsak at amd.com <mailto:marek.olsak at amd.com>>
>>>>>>> Date:   Thu Jul 14 22:07:46 2016 +0200
>>>>>>> 
>>>>>>> Revert "radeon/llvm: Use alloca instructions for larger arrays"
>>>>>>> 
>>>>>>> This reverts commit 513fccdfb68e6a71180e21827f071617c93fd09b.
>>>>>>> 
>>>>>>> Bioshock Infinite hangs with that.
>>>>>> 
>>>>>> 
>>>>>> Unfortunately, this change caused the piglit test
>>>>>> shaders at glsl-fs-vec4-indexing-temp-dst-in-loop (and possibly others) to
>>>>>> hang my Kaveri. Any ideas for how we can get out of this conundrum?
>>>>> 
>>>>> 
>>>>> The hang was introduced by LLVM SVN r275934 ("AMDGPU: Expand register
>>>>> indexing pseudos in custom inserter"). The good/bad (without/with
>>>>> r275934) shader dumps and the GALLIUM_DDEBUG=800 dump corresponding to
>>>>> the hang are attached.
>>>>> 
>>>>> 
>>>>> BTW, even with Marek's change above reverted, I still see some piglit
>>>>> regressions compared to last week, but I'm not sure if those are all
>>>>> related to the same LLVM change.
>>>>> 
>>>>> 
>>>>> --
>>>>> Earthling Michel Dänzer               |
>>>>>              http://www.amd.com <http://www.amd.com/>
>>>>> Libre software enthusiast             |             Mesa and X developer
>>>>> 
>>>>> <glsl-fs-vec4-indexing-temp-dst-in-loop.bad><glsl-fs-vec4-indexing-temp-dst-in-loop.good><shader_runner_3339_00000000.txt>
>>>> 
>>>> 
>>>> This fixes the verifier error in it: https://reviews.llvm.org/D22616
>>> 
>>> 
>>> This seems to fix the hang, thanks!
>>> 
>>> 
>>>> This fixes another issue which may be
>>>> related: https://reviews.llvm.org/D22556
>>> 
>>> 
>>> Even with that applied as well, there are still piglit regressions
>>> compared to early last week, see the attached dumps (look for "LLVM
>>> triggered Diagnostic Handler:").
>> 
>> 
>> Looks like the "rewrite undef" part of the Two Address Instruction Pass also
>> needs to be adjusted -- I've attached a bugpoint-reduced test case.
>> 
>> Also, the hang that motivated the original revert in Mesa should be fixed
>> with https://reviews.llvm.org/D22673 (and the related
>> https://reviews.llvm.org/D22675 is also needed for correctness, though
>> probably not for fixing the hang).
> 
> FYI, I've reverted the revert.
> 
> Marek


It might be nice if this could be an option, since this was probably the main stressor of the register indexing code

-Matt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160726/1d8421ca/attachment-0001.html>


More information about the mesa-dev mailing list