Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Queue operations refactoring #1995

Merged
merged 1 commit into from
Sep 24, 2022
Merged

Conversation

Rua
Copy link
Contributor

@Rua Rua commented Sep 22, 2022

Changelog:

- **Breaking** Changes to queue operations:
  - `PresentInfo` as been renamed to `SwapchainPresentInfo` and has differently named members and constructor.
  - `acquire_next_image` returns an `u32` index to match Vulkan.
  - `SubmitAnyBuilder` and its wrapped types no longer have a lifetime parameter, as they own their data instead. Various methods of these types now take their arguments by value.
- **Breaking** Changes to `Swapchain`:
  - The `W` parameter must now implement `Send + Sync`.

This is a first step in reorganising the futures so that the Queue can eventually own and keep track of everything that is submitted to it, similar to what CommandBufferBuilder already does. The hope is that this will eventually make it possible to implement a lot of currently missing features and fix some of the issues currently plaguing futures. In this PR, the most important underlying change is the addition of three new unchecked methods (currently pub(crate) only) to Queue, and making the existing future code use those methods internally, including the new info structs I created for them.

@AustinJ235 AustinJ235 merged commit c085dd8 into vulkano-rs:master Sep 24, 2022
AustinJ235 added a commit that referenced this pull request Sep 24, 2022
@Rua Rua deleted the queue-refactor branch October 4, 2022 08:49
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants