-
Notifications
You must be signed in to change notification settings - Fork 709
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
DXIL: Deadlock when loading RayDesc
from ByteAddressBuffer
#5261
Comments
sigh My least favorite pass strikes again:
|
Oh indeed, on a newer compiler (from 6287d51) this is now an assert. |
It's still an assert for the simple example above, but usually a deadlock on the bigger, massively-parallel-compiled shaders in our project. Fortunately some unrelated issue we were facing (multiple identical compile invocations returning vastly different DXIL blobs) has magically been solved, and we can now upgrade to the latest DXC :) |
Looks like this still repros: https://godbolt.org/z/z11rb6E6E |
We're clearly giving the builtin RayDesc struct some extra handling, but you can workaround this by writing your own RayDesc struct: |
Our previous shader compiler came from 0392e60 which worked fine. We now downloaded new blobs from ea3623f / https://ci.appveyor.com/project/dnovillo/directxshadercompiler/builds/47177077 and observe a deadlock with the following pattern:
repro.hlsl
:Run
dxc
from the above (Windows or Linux) download, and observe that the command runs indefinitely:./dxc-artifacts/bin/dxc -E main -T cs_6_6 repro.hlsl -Fo test
I understand
RayDesc
to be a simple POD, and copying that into a localRayDesc2
struct and loading that doesn't deadlock.The text was updated successfully, but these errors were encountered: