mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-22 23:04:07 +00:00
Merge #1357
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:
commit
faf3cbc2e9
29
CHANGELOG.md
29
CHANGELOG.md
@ -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`
|
||||
|
@ -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" }
|
||||
|
@ -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) },
|
||||
|
@ -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)]
|
||||
|
@ -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),* ),
|
||||
|
@ -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"))]
|
||||
|
Loading…
Reference in New Issue
Block a user