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 support for dynamic rendering #1902

Merged
merged 1 commit into from
May 29, 2022

Conversation

Rua
Copy link
Contributor

@Rua Rua commented May 28, 2022

Changelog:

- **Breaking** The various `AutoCommandBufferBuilder` constructors for secondary command buffers have been merged into one `secondary` function, which directly takes a `CommandBufferInheritanceInfo` value.
- **Breaking** The `render_pass` values of `GraphicsPipelineBuilder` and `CommandBufferInheritanceInfo` have both been changed into an enum that selects between rendering with `begin_render_pass` and rendering with `begin_rendering`. They implement `Into` for easy conversion.
- **Breaking** Added the missing `rasterization_samples` field to `MultisampleState`, which must be provided when doing multisampled rendering.
- Added support for dynamic rendering, and a `triangle-v1_3` example demonstrating how it's used.

Dynamic rendering is a new method of rendering where you don't need to create a render pass or framebuffer object, and instead specify the rendering parameters right when you actually begin rendering in the command buffer (and some of it also when creating the graphics pipeline). The usage envisioned by Khronos is that for simple rendering tasks that don't need multiple render subpasses, you use this, and for more complex things you use render pass objects.

This has been a pretty tough one, so I hope I got it all right. Not all the details are finished, but there are other unrelated issues that future PRs need to fix, and the missing checks for dynamic rendering might as well be included in that.

Copy link
Member

@AustinJ235 AustinJ235 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Holy molly, great work! Nothing really stands out to me took a bit to get through. Great work documenting all the VUID's as usual.

@AustinJ235 AustinJ235 merged commit 6352adf into vulkano-rs:master May 29, 2022
AustinJ235 added a commit that referenced this pull request May 29, 2022
Rua added a commit that referenced this pull request May 29, 2022
@Rua Rua deleted the dynamic-rendering branch May 31, 2022 18:35
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

Successfully merging this pull request may close these issues.

2 participants