Carsten Haitzler <ras...@rasterman.com> writes:

> On Mon, 04 Feb 2019 16:31:57 -0800 Eric Anholt <e...@anholt.net> said:
>
>> Carsten Haitzler <ras...@rasterman.com> writes:
>> 
>> > On Fri, 1 Feb 2019 11:08:07 +0000 Emil Velikov <emil.l.veli...@gmail.com>
>> > said:
>> >
>> >> Hi Carsten,
>> >> 
>> >> On 2019/01/31, Carsten Haitzler wrote:
>> >> > On Wed, 30 Jan 2019 18:33:35 +0000 Emil Velikov
>> >> > <emil.l.veli...@gmail.com> said:
>> >> > 
>> >> > You might want to hold off on this. My bugfix was actually patched out 
>> >> > by
>> >> > partly removing some of it. The void ptr math should never have been
>> >> > there and wasn't in the final patch.
>> >> > 
>> >> > I'm talking about:
>> >> > 
>> >> > +                void *cpu2 = cpu + 8;
>> >> > 
>> >> > In 300d3ae8b1445b5060f92c77c0f577f4b7b2c7d6
>> >> > 
>> >> > At least with gcc8 mesa is a dud on Raspberry Pi (can't upload/downlaod
>> >> > textures without crashing) without the fixes. I moved the secondary ptr
>> >> > math into the ASM chunk because the C compiler seemed to just mess up
>> >> > cpu2 ptr content/value for me on gcc8 (it also kept the parameter
>> >> > inputs/outputs cleaner and consistent with other ASM chunks). Keeping
>> >> > this as void ptr math alone is just wrong and asking for trouble and as
>> >> > it unfixed a fix I already had in submitted patches.
>> >> > 
>> >> > Being at FOSDEM I now no longer have access to my OS image with all of
>> >> > this set up to test and won't until next week. I can't dig in and 
>> >> > verify.
>> >> > Without my fixes at all it's a dead man walking with gcc8, and thus Arch
>> >> > Linux is broken entirely on Rpi without it (and has been for a while
>> >> > now).
>> 
>> FWIW, my testing was done on gcc 8.30 on raspberry pi.
>
> I finally have time and am back with my Pi box. This was gcc 8.2.0 that I was
> using.
>
>> I skipped the part of moving the C expression into the asm because it
>> didn't make sense, and appeared in the series before the part that
>> actually fixed the asm clobbers bug, so it (like the .fpu neon part)
>> looked like random hacks.
>
> I did explicitly break just and only that change out. 0004 in the series was
> just that. The log explained compiler bugs prevent calculating the address in 
> C
> (it ends up junk) so moved it to the asm block. That required changing the 
> cpu2
> refs all to be a register instead and add this register to the clobber list, 
> so
> of course the patch was more than just a 2 liner, but it was straightforward.

I'm quite skeptical that it's a compiler bug instead of a bug on our
end.  If we have a bug in our constraints, I want to fix that bug rather
than papering over it such that we just don't tickle it on your
particular compiler/flags combination.  Even if it's a compiler bug, we
should figure it out and report it.

If you don't have the time to figure out the root cause, let's see if I
can.  What compiler flags are you seeing used in your build?  I've been
using piglit's texsubimage to test with various compiler flags to try to
reproduce your issue, and haven't managed to with a debug,
debugoptimized or release build in meson on Mesa master.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to