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

GpuFuture::then_signal_fence and flush does not commute #2296

Open
yshui opened this issue Aug 19, 2023 · 1 comment
Open

GpuFuture::then_signal_fence and flush does not commute #2296

yshui opened this issue Aug 19, 2023 · 1 comment

Comments

@yshui
Copy link
Contributor

yshui commented Aug 19, 2023

Template

  • Version of vulkano: 0.33.0
  • OS: Linux
  • GPU (the selected PhysicalDevice): AMD
  • GPU Driver: RADV
  • Upload of a reasonably minimal complete main.rs file that demonstrates the issue: TODO

Issue

.then_signal_fence_and_flush() fails with:

ResourceAccessError { error: UnexpectedImageLayout { allowed: Undefined, requested: ColorAttachmentOptimal }, use_ref: Some(ResourceUseRef { command_index: 4, command_name: "draw", resource_in_command: DescriptorSet { set: 0, binding: 0, index: 0 }, secondary_use_ref: None }) }

whereas .flush(); .then_signal_fence() works fine.

@yshui yshui changed the title .then_signal_fence_and_flush yields different results to flush & then_signal_fence GpuFuture::then_signal_fence and flush does not commute Aug 19, 2023
@yshui
Copy link
Contributor Author

yshui commented Aug 20, 2023

I figured out what's different in this two cases.

future.flush() calls submit_with_future(.., future: future.previous, ..), but future.then_signal_fence().flush() would call submit_with_future(.., future: future, ..).

And submit_with_future uses the future argument for image access checking.

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

No branches or pull requests

2 participants