Skip to content
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

Add tests for dynamic state with compute #238

Open
baldurk opened this issue Jan 19, 2021 · 1 comment
Open

Add tests for dynamic state with compute #238

baldurk opened this issue Jan 19, 2021 · 1 comment

Comments

@baldurk
Copy link

baldurk commented Jan 19, 2021

I ran into a driver crash where doing (sketched):

vkBeginCommandBuffer(cmd, PRIMARY);
vkCmdSetLineWidth(cmd, 1.0);
vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_COMPUTE, pipe); // empty main() in compute pipeline, no descriptors
vkCmdDispatch(1, 1, 1);
vkEndCommandBuffer(cmd);
vkQueueSubmit(... cmd ...);

would crash on a shipping driver inside vkCmdDispatch. If the vkCmdSetLineWidth is removed, there's no crash. It would be good to add tests of setting dynamic state without ever doing graphics work (i.e. compute only, or transfer commands only), as well as intermingling graphics state setting with compute dispatches.

I'm not sure if it would be helpful but I've uploaded a zip with two renderdoc captures: dispatch_crash.zip, the first capture has just the dispatch and the second has the vkCmdSetLineWidth as well. Note that selecting the dispatch in renderdoc will crash if the driver has this bug, since RenderDoc will then add this call internally at some point (which is how the bug was found). The captures should open on any GPU since they require nothing more than vulkan 1.0 with no physical device features, and allocate no memory or anything else that might be device-specific.

@alegal-arm
Copy link
Contributor

Added to the backlog

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants