diff --git a/src/back/spv/writer.rs b/src/back/spv/writer.rs index 0da113f865..4562915702 100644 --- a/src/back/spv/writer.rs +++ b/src/back/spv/writer.rs @@ -1664,25 +1664,10 @@ impl Writer { .to_words(&mut self.logical_layout.declarations); pointer_type_id + } else if substitute_inner_type_lookup.is_some() { + inner_type_id } else { - // This is a global variable in the Storage address space. The only - // way it could have `global_needs_wrapper() == false` is if it has - // a runtime-sized array. In this case, we need to decorate it with - // Block. - if let crate::AddressSpace::Storage { .. } = global_variable.space { - let decorated_id = match ir_module.types[global_variable.ty].inner { - crate::TypeInner::BindingArray { base, .. } => { - self.get_type_id(LookupType::Handle(base)) - } - _ => inner_type_id, - }; - self.decorate(decorated_id, Decoration::Block, &[]); - } - if substitute_inner_type_lookup.is_some() { - inner_type_id - } else { - self.get_pointer_id(&ir_module.types, global_variable.ty, class)? - } + self.get_pointer_id(&ir_module.types, global_variable.ty, class)? }; let init_word = match (global_variable.space, self.zero_initialize_workgroup_memory) { diff --git a/tests/out/spv/access.spvasm b/tests/out/spv/access.spvasm index 65864ca677..cb0cdeda27 100644 --- a/tests/out/spv/access.spvasm +++ b/tests/out/spv/access.spvasm @@ -87,7 +87,6 @@ OpDecorate %33 ArrayStride 4 OpDecorate %36 ArrayStride 16 OpDecorate %47 DescriptorSet 0 OpDecorate %47 Binding 0 -OpDecorate %20 Block OpDecorate %49 DescriptorSet 0 OpDecorate %49 Binding 1 OpDecorate %50 Block diff --git a/tests/out/spv/binding-buffer-arrays.spvasm b/tests/out/spv/binding-buffer-arrays.spvasm index 00d5b0fcfb..4045cba331 100644 --- a/tests/out/spv/binding-buffer-arrays.spvasm +++ b/tests/out/spv/binding-buffer-arrays.spvasm @@ -16,7 +16,6 @@ OpMemberDecorate %8 0 Offset 0 OpDecorate %11 NonWritable OpDecorate %11 DescriptorSet 0 OpDecorate %11 Binding 0 -OpDecorate %5 Block OpDecorate %15 DescriptorSet 0 OpDecorate %15 Binding 10 OpDecorate %16 Block diff --git a/tests/out/spv/boids.spvasm b/tests/out/spv/boids.spvasm index be6bc6c414..f57d997238 100644 --- a/tests/out/spv/boids.spvasm +++ b/tests/out/spv/boids.spvasm @@ -56,10 +56,8 @@ OpMemberDecorate %14 0 Offset 0 OpDecorate %16 NonWritable OpDecorate %16 DescriptorSet 0 OpDecorate %16 Binding 1 -OpDecorate %9 Block OpDecorate %18 DescriptorSet 0 OpDecorate %18 Binding 2 -OpDecorate %9 Block OpDecorate %36 BuiltIn GlobalInvocationId %2 = OpTypeVoid %3 = OpTypeInt 32 0 diff --git a/tests/out/spv/bounds-check-restrict.spvasm b/tests/out/spv/bounds-check-restrict.spvasm index 23c6f4bb39..69e612022f 100644 --- a/tests/out/spv/bounds-check-restrict.spvasm +++ b/tests/out/spv/bounds-check-restrict.spvasm @@ -18,7 +18,6 @@ OpMemberDecorate %10 3 Offset 112 OpDecorate %10 Block OpDecorate %13 DescriptorSet 0 OpDecorate %13 Binding 0 -OpDecorate %10 Block %2 = OpTypeVoid %3 = OpTypeFloat 32 %6 = OpTypeInt 32 0 diff --git a/tests/out/spv/bounds-check-zero.spvasm b/tests/out/spv/bounds-check-zero.spvasm index 619ccedc72..f24ab2cc73 100644 --- a/tests/out/spv/bounds-check-zero.spvasm +++ b/tests/out/spv/bounds-check-zero.spvasm @@ -18,7 +18,6 @@ OpMemberDecorate %10 3 Offset 112 OpDecorate %10 Block OpDecorate %13 DescriptorSet 0 OpDecorate %13 Binding 0 -OpDecorate %10 Block %2 = OpTypeVoid %3 = OpTypeFloat 32 %6 = OpTypeInt 32 0 diff --git a/tests/out/spv/collatz.spvasm b/tests/out/spv/collatz.spvasm index aabed55023..310bc5c1ef 100644 --- a/tests/out/spv/collatz.spvasm +++ b/tests/out/spv/collatz.spvasm @@ -22,7 +22,6 @@ OpMemberDecorate %5 0 Offset 0 OpDecorate %5 Block OpDecorate %7 DescriptorSet 0 OpDecorate %7 Binding 0 -OpDecorate %5 Block OpDecorate %48 BuiltIn GlobalInvocationId %2 = OpTypeVoid %3 = OpTypeInt 32 0 diff --git a/tests/out/spv/debug-symbol-terrain.spvasm b/tests/out/spv/debug-symbol-terrain.spvasm index a76ae60497..ac83cc1239 100644 --- a/tests/out/spv/debug-symbol-terrain.spvasm +++ b/tests/out/spv/debug-symbol-terrain.spvasm @@ -444,10 +444,8 @@ OpDecorate %30 Block OpMemberDecorate %30 0 Offset 0 OpDecorate %32 DescriptorSet 0 OpDecorate %32 Binding 1 -OpDecorate %16 Block OpDecorate %34 DescriptorSet 0 OpDecorate %34 Binding 2 -OpDecorate %18 Block OpDecorate %36 DescriptorSet 0 OpDecorate %36 Binding 0 OpDecorate %37 Block diff --git a/tests/out/spv/pointers.spvasm b/tests/out/spv/pointers.spvasm index 0f1e7a7d0a..332d265fad 100644 --- a/tests/out/spv/pointers.spvasm +++ b/tests/out/spv/pointers.spvasm @@ -23,7 +23,6 @@ OpMemberDecorate %7 0 Offset 0 OpDecorate %7 Block OpDecorate %10 DescriptorSet 0 OpDecorate %10 Binding 0 -OpDecorate %7 Block %2 = OpTypeVoid %4 = OpTypeInt 32 1 %3 = OpTypeVector %4 2