Skip to content

Commit 1f31e85

Browse files
authored
Release Vulkano 0.33.0 (#2169)
* Release Vulkano 0.33.0 * Update changelog for recent changes * Derp
1 parent 83557af commit 1f31e85

File tree

11 files changed

+59
-59
lines changed

11 files changed

+59
-59
lines changed

CHANGELOG.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@
99

1010
### Public dependency updates
1111

12+
### Breaking changes
13+
14+
### Additions
15+
16+
### Bugs fixed
17+
18+
# Version 0.33.0 (2023-04-01)
19+
20+
### Public dependency updates
21+
1222
- [ash](https://crates.io/crates/ash) 0.37.2
1323
- [bytemuck](https://crates.io/crates/bytemuck) 1.9
1424
- [nalgebra](https://crates.io/crates/nalgebra) 0.32
@@ -75,15 +85,11 @@ Changes to vulkano-shaders:
7585
- The `ty` module is no longer generated. All types are generated in the same module where the macro call resides.
7686

7787
### Additions
78-
- Added `CpuBufferAllocatorCreateInfo`.
88+
89+
- Added `SubbufferAllocatorCreateInfo`.
7990
- Allow waiting on `SwapchainAcquireFuture`.
8091
- Implement `IntoIterator` for `Features`, `DeviceExtensions` and `InstanceExtensions`.
81-
- A new `CommandBufferBuilder` type, that provides validation and keeps resources alive, but requires manual synchronization commands.
82-
- The `PrimaryCommandBuffer` and `SecondaryCommandBuffer` types.
8392
- A `buffer_with_range` constructor for `WriteDescriptorSet`, which can be used to select the range within the buffer that should be bound. This must be used when using dynamic buffers.
84-
- Better cgmath and nalgebra support, enabled by the `cgmath` or `nalgebra` features:
85-
- `VertexMember` is now implemented for cgmath `Vector`s and `Point`s.
86-
- `type_for_format_cgmath` and `type_for_format_nalgebra` macros, next to the existing `type_for_format` macro.
8793
- Added a derive macro for the `Vertex` trait. The `impl_vertex` macro and `VertexMember` trait are deprecated.
8894
- `BufferDefinition` matching logic was updated to work with the new `VertexMemberInfo` and now matches based on scalar type, number of components and number of elements allowing the use of formats such as `*_UNORM`.
8995
- `GraphicsPipelineBuilder` validation was extended to make sure locations are not bound multiple times when a single attribute spans multiple locations (e.g. using double precision float formats).
@@ -108,6 +114,7 @@ Changes to vulkano-shaders:
108114
- Vulkano-win: The features `winit` and `raw-window-handle` can now be used directly, `winit_` and `raw-window-handle_` have been deprecated.
109115

110116
### Bugs fixed
117+
111118
- [#2094](https://github.com/vulkano-rs/vulkano/issues/2094): Fixed debug assertion when the first command in a command buffer that uses an image expects it to be in the `Undefined` layout.
112119
- Fixed wrong aspects being used in pipeline barriers when an image view selects one aspect of a combined depth+stencil image.
113120
- Fixed panic when building a finished command buffer, if the command buffer contains commands that use only some subresources of an image.

vulkano-shaders/Cargo.toml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
[package]
22
name = "vulkano-shaders"
3-
version = "0.32.0"
3+
version = "0.33.0"
44
edition = "2021"
5-
authors = [
6-
"Pierre Krieger <pierre.krieger1708@gmail.com>",
7-
"The vulkano contributors",
8-
]
5+
authors = ["Pierre Krieger <pierre.krieger1708@gmail.com>", "The vulkano contributors"]
96
repository = "https://github.com/vulkano-rs/vulkano"
107
description = "Shaders rust code generation macro"
118
license = "MIT/Apache-2.0"
@@ -24,7 +21,7 @@ proc-macro2 = "1.0"
2421
quote = "1.0"
2522
shaderc = "0.8"
2623
syn = { version = "1.0", features = ["full", "extra-traits"] }
27-
vulkano = { version = "0.32.0", path = "../vulkano" }
24+
vulkano = { version = "0.33.0", path = "../vulkano" }
2825

2926
[features]
3027
shaderc-build-from-source = ["shaderc/build-from-source"]

vulkano-shaders/src/lib.rs

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
//! The procedural macro for vulkano's shader system.
22
//! Manages the compile-time compilation of GLSL into SPIR-V and generation of associated Rust code.
33
//!
4-
//! # Cargo features
5-
//!
6-
//! | Feature | Description |
7-
//! |-----------------------------|---------------------------------------------------------|
8-
//! | `shaderc-build-from-source` | Build the `shaderc` library from source when compiling. |
9-
//! | `shaderc-debug` | Compile shaders with debug information included. |
10-
//!
114
//! # Basic usage
125
//!
136
//! ```
@@ -200,6 +193,13 @@
200193
//!
201194
//! The crate fails to compile but prints the generated Rust code to stdout.
202195
//!
196+
//! # Cargo features
197+
//!
198+
//! | Feature | Description |
199+
//! |-----------------------------|---------------------------------------------------------|
200+
//! | `shaderc-build-from-source` | Build the `shaderc` library from source when compiling. |
201+
//! | `shaderc-debug` | Compile shaders with debug information included. |
202+
//!
203203
//! [cargo-expand]: https://github.com/dtolnay/cargo-expand
204204
//! [`ShaderModule::from_words_with_data`]: vulkano::shader::ShaderModule::from_words_with_data
205205
//! [`SpecializationConstants`]: vulkano::shader::SpecializationConstants
@@ -732,19 +732,14 @@ impl Parse for MacroInput {
732732
}
733733
}
734734

735-
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
735+
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
736736
enum LinAlgType {
737+
#[default]
737738
Std,
738739
CgMath,
739740
Nalgebra,
740741
}
741742

742-
impl Default for LinAlgType {
743-
fn default() -> Self {
744-
LinAlgType::Std
745-
}
746-
}
747-
748743
macro_rules! bail {
749744
($msg:literal $(,)?) => {
750745
return Err(syn::Error::new(

vulkano-util/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "vulkano-util"
3-
version = "0.32.0"
3+
version = "0.33.0"
44
edition = "2021"
55
authors = ["The vulkano contributors"]
66
repository = "https://github.com/vulkano-rs/vulkano"
@@ -13,6 +13,6 @@ categories = ["rendering::graphics-api"]
1313

1414
[dependencies]
1515
ahash = "0.8"
16-
vulkano = { version = "0.32.0", path = "../vulkano" }
17-
vulkano-win = { version = "0.32.0", path = "../vulkano-win" }
16+
vulkano = { version = "0.33.0", path = "../vulkano" }
17+
vulkano-win = { version = "0.33.0", path = "../vulkano-win" }
1818
winit = { version = "0.28" }

vulkano-win/Cargo.toml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
[package]
22
name = "vulkano-win"
3-
version = "0.32.0"
3+
version = "0.33.0"
44
edition = "2021"
5-
authors = [
6-
"Pierre Krieger <pierre.krieger1708@gmail.com>",
7-
"The vulkano contributors",
8-
]
5+
authors = ["Pierre Krieger <pierre.krieger1708@gmail.com>", "The vulkano contributors"]
96
repository = "https://github.com/vulkano-rs/vulkano"
107
description = "Link between vulkano and winit"
118
license = "MIT/Apache-2.0"
@@ -23,7 +20,7 @@ winit_ = ["dep:winit", "dep:objc", "dep:core-graphics-types"]
2320

2421
[dependencies]
2522
raw-window-handle = { version = "0.5", optional = true }
26-
vulkano = { version = "0.32.0", path = "../vulkano" }
23+
vulkano = { version = "0.33.0", path = "../vulkano" }
2724
winit = { version = "0.28", optional = true }
2825

2926
[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies]

vulkano/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "vulkano"
3-
version = "0.32.0"
3+
version = "0.33.0"
44
edition = "2021"
55
authors = [
66
"Pierre Krieger <pierre.krieger1708@gmail.com>",
@@ -30,7 +30,7 @@ parking_lot = { version = "0.12", features = ["send_guard"] }
3030
serde = { version = "1.0", optional = true }
3131
smallvec = "1.8"
3232
thread_local = "1.1"
33-
vulkano-macros = { path = "macros", version = "0.32.0" }
33+
vulkano-macros = { path = "macros", version = "0.33.0" }
3434

3535
[target.'cfg(target_os = "ios")'.dependencies]
3636
objc = "0.2.5"

vulkano/macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "vulkano-macros"
3-
version = "0.32.0"
3+
version = "0.33.0"
44
edition = "2021"
55
authors = ["Pierre Krieger <pierre.krieger1708@gmail.com>", "The vulkano contributors"]
66
repository = "https://github.com/vulkano-rs/vulkano"

vulkano/src/command_buffer/mod.rs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
//!
3232
//! There are two levels of command buffers:
3333
//!
34-
//! - [`PrimaryCommandBuffer`] can be executed on a queue, and is the main command buffer type.
35-
//! It cannot be executed within another command buffer.
36-
//! - [`SecondaryCommandBuffer`] can only be executed within a primary command buffer, not directly
37-
//! on a queue.
34+
//! - [`PrimaryCommandBufferAbstract`] can be executed on a queue, and is the main command buffer
35+
//! type. It cannot be executed within another command buffer.
36+
//! - [`SecondaryCommandBufferAbstract`] can only be executed within a primary command buffer,
37+
//! not directly on a queue.
3838
//!
3939
//! Using secondary command buffers, there is slightly more overhead than using primary command
4040
//! buffers alone, but there are also advantages. A single command buffer cannot be recorded
@@ -48,15 +48,16 @@
4848
//! # Recording a command buffer
4949
//!
5050
//! To record a new command buffer, the most direct way is to create a new
51-
//! [`CommandBufferBuilder`]. You can then call methods on this object to record new commands to
51+
//! [`AutoCommandBufferBuilder`]. You can then call methods on this object to record new commands to
5252
//! the command buffer. When you are done recording, you call [`build`] to finalise the command
53-
//! buffer and turn it into either a [`PrimaryCommandBuffer`] or a [`SecondaryCommandBuffer`].
53+
//! buffer and turn it into either a [`PrimaryCommandBufferAbstract`] or a
54+
//! [`SecondaryCommandBufferAbstract`].
5455
//!
55-
//! Using the standard `CommandBufferBuilder`, you must enter synchronization commands such as
56-
//! [pipeline barriers], to ensure that there are no races and memory access hazards. This can be
57-
//! difficult to do manually, so Vulkano also provides an alternative builder,
58-
//! [`AutoCommandBufferBuilder`]. Using this builder, you do not have to worry about managing
59-
//! synchronization, but the end result may not be quite as efficient.
56+
// //! Using the standard `CommandBufferBuilder`, you must enter synchronization commands such as
57+
// //! [pipeline barriers], to ensure that there are no races and memory access hazards. This can be
58+
// //! difficult to do manually, so Vulkano also provides an alternative builder,
59+
// //! [`AutoCommandBufferBuilder`]. Using this builder, you do not have to worry about managing
60+
// //! synchronization, but the end result may not be quite as efficient.
6061
//!
6162
//! # Submitting a primary command buffer
6263
//!
@@ -108,7 +109,7 @@
108109
//! [`GpuFuture`]: crate::sync::GpuFuture
109110
110111
#[doc(no_inline)]
111-
pub use self::standard::{CommandBufferBuilder, PrimaryCommandBuffer, SecondaryCommandBuffer};
112+
pub(crate) use self::standard::{PrimaryCommandBuffer, SecondaryCommandBuffer};
112113
pub use self::{
113114
auto::{
114115
AutoCommandBufferBuilder, BuildError, CommandBufferBeginError, PrimaryAutoCommandBuffer,
@@ -154,7 +155,7 @@ pub mod allocator;
154155
mod auto;
155156
mod commands;
156157
pub mod pool;
157-
pub mod standard;
158+
pub(crate) mod standard;
158159
pub mod synced;
159160
pub mod sys;
160161
mod traits;

vulkano/src/command_buffer/standard/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
//! Using `CommandBufferBuilder`, you must manually record synchronization commands to ensure
1313
//! correct operation.
1414
15+
#![allow(dead_code)]
16+
1517
pub use self::builder::*;
1618
use super::{
1719
allocator::{CommandBufferAlloc, StandardCommandBufferAlloc},

vulkano/src/lib.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,6 @@
1010
#![doc(html_logo_url = "https://raw.githubusercontent.com/vulkano-rs/vulkano/master/logo.png")]
1111
//! Safe and rich Rust wrapper around the Vulkan API.
1212
//!
13-
//! # Cargo features
14-
//!
15-
//! | Feature | Description |
16-
//! |----------------------|-------------------------------------------------------------------------------|
17-
//! | `document_unchecked` | Include `_unchecked` functions in the generated documentation. |
18-
//! | `serde` | Enables (de)serialization of certain types using [`serde`]. |
19-
//!
2013
//! # Starting off with Vulkano
2114
//!
2215
//! The steps for using Vulkan through Vulkano are in principle not any different from using
@@ -101,6 +94,13 @@
10194
//! `document_unchecked` cargo feature, and then generating the documentation with the command
10295
//! `cargo doc --open`.
10396
//!
97+
//! # Cargo features
98+
//!
99+
//! | Feature | Description |
100+
//! |----------------------|-------------------------------------------------------------------------------|
101+
//! | `document_unchecked` | Include `_unchecked` functions in the generated documentation. |
102+
//! | `serde` | Enables (de)serialization of certain types using [`serde`]. |
103+
//!
104104
//! [`cgmath`]: https://crates.io/crates/cgmath
105105
//! [`nalgebra`]: https://crates.io/crates/nalgebra
106106
//! [`serde`]: https://crates.io/crates/serde
@@ -136,6 +136,7 @@
136136
#![allow(
137137
clippy::collapsible_else_if,
138138
clippy::collapsible_if,
139+
clippy::derivable_impls, // TODO: remove
139140
clippy::large_enum_variant,
140141
clippy::len_without_is_empty,
141142
clippy::missing_safety_doc, // TODO: remove

0 commit comments

Comments
 (0)