From 0cfd2213ccd163322474cfe4548bb7d03f82798b Mon Sep 17 00:00:00 2001 From: teoxoy <28601907+teoxoy@users.noreply.github.com> Date: Mon, 18 Sep 2023 20:11:07 +0200 Subject: [PATCH] [msl-out] remove min version check on storage address space --- src/back/msl/mod.rs | 4 +--- src/back/msl/writer.rs | 3 --- tests/in/access.param.ron | 2 +- tests/in/bitcast.params.ron | 2 +- tests/in/boids.param.ron | 2 +- tests/in/bounds-check-image-restrict.param.ron | 8 ++++++++ tests/in/bounds-check-image-rzsw.param.ron | 8 ++++++++ tests/in/dualsource.param.ron | 18 ++++++++---------- tests/in/padding.param.ron | 2 +- tests/in/resource-binding-map.param.ron | 2 +- tests/in/workgroup-var-init.param.ron | 2 +- tests/out/msl/access.msl | 2 +- tests/out/msl/array-in-ctor.msl | 2 +- .../out/msl/array-in-function-return-type.msl | 2 +- tests/out/msl/atomicOps.msl | 2 +- tests/out/msl/bitcast.msl | 2 +- tests/out/msl/boids.msl | 2 +- tests/out/msl/bounds-check-image-restrict.msl | 2 +- tests/out/msl/bounds-check-image-rzsw.msl | 2 +- tests/out/msl/bounds-check-restrict.msl | 2 +- tests/out/msl/bounds-check-zero-atomic.msl | 2 +- tests/out/msl/bounds-check-zero.msl | 2 +- tests/out/msl/break-if.msl | 2 +- tests/out/msl/collatz.msl | 2 +- tests/out/msl/const-exprs.msl | 2 +- tests/out/msl/constructors.msl | 2 +- tests/out/msl/control-flow.msl | 2 +- tests/out/msl/do-while.msl | 2 +- tests/out/msl/dualsource.msl | 2 +- tests/out/msl/empty-global-name.msl | 2 +- tests/out/msl/empty.msl | 2 +- tests/out/msl/fragment-output.msl | 2 +- tests/out/msl/functions.msl | 2 +- tests/out/msl/globals.msl | 2 +- tests/out/msl/image.msl | 2 +- tests/out/msl/interpolate.msl | 2 +- tests/out/msl/math-functions.msl | 2 +- tests/out/msl/msl-varyings.msl | 2 +- tests/out/msl/operators.msl | 2 +- tests/out/msl/padding.msl | 2 +- tests/out/msl/policy-mix.msl | 2 +- tests/out/msl/quad-vert.msl | 2 +- tests/out/msl/quad.msl | 2 +- tests/out/msl/resource-binding-map.msl | 2 +- tests/out/msl/shadow.msl | 2 +- tests/out/msl/standard.msl | 2 +- tests/out/msl/texture-arg.msl | 2 +- tests/out/msl/workgroup-uniform-load.msl | 2 +- tests/out/msl/workgroup-var-init.msl | 2 +- 49 files changed, 69 insertions(+), 60 deletions(-) diff --git a/src/back/msl/mod.rs b/src/back/msl/mod.rs index 819d48a8fd..a5c7139657 100644 --- a/src/back/msl/mod.rs +++ b/src/back/msl/mod.rs @@ -127,8 +127,6 @@ pub enum Error { UnsupportedBuiltIn(crate::BuiltIn), #[error("capability {0:?} is not supported")] CapabilityNotSupported(crate::valid::Capabilities), - #[error("address space {0:?} is not supported for target MSL version")] - UnsupportedAddressSpace(crate::AddressSpace), #[error("attribute '{0}' is not supported for target MSL version")] UnsupportedAttribute(String), } @@ -197,7 +195,7 @@ pub struct Options { impl Default for Options { fn default() -> Self { Options { - lang_version: (2, 0), + lang_version: (1, 0), per_entry_point_map: EntryPointResourceMap::default(), inline_samplers: Vec::new(), spirv_cross_compatibility: false, diff --git a/src/back/msl/writer.rs b/src/back/msl/writer.rs index 54941836e0..bdb0b0ac39 100644 --- a/src/back/msl/writer.rs +++ b/src/back/msl/writer.rs @@ -3940,9 +3940,6 @@ impl Writer { let resolved = match var.space { crate::AddressSpace::PushConstant => options.resolve_push_constants(ep).ok(), crate::AddressSpace::WorkGroup => None, - crate::AddressSpace::Storage { .. } if options.lang_version < (2, 0) => { - return Err(Error::UnsupportedAddressSpace(var.space)) - } _ => options .resolve_resource_binding(ep, var.binding.as_ref().unwrap()) .ok(), diff --git a/tests/in/access.param.ron b/tests/in/access.param.ron index 5cd8e79a48..e67f90cf2f 100644 --- a/tests/in/access.param.ron +++ b/tests/in/access.param.ron @@ -5,7 +5,7 @@ adjust_coordinate_space: false, ), msl: ( - lang_version: (2, 0), + lang_version: (1, 2), per_entry_point_map: { "foo_vert": ( resources: { diff --git a/tests/in/bitcast.params.ron b/tests/in/bitcast.params.ron index b40cf9fa08..febd505f73 100644 --- a/tests/in/bitcast.params.ron +++ b/tests/in/bitcast.params.ron @@ -1,6 +1,6 @@ ( msl: ( - lang_version: (1, 2), + lang_version: (1, 0), per_entry_point_map: { "main": ( resources: { diff --git a/tests/in/boids.param.ron b/tests/in/boids.param.ron index 976b457ede..25f81b8afd 100644 --- a/tests/in/boids.param.ron +++ b/tests/in/boids.param.ron @@ -5,7 +5,7 @@ adjust_coordinate_space: false, ), msl: ( - lang_version: (2, 0), + lang_version: (1, 0), per_entry_point_map: { "main": ( resources: { diff --git a/tests/in/bounds-check-image-restrict.param.ron b/tests/in/bounds-check-image-restrict.param.ron index 448db8a5d6..d7ff0f006b 100644 --- a/tests/in/bounds-check-image-restrict.param.ron +++ b/tests/in/bounds-check-image-restrict.param.ron @@ -13,4 +13,12 @@ binding_map: { }, zero_initialize_workgroup_memory: true, ), + msl: ( + lang_version: (1, 2), + per_entry_point_map: {}, + inline_samplers: [], + spirv_cross_compatibility: false, + fake_missing_bindings: true, + zero_initialize_workgroup_memory: true, + ), ) diff --git a/tests/in/bounds-check-image-rzsw.param.ron b/tests/in/bounds-check-image-rzsw.param.ron index 0a82f9584b..b256790e15 100644 --- a/tests/in/bounds-check-image-rzsw.param.ron +++ b/tests/in/bounds-check-image-rzsw.param.ron @@ -13,4 +13,12 @@ binding_map: { }, zero_initialize_workgroup_memory: true, ), + msl: ( + lang_version: (1, 2), + per_entry_point_map: {}, + inline_samplers: [], + spirv_cross_compatibility: false, + fake_missing_bindings: true, + zero_initialize_workgroup_memory: true, + ), ) diff --git a/tests/in/dualsource.param.ron b/tests/in/dualsource.param.ron index 1cf512c6c4..9ab5ee4146 100644 --- a/tests/in/dualsource.param.ron +++ b/tests/in/dualsource.param.ron @@ -1,13 +1,11 @@ ( god_mode: true, - vertex:[ - ], - fragment:[ - ( - entry_point:"main", - target_profile:"ps_5_1", - ), - ], - compute:[ - ], + msl: ( + lang_version: (1, 2), + per_entry_point_map: {}, + inline_samplers: [], + spirv_cross_compatibility: false, + fake_missing_bindings: false, + zero_initialize_workgroup_memory: true, + ), ) diff --git a/tests/in/padding.param.ron b/tests/in/padding.param.ron index 14859bba3e..1a735a201e 100644 --- a/tests/in/padding.param.ron +++ b/tests/in/padding.param.ron @@ -5,7 +5,7 @@ adjust_coordinate_space: false, ), msl: ( - lang_version: (2, 0), + lang_version: (1, 0), per_entry_point_map: { "vertex": ( resources: { diff --git a/tests/in/resource-binding-map.param.ron b/tests/in/resource-binding-map.param.ron index 15a14b1971..25e7b054b0 100644 --- a/tests/in/resource-binding-map.param.ron +++ b/tests/in/resource-binding-map.param.ron @@ -1,7 +1,7 @@ ( god_mode: true, msl: ( - lang_version: (2, 0), + lang_version: (1, 0), per_entry_point_map: { "entry_point_one": ( resources: { diff --git a/tests/in/workgroup-var-init.param.ron b/tests/in/workgroup-var-init.param.ron index be5302284b..a00ecf6bfd 100644 --- a/tests/in/workgroup-var-init.param.ron +++ b/tests/in/workgroup-var-init.param.ron @@ -5,7 +5,7 @@ adjust_coordinate_space: false, ), msl: ( - lang_version: (2, 0), + lang_version: (1, 0), per_entry_point_map: { "main": ( resources: { diff --git a/tests/out/msl/access.msl b/tests/out/msl/access.msl index 7c901c35a4..d0f48ba4f2 100644 --- a/tests/out/msl/access.msl +++ b/tests/out/msl/access.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.2 #include #include diff --git a/tests/out/msl/array-in-ctor.msl b/tests/out/msl/array-in-ctor.msl index 9428cb1e74..a3bbb2057c 100644 --- a/tests/out/msl/array-in-ctor.msl +++ b/tests/out/msl/array-in-ctor.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/array-in-function-return-type.msl b/tests/out/msl/array-in-function-return-type.msl index c2c2379cce..77399f6424 100644 --- a/tests/out/msl/array-in-function-return-type.msl +++ b/tests/out/msl/array-in-function-return-type.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/atomicOps.msl b/tests/out/msl/atomicOps.msl index 3a34cc3072..4732b4a32d 100644 --- a/tests/out/msl/atomicOps.msl +++ b/tests/out/msl/atomicOps.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/bitcast.msl b/tests/out/msl/bitcast.msl index ca8bc329bb..20f4b850e3 100644 --- a/tests/out/msl/bitcast.msl +++ b/tests/out/msl/bitcast.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/boids.msl b/tests/out/msl/boids.msl index de9d7186a8..ce1ccc7cc2 100644 --- a/tests/out/msl/boids.msl +++ b/tests/out/msl/boids.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/bounds-check-image-restrict.msl b/tests/out/msl/bounds-check-image-restrict.msl index 9f94ef0a6e..6a3c43f0ce 100644 --- a/tests/out/msl/bounds-check-image-restrict.msl +++ b/tests/out/msl/bounds-check-image-restrict.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.2 #include #include diff --git a/tests/out/msl/bounds-check-image-rzsw.msl b/tests/out/msl/bounds-check-image-rzsw.msl index a93014cb27..5db0c9df94 100644 --- a/tests/out/msl/bounds-check-image-rzsw.msl +++ b/tests/out/msl/bounds-check-image-rzsw.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.2 #include #include diff --git a/tests/out/msl/bounds-check-restrict.msl b/tests/out/msl/bounds-check-restrict.msl index 4191fd2765..0d41436534 100644 --- a/tests/out/msl/bounds-check-restrict.msl +++ b/tests/out/msl/bounds-check-restrict.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/bounds-check-zero-atomic.msl b/tests/out/msl/bounds-check-zero-atomic.msl index daaa079233..4a2f0b07dc 100644 --- a/tests/out/msl/bounds-check-zero-atomic.msl +++ b/tests/out/msl/bounds-check-zero-atomic.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/bounds-check-zero.msl b/tests/out/msl/bounds-check-zero.msl index c83f25b311..7bbdd50d1b 100644 --- a/tests/out/msl/bounds-check-zero.msl +++ b/tests/out/msl/bounds-check-zero.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/break-if.msl b/tests/out/msl/break-if.msl index 3a6f2e9bff..657fdf9f77 100644 --- a/tests/out/msl/break-if.msl +++ b/tests/out/msl/break-if.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/collatz.msl b/tests/out/msl/collatz.msl index 3c8bcf1722..e283741459 100644 --- a/tests/out/msl/collatz.msl +++ b/tests/out/msl/collatz.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/const-exprs.msl b/tests/out/msl/const-exprs.msl index 47b3615e13..c61ca952e7 100644 --- a/tests/out/msl/const-exprs.msl +++ b/tests/out/msl/const-exprs.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/constructors.msl b/tests/out/msl/constructors.msl index 100d6994e2..b3a0ecd896 100644 --- a/tests/out/msl/constructors.msl +++ b/tests/out/msl/constructors.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/control-flow.msl b/tests/out/msl/control-flow.msl index be396e23a8..0d0e082e41 100644 --- a/tests/out/msl/control-flow.msl +++ b/tests/out/msl/control-flow.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/do-while.msl b/tests/out/msl/do-while.msl index 6ddd59dab5..c1b4d08b0e 100644 --- a/tests/out/msl/do-while.msl +++ b/tests/out/msl/do-while.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/dualsource.msl b/tests/out/msl/dualsource.msl index 871957c81f..439e3c0d8c 100644 --- a/tests/out/msl/dualsource.msl +++ b/tests/out/msl/dualsource.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.2 #include #include diff --git a/tests/out/msl/empty-global-name.msl b/tests/out/msl/empty-global-name.msl index 1cbf9adf43..01cac3f6e0 100644 --- a/tests/out/msl/empty-global-name.msl +++ b/tests/out/msl/empty-global-name.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/empty.msl b/tests/out/msl/empty.msl index 4f8bf9f5e9..414cd22012 100644 --- a/tests/out/msl/empty.msl +++ b/tests/out/msl/empty.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/fragment-output.msl b/tests/out/msl/fragment-output.msl index 4d25809e4f..c886fc885e 100644 --- a/tests/out/msl/fragment-output.msl +++ b/tests/out/msl/fragment-output.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/functions.msl b/tests/out/msl/functions.msl index 31f57c656e..42632f99be 100644 --- a/tests/out/msl/functions.msl +++ b/tests/out/msl/functions.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/globals.msl b/tests/out/msl/globals.msl index 9d09db8055..d2ed89ed46 100644 --- a/tests/out/msl/globals.msl +++ b/tests/out/msl/globals.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/image.msl b/tests/out/msl/image.msl index e390c2e0fc..40d6e809ee 100644 --- a/tests/out/msl/image.msl +++ b/tests/out/msl/image.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/interpolate.msl b/tests/out/msl/interpolate.msl index 5d8b67111e..616291253f 100644 --- a/tests/out/msl/interpolate.msl +++ b/tests/out/msl/interpolate.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/math-functions.msl b/tests/out/msl/math-functions.msl index d0ae8c5047..d93e502dc6 100644 --- a/tests/out/msl/math-functions.msl +++ b/tests/out/msl/math-functions.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/msl-varyings.msl b/tests/out/msl/msl-varyings.msl index 62d635249a..5e5788c8c5 100644 --- a/tests/out/msl/msl-varyings.msl +++ b/tests/out/msl/msl-varyings.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/operators.msl b/tests/out/msl/operators.msl index 114865451a..960a87f01c 100644 --- a/tests/out/msl/operators.msl +++ b/tests/out/msl/operators.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/padding.msl b/tests/out/msl/padding.msl index 4d99bb4c4c..ae11b7d168 100644 --- a/tests/out/msl/padding.msl +++ b/tests/out/msl/padding.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/policy-mix.msl b/tests/out/msl/policy-mix.msl index bb7c12671a..24a40179a8 100644 --- a/tests/out/msl/policy-mix.msl +++ b/tests/out/msl/policy-mix.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/quad-vert.msl b/tests/out/msl/quad-vert.msl index 718d7aafa8..24b6cdd095 100644 --- a/tests/out/msl/quad-vert.msl +++ b/tests/out/msl/quad-vert.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/quad.msl b/tests/out/msl/quad.msl index 5fa5788aac..75fdafb6da 100644 --- a/tests/out/msl/quad.msl +++ b/tests/out/msl/quad.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/resource-binding-map.msl b/tests/out/msl/resource-binding-map.msl index b4a53d97b5..56fcea0cce 100644 --- a/tests/out/msl/resource-binding-map.msl +++ b/tests/out/msl/resource-binding-map.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/shadow.msl b/tests/out/msl/shadow.msl index 15dd042b8d..2443f002f2 100644 --- a/tests/out/msl/shadow.msl +++ b/tests/out/msl/shadow.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/standard.msl b/tests/out/msl/standard.msl index f02243eaac..e02ef7f892 100644 --- a/tests/out/msl/standard.msl +++ b/tests/out/msl/standard.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/texture-arg.msl b/tests/out/msl/texture-arg.msl index 5fb9b25649..4c173fce06 100644 --- a/tests/out/msl/texture-arg.msl +++ b/tests/out/msl/texture-arg.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/workgroup-uniform-load.msl b/tests/out/msl/workgroup-uniform-load.msl index 37a8781739..32495c198a 100644 --- a/tests/out/msl/workgroup-uniform-load.msl +++ b/tests/out/msl/workgroup-uniform-load.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include diff --git a/tests/out/msl/workgroup-var-init.msl b/tests/out/msl/workgroup-var-init.msl index ac300d4337..991c8b014b 100644 --- a/tests/out/msl/workgroup-var-init.msl +++ b/tests/out/msl/workgroup-var-init.msl @@ -1,4 +1,4 @@ -// language: metal2.0 +// language: metal1.0 #include #include