-
Notifications
You must be signed in to change notification settings - Fork 437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unexplainable seg-fault on compute pipeline creation #1037
Comments
I havent looked into your code at all, but maybe it's a bug in the shader compiler? Try using nlordell's branch switching to shaderc-rs #947 |
Hi,
I also doubled the stack size but no changes. |
Have you tried enabling validation layers? |
Oh, no I totally forgot about those. I'll do as soon as I come home! |
Okay so I activated the lunarG layers and this is the output:
Looks good to me. But the problem is still there. |
Can you provide a backtrace using gdb? This might very well be a bug in
can you also post the output of |
Something fishy I noticed: You do not create the window on the main thread. |
Hi, Anyways, I attached the output of vulkan info. The gdb backtrace looks like this:
I never used gdb before (or debuged correctly in general) so I uploaded the core file as well for you. I only |
I got my shader now working. What I did was that I now handle the three variables of the struct
has actually hit something. So I suspect that something gets screwed up when trying to overwrite a custom struct variable with a new one. |
Okay, then it's probably an issue with shaderc. |
I hoped to resolve the issue by changing the driver and then was to lazy to go back. Also, there is a realy nice GPU-Profiler you can use with AMDVLK (RadeonProfiler). But I'll probably go back to RADV at some point. |
Hi,
I am currently trying to write a real time ray traced shadows (the hype is real) via vulkano.
So far everything works out great, but currently I am experiencing a strange bug.
When does it happen?
When Vulkano tries to create compute pipeline a seg-fault happens. RUST_BACKTRACE=1 returns nothing on that matter.
Since no Spirv compilation error happens I tried to find the "wrong" code by removing everything in the shader and then inserting lines till it crashes.
My compute pipeline creation code looks like this:
The whole module can be found here, WARNING spaghetti code :)
The whole shader can be found here: https://gitlab.com/Siebencorgie/jakar-engine/blob/master/data/shader/r_shadow_else.comp
However, its mostly a copy of the r_shadow_dir.comp shader, which works perfectly fine so far.
The only changes are that I ray trace not "AnyHit" but "ClosestHit" (since it is for point lights and later spot lights).
Anyways the seg-fault only happens when I write to the
current_hit
:Question
My Question now is, has anyone an idea why this happens? Could this be some "over optimizing" by the glsl -> SPIRV compiler?
If you are reading this and you have a graphics card other than AMD vega 56 on Linux/Windows and some time on your hand.
Could you please:
examples/simple_scene/
examples/simple_scene/main.rs
cargo run --example simple --release
If I can provide any more detail I'd be happy to assist. I tried everything I could think of, including changing every return of a struct to a
inout
value like here and deleting the whole function and rewriting it.-Siebencorgie
The text was updated successfully, but these errors were encountered: