-
Notifications
You must be signed in to change notification settings - Fork 137
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
Properly write-protect segments #673
Conversation
Extracted from linebender#606
@94bryanr, does this resolve the issue you were seeing? |
Unfortunately, I still see the visual artifact of nothing rendered below a certain line when the resolution is increased. This is with the new config DebugLayers set to none and MemoryHints set to Performance. |
We probably need code which reproduces this issue to be able to help |
Just editing the If I had to guess I'd say that the limit is 256 x 256 tiles. |
Just done some experiments, and have been able to reproduce, and isolated this to us only supporting 256 bins. I've opened #680 to track this. However, the issue @94bryanr seems to be a separate issue again, interestingly. |
There is a reason we don't have a check in path_tiling, though it's possible I missed something. Essentially, the number of tiles written in path_tiling should always be less than or equal to the count determined in the path_count stage. That, in turn, is checked against the buffer size in coarse, and then downstream of that, path_tiling_setup zeroes out the dispatch of path_tiling, so effectively it doesn't run. If my analysis is correct, then we probably should close this without merging, but I am very open to an argument that something might still go wrong that this check would mitigate. |
This was discussed in #gpu > Segments and seg_counts buffer sizes. We decided that follow-up work is to make the segments and seg_counts buffer use the same capacity (even though they have different bumps). I'll do that in a different PR. |
Extracted from #606. Before this, we would still render even if the segments buffer was being overflowed.
I believe that this was missed in #537