-
Notifications
You must be signed in to change notification settings - Fork 402
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
Syncval SSBO/UBO regression #8084
Comments
@spencer-lunarg I wonder if it can be related to this part: Previously it also checked if the variable is |
Probably related: we see the same error appear in our nigthly runs of workloads against VVL, showing up many times in a particular workload (but only in one):
We've reset baselines for this workload for now. When this issue is resolved, we'll see how the workload behavior changes. |
There's a confirmation it's not a bug related to spirv, actually dc5d542 made visible existing issue that syncval does not handle dynamic offset properly. The two memory regions do not overlap but for some reason write into one region conflicts with a read from another region. This happens because syncval thinks these region overlap. The reason it worked before because there was a barrier that tried to synchronize two non-overlapped regions.. Obviously barrier is needed in this scenario (it could be the barrier is for another purpose that just happened to be active here). The spirv change modified the barrier which discovered the issue that syncval thinks that regions overlap. The two tests that show the problem artem-lunarg@29a18b4. Both of them write and read from non-overlapped regions but in a different ways:
The above explains ANGLE behavior, the issue reported by @lunarpapillo might be the same issue but also can be related to spirv change. |
Looks like there are still lingering issues. Trying to remove the suppression here: https://chromium-review.googlesource.com/c/angle/angle/+/5621970 and I still see the same messages: https://ci.chromium.org/ui/p/angle/builders/try/linux-test/21042/overview |
@ShabbyX Did it help at least for some tests? We fixed the problem where non-overlapped regions were computed as overlapped due to incorrect dynamic offset calculation. If there's opportunity to check whether the remaining failing tests use non-overlapped regions or whether it's a different setup, that would be helpful. |
@ShabbyX I re-confirmed I can still see it too, I realized I didn't have Sync Val on when re-testing 😞 |
It took me some time to realize that the issue provides two types of error messages: A. No dynamic descriptors
B. With dynamic descriptors
The fix applies to B, but we still need to undestand what's going on with A. I can reproduce A with |
@ShabbyX the latest code should fix |
Yes, thank you, the VVL error is no longer produced :) |
Since dc5d542 (@spencer-lunarg), we (ANGLE) see a new syncval error in a few traces like this:
Looking at one of the traces (
warcraft_rumble
, if you have access), this looks like a tracking bug. Like, one of the buffers for which this error is generated is used as such:EID 83:
EID 158:
EID 183:
As you can see, there is no overlap in the ranges of the buffer used in these draw calls, but EID 183 produces the following error in RenderDoc:
The text was updated successfully, but these errors were encountered: