(08-26-2019, 03:13 AM)jdonald Wrote: I've managed to compile Mesa with -Dgallium-drivers=vc4,v3d,swrast,kmsro for Buster arm64 and changed the one line to enable EXT_buffer_storage. Unfortunately this results in a segmentation fault. If I revert that line and install the recompiled Mesa 19.3, it can run Luigi's Mansion as before.
I compiled with -DCMAKE_BUILD_TYPE=RelWithDebInfo and got stack trace info. I cannot run gdb live--it results in an unrelated crash in the CPU thread, independent of everything else--so I had to save and load a core dump. This seems to remove some info like thread names but retains plenty of other details.
It's crashing in CopyEFBToCacheEntry(). This gist shows the backtrace along with local variables from the two stack frames that could be informative.
Any insights or suggestions for next steps would be appreciated. The root cause could lie in Dolphin, Mesa v3d, or both, and with more understanding we could apply appropriate fixes or workarounds.
Is there any unit test to ensure EXT_buffer_storage is working correctly? Would a FIFO log help here, and is it even possible to capture one on a segfaulting run?
Fair point. I had only considered the TX2, but apparently TX1 supports only up to GLES 3.1. Looks like it won't be possible to statically determine a good default.
I attempted that as well but after cloning mesa I realised I had no clue what flags to set to get it to compile D:
Might be worth getting that pi engineers input for a possible solution.
