From 17d712200dead62306f979ca8da55f88892a8e85 Mon Sep 17 00:00:00 2001 From: Nicolas Silva Date: Wed, 8 Jun 2022 09:35:33 +0200 Subject: [PATCH] Bump naga dep to 89bed99. --- Cargo.lock | 2 +- wgpu-core/Cargo.toml | 2 +- wgpu-hal/Cargo.toml | 4 ++-- wgpu-hal/src/gles/device.rs | 29 +++++++++++++++++++---------- wgpu/Cargo.toml | 6 +++--- 5 files changed, 26 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6fe3304ca6e..05d2153d135 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1034,7 +1034,7 @@ dependencies = [ [[package]] name = "naga" version = "0.8.0" -source = "git+https://github.com/gfx-rs/naga?rev=571302e#571302e3ff09cb856f63a3683da308159872b7cc" +source = "git+https://github.com/gfx-rs/naga?rev=89bed99#89bed99bcc995bc5068c9c112fd9b7d7896bb148" dependencies = [ "bit-set", "bitflags", diff --git a/wgpu-core/Cargo.toml b/wgpu-core/Cargo.toml index 3f1ed7e04f5..9835466814e 100644 --- a/wgpu-core/Cargo.toml +++ b/wgpu-core/Cargo.toml @@ -42,7 +42,7 @@ thiserror = "1" [dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "571302e" +rev = "89bed99" #version = "0.8" features = ["span", "validate", "wgsl-in"] diff --git a/wgpu-hal/Cargo.toml b/wgpu-hal/Cargo.toml index 020b39cc9ae..843d53e9baa 100644 --- a/wgpu-hal/Cargo.toml +++ b/wgpu-hal/Cargo.toml @@ -95,14 +95,14 @@ android-properties = "0.2" [dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "571302e" +rev = "89bed99" #version = "0.8" # DEV dependencies [dev-dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "571302e" +rev = "89bed99" #version = "0.8" features = ["wgsl-in"] diff --git a/wgpu-hal/src/gles/device.rs b/wgpu-hal/src/gles/device.rs index 0688abb056b..b581debbb92 100644 --- a/wgpu-hal/src/gles/device.rs +++ b/wgpu-hal/src/gles/device.rs @@ -144,6 +144,15 @@ impl super::Device { .position(|ep| ep.name.as_str() == stage.entry_point) .ok_or(crate::PipelineError::EntryPoint(naga_stage))?; + // TODO: expose these parameters. + use naga::proc::BoundsCheckPolicy; + let policies = naga::proc::BoundsCheckPolicies { + index: BoundsCheckPolicy::Unchecked, + buffer: BoundsCheckPolicy::Unchecked, + image: BoundsCheckPolicy::Unchecked, + binding_array: BoundsCheckPolicy::Unchecked, + }; + let mut output = String::new(); let mut writer = glsl::Writer::new( &mut output, @@ -151,6 +160,7 @@ impl super::Device { &shader.info, &context.layout.naga_options, &pipeline_options, + policies, ) .map_err(|e| { let msg = format!("{}", e); @@ -528,7 +538,7 @@ impl crate::Device for super::Device { depth: 1, }; - let (inner, is_cubemap) = if render_usage.contains(desc.usage) + let inner = if render_usage.contains(desc.usage) && desc.dimension == wgt::TextureDimension::D2 && desc.size.depth_or_array_layers == 1 { @@ -559,10 +569,10 @@ impl crate::Device for super::Device { } gl.bind_renderbuffer(glow::RENDERBUFFER, None); - (super::TextureInner::Renderbuffer { raw }, false) + super::TextureInner::Renderbuffer { raw } } else { let raw = gl.create_texture().unwrap(); - let (target, is_3d, is_cubemap) = match desc.dimension { + let (target, is_3d) = match desc.dimension { wgt::TextureDimension::D1 | wgt::TextureDimension::D2 => { if desc.size.depth_or_array_layers > 1 { //HACK: detect a cube map @@ -575,17 +585,17 @@ impl crate::Device for super::Device { None }; match cube_count { - None => (glow::TEXTURE_2D_ARRAY, true, false), - Some(1) => (glow::TEXTURE_CUBE_MAP, false, true), - Some(_) => (glow::TEXTURE_CUBE_MAP_ARRAY, true, true), + None => (glow::TEXTURE_2D_ARRAY, true), + Some(1) => (glow::TEXTURE_CUBE_MAP, false), + Some(_) => (glow::TEXTURE_CUBE_MAP_ARRAY, true), } } else { - (glow::TEXTURE_2D, false, false) + (glow::TEXTURE_2D, false) } } wgt::TextureDimension::D3 => { copy_size.depth = desc.size.depth_or_array_layers; - (glow::TEXTURE_3D, true, false) + (glow::TEXTURE_3D, true) } }; @@ -639,7 +649,7 @@ impl crate::Device for super::Device { } gl.bind_texture(target, None); - (super::TextureInner::Texture { raw, target }, is_cubemap) + super::TextureInner::Texture { raw, target } }; Ok(super::Texture { @@ -653,7 +663,6 @@ impl crate::Device for super::Device { format: desc.format, format_desc, copy_size, - is_cubemap, }) } unsafe fn destroy_texture(&self, texture: super::Texture) { diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index 237590c5e92..ced6d6352b4 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/Cargo.toml @@ -140,20 +140,20 @@ env_logger = "0.9" [dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "571302e" +rev = "89bed99" #version = "0.8" optional = true # used to test all the example shaders [dev-dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "571302e" +rev = "89bed99" #version = "0.8" features = ["wgsl-in"] [target.'cfg(target_arch = "wasm32")'.dependencies.naga] git = "https://github.com/gfx-rs/naga" -rev = "571302e" +rev = "89bed99" #version = "0.8" features = ["wgsl-out"]