1357: Changelog for 0.8 r=kvark a=kvark

Fixes #1265
Closes #1312
Related to https://github.com/gfx-rs/naga/pull/796 and https://github.com/gfx-rs/gfx/pull/3739

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
This commit is contained in:
bors[bot] 2021-04-29 15:43:35 +00:00 committed by GitHub
commit faf3cbc2e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 37 additions and 23 deletions

View File

@ -1,5 +1,34 @@
# Change Log
## v0.8 (2021-04-29)
- Naga is used by default to translate shaders, SPIRV-Cross is optional behind `cross` feature
- Features:
- buffers are zero-initialized
- downlevel limits for DX11/OpenGL support
- conservative rasterization (native-only)
- buffer resource indexing (native-only)
- API adjustments to the spec:
- vertex formats are renamed
- blend factors are renamed, blend color is changed to blend constant
- depth clamping is moved to `PrimitiveState`
- render pass attachments contain `view` members
- copy views are renamed
- Infrastructure:
- switch from `tracing` to `profiling`
- more concrete and detailed errors
- API traces include the command that crashed/panicked
- Vulkan Portability support is removed from Apple platforms
- Validation:
- texture bindings
- filtering of textures by samplers
- interpolation qualifiers
- allow vertex components to be underspecified
## v0.7.1 (2021-02-25)
- expose `wgc::device::queue` sub-module in public
- fix the indexed buffer check
- fix command allocator race condition
## v0.7 (2021-01-31)
- Major API changes:
- `RenderPipelineDescriptor`

View File

@ -36,9 +36,8 @@ serde = { version = "1.0", features = ["serde_derive"], optional = true }
smallvec = "1"
thiserror = "1"
# Update to 0.4 when it will be available
gpu-alloc = { git = "https://github.com/zakarumych/gpu-alloc.git", rev = "2cd1ad650cdd24d1647b6041f77ced0cbf1ff2a6" }
gpu-descriptor = { version = "0.1" }
gpu-alloc = "0.4"
gpu-descriptor = "0.1"
hal = { package = "gfx-hal", git = "https://github.com/gfx-rs/gfx", rev = "32684a7da923cfd661fe4d3003f4275270e9c40d" }
gfx-backend-empty = { git = "https://github.com/gfx-rs/gfx", rev = "32684a7da923cfd661fe4d3003f4275270e9c40d" }
@ -49,7 +48,7 @@ gfx-backend-gl = { git = "https://github.com/gfx-rs/gfx", rev = "32684a7da923cfd
[target.'cfg(all(not(target_arch = "wasm32"), any(target_os = "ios", target_os = "macos")))'.dependencies]
gfx-backend-metal = { git = "https://github.com/gfx-rs/gfx", rev = "32684a7da923cfd661fe4d3003f4275270e9c40d" }
gfx-backend-vulkan = { git = "https://github.com/gfx-rs/gfx", rev = "32684a7da923cfd661fe4d3003f4275270e9c40d", optional = true }
#TODO: could also depend on gfx-backend-vulkan for Vulkan Portability
[target.'cfg(all(not(target_arch = "wasm32"), windows))'.dependencies]
gfx-backend-dx12 = { git = "https://github.com/gfx-rs/gfx", rev = "32684a7da923cfd661fe4d3003f4275270e9c40d" }

View File

@ -11,7 +11,7 @@ fn main() {
unix_wo_apple: {all(unix, not(apple))},
// Backends
vulkan: { all(not(wasm), any(windows, unix_wo_apple, feature = "gfx-backend-vulkan")) },
vulkan: { all(not(wasm), any(windows, unix_wo_apple)) },
metal: { all(not(wasm), apple) },
dx12: { all(not(wasm), windows) },
dx11: { all(not(wasm), windows) },

View File

@ -733,8 +733,6 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
profiling::scope!("create_surface_metal", "Instance");
let surface = Surface {
#[cfg(feature = "gfx-backend-vulkan")]
vulkan: None, //TODO: create_surface_from_layer ?
metal: self.instance.metal.as_ref().map(|inst| {
// we don't want to link to metal-rs for this
#[allow(clippy::transmute_ptr_to_ref)]

View File

@ -254,7 +254,7 @@ macro_rules! gfx_select {
// Note: For some reason the cfg aliases defined in build.rs don't succesfully apply in this
// macro so we must specify their equivalents manually
match $id.backend() {
#[cfg(all(not(target_arch = "wasm32"), any(not(any(target_os = "ios", target_os = "macos")), feature = "gfx-backend-vulkan")))]
#[cfg(all(not(target_arch = "wasm32"), not(target_os = "ios"), not(target_os = "macos")))]
wgt::Backend::Vulkan => $global.$method::<$crate::backend::Vulkan>( $($param),* ),
#[cfg(all(not(target_arch = "wasm32"), any(target_os = "ios", target_os = "macos")))]
wgt::Backend::Metal => $global.$method::<$crate::backend::Metal>( $($param),* ),

View File

@ -59,11 +59,7 @@ macro_rules! backends_map {
#[test]
fn test_backend_macro() {
struct Foo {
#[cfg(any(
windows,
all(unix, not(any(target_os = "ios", target_os = "macos"))),
feature = "gfx-backend-vulkan",
))]
#[cfg(any(windows, all(unix, not(target_os = "ios"), not(target_os = "macos")),))]
vulkan: u32,
#[cfg(any(target_os = "ios", target_os = "macos"))]
@ -108,11 +104,7 @@ fn test_backend_macro() {
map((test_foo.dx11, 'd')),
}
#[cfg(any(
windows,
all(unix, not(any(target_os = "ios", target_os = "macos"))),
feature = "gfx-backend-vulkan",
))]
#[cfg(any(windows, all(unix, not(target_os = "ios"), not(target_os = "macos")),))]
assert!(vec.contains(&(1, 'a')));
#[cfg(any(target_os = "ios", target_os = "macos"))]
@ -208,11 +200,7 @@ fn test_backend_macro() {
println!("backend int: {:?}", var_dx11);
}
#[cfg(any(
windows,
all(unix, not(any(target_os = "ios", target_os = "macos"))),
feature = "gfx-backend-vulkan",
))]
#[cfg(any(windows, all(unix, not(target_os = "ios"), not(target_os = "macos")),))]
let _ = var_vulkan;
#[cfg(any(target_os = "ios", target_os = "macos"))]