Closed Kzimir closed 1 year ago
Would you be able to create a debug build to point out which assertion failed?
Yes, i'm on Gentoo so i can rebuild mesa-git with debug option enabled. Just explain me what i need to do once Mesa is rebuilt.
Well, the stderr output from Wine would be a start. Something else you could try is to take a renderdoc capture with LLVM (or does this also crash?).
Yes, renderdoc capture crash with LLVM unfortunatly. No need to use Mesa debug env variable ?
@daniel-schuermann Here the screenshot where you can see the stderr ouput :
Do you think you can get a stack trace? Or would that take too long? Btw, we had this error occasionally because of broken GCC versions. If you use, gcc 8.3, you might want to try a different one.
Yes i can get a stack trace but how i do that ? And concernig GCC, i use GCC 9.2.0
For example by starting the game with valgrind (note that this makes it take much longer). Something else you could do is to send me the shaders captured with https://gitlab.freedesktop.org/mesa/vkpipeline-db (just follow the instructions from the README). Run the game with llvm until the main menu, this should be enough.
1- I tried Valgrind and i have only this trace. But i don't know if it's good for you : valgrind-out.txt
2- I tried vkpipeline-db too but when i launch the game with the instruction, no shaders are captured. Even if i load a savegame.
did you use the full paths like /home/... ?
I used that :
export VK_LAYER_PATH=$VK_LAYER_PATH:/home/odelpasso/Bureau/vkpipeline-db/VkLayer_vkpipeline_db.json
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/odelpasso/Bureau/vkpipeline-db/build/libVkLayer_vkpipeline_db.so
export VK_INSTANCE_LAYERS=VK_LAYER_vkpipeline_db
export VKPIPELINE_DB_CAPTURE_PATH=/home/odelpasso/Bureau/vkpipeline-db/dirpath/
And the folder is still empty after to quit the game and Rockstar Launcher.
Maybe try
export VK_LAYER_PATH=$VK_LAYER_PATH:/home/odelpasso/Bureau/vkpipeline-db/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/odelpasso/Bureau/vkpipeline-db/build/
?
The README isn't very clear on this, but I think that's how what they are meant to be set to
Thanks, it works. :D
@daniel-schuermann, the archive : shaders.tar.gz
@Odelpasso Thanks, that's a start :)
However, there are only 4 pipelines captured when it should be more like 1000+. For some reason it sometimes seems to not capture all pipelines right away (this happened for me as well..). Would you just try again to capture more pipelines? You can test that you got the right one by running
./build/run <capture-path>
with ACO. It should crash with the same assertion as the game.
Ok, i delete my 2 last message to be clear... I'm a noob :D
I forgot that LA Noire was a 32bits game and i forgot again that : 1- Renderdoc has not 32bits support on Linux 2- I built VkPipeline_db only for 64bits... After to build with 32bits support.
So i try my Pipeline captured :
a- With Pipeline captured with LLVM, i have no error when i do a ./build/run
with ACO or LLVM.
b- I captured Pipeline after to launch the game with ACO and i have error when i do a ./build/run
with LLVM. No errors with ACO.
SPIR-V WARNING:
In file ../mesa-9999/src/compiler/spirv/spirv_to_nir.c:3662
Unsupported SPIR-V capability: SpvCapabilityDemoteToHelperInvocationEXT (5379)
44 bytes into the SPIR-V binary
Unknown intrinsic: intrinsic demote_if (ssa_117) ()
Unknown intrinsic: intrinsic demote_if (ssa_145) ()
Unknown intrinsic: intrinsic demote_if (ssa_147) ()
Unknown intrinsic: intrinsic demote_if (ssa_149) ()
Unknown intrinsic: intrinsic demote () ()
Unknown intrinsic: intrinsic demote_if (ssa_161) ()
Unknown intrinsic: intrinsic demote_if (ssa_169) ()
Unknown intrinsic: intrinsic demote_if (ssa_178) ()
Pipeline captured when the game is launched with ACO : ACO_Pipeline.tar.gz
Pipeline captured when the game is launched with LLVM : LLVM_Pipeline.tar.gz
@daniel-schuermann As i have not crash with vkPipeline_db and Renderdoc does not support 32bits, an apitrace can help ?
No news ? The pipeline that i captured are not good ?
@daniel-schuermann @pendingchaos How to use Valgrind ? I only need to rebuild libdrm and mesa with Valgrind options and launch the game ?
Hi,
This repo is no longer being maintained since ACO was merged in upstream Mesa since late 2019. If you have issues with it, please open an issue in upstream Mesa here: https://gitlab.freedesktop.org/mesa/mesa/-/issues - select the Radeon Vulkan bug report template and fill out the details.
Hello,
I have LA Noire from Rockstar Games Launcher and not from Steam. If you want to reproduce the issue with ACO, you need to download the game on Windows, there is an issue during download on Linux + Wine.
The game works with RADV_PERFTEST=llvm but crashes with RADV_PERFTEST=aco when the intro videos are launched.
Unfortunatly, it's impossible to do a renderdoc capture, the game crashes at launch with renderdoc variable.
I have only a screenshot for the game and the output console :
You can see in the output console this line : free(): invalide size
Odel'