Take further steps to disable neon in qcms.
authorPeter Michael Green <plugwash@raspbian.org>
Thu, 9 Dec 2021 22:16:40 +0000 (22:16 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Tue, 21 Dec 2021 17:22:23 +0000 (17:22 +0000)
debian/patches/disable-neon-in-qcms.patch
gfx/qcms/src/lib.rs
gfx/qcms/src/transform.rs

index 933022227b2cb050923609a28efa29f6b708728d..1446e8a311cbc04c22ccf6b43c25f96ea401f13e 100644 (file)
@@ -41,3 +41,54 @@ index b08fc9490b..3f5ad40145 100644
  
  extern bool qcms_supports_iccv4;
  extern bool qcms_supports_neon;
+diff --git a/gfx/qcms/src/lib.rs b/gfx/qcms/src/lib.rs
+index 7987ae2f31..d432ab5e5a 100644
+--- a/gfx/qcms/src/lib.rs
++++ b/gfx/qcms/src/lib.rs
+@@ -62,8 +62,8 @@ pub use transform::DataType;
+ pub use transform::Transform;
+ #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
+ mod transform_avx;
+-#[cfg(all(any(target_arch = "aarch64", target_arch = "arm"), feature = "neon"))]
+-mod transform_neon;
++//#[cfg(all(any(target_arch = "aarch64", target_arch = "arm"), feature = "neon"))]
++//mod transform_neon;
+ #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
+ mod transform_sse2;
+ mod transform_util;
+diff --git a/gfx/qcms/src/transform.rs b/gfx/qcms/src/transform.rs
+index f3d9e8b4c4..b5e5351837 100644
+--- a/gfx/qcms/src/transform.rs
++++ b/gfx/qcms/src/transform.rs
+@@ -21,11 +21,11 @@
+ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+-#[cfg(all(any(target_arch = "arm", target_arch = "aarch64"), feature = "neon"))]
++/*#[cfg(all(any(target_arch = "arm", target_arch = "aarch64"), feature = "neon"))]
+ use crate::transform_neon::{
+     qcms_transform_data_bgra_out_lut_neon, qcms_transform_data_rgb_out_lut_neon,
+     qcms_transform_data_rgba_out_lut_neon,
+-};
++};*/
+ use crate::{
+     chain::chain_transform,
+     double_to_s15Fixed16Number,
+@@ -1364,7 +1364,7 @@ pub fn transform_create(
+                 }
+             }
+-            #[cfg(all(target_arch = "arm", feature = "neon"))]
++            /*#[cfg(all(target_arch = "arm", feature = "neon"))]
+             let neon_supported = is_arm_feature_detected!("neon");
+             #[cfg(all(target_arch = "aarch64", feature = "neon"))]
+             let neon_supported = is_aarch64_feature_detected!("neon");
+@@ -1378,7 +1378,7 @@ pub fn transform_create(
+                 } else if in_type == BGRA8 {
+                     transform.transform_fn = Some(qcms_transform_data_bgra_out_lut_neon)
+                 }
+-            }
++            }*/
+             if transform.transform_fn.is_none() {
+                 if in_type == RGB8 {
index 7987ae2f317d58ab7a9df2a1926b8e29ffdc802f..d432ab5e5a23dc854c72a7102b8ddb27a87175bc 100644 (file)
@@ -62,8 +62,8 @@ pub use transform::DataType;
 pub use transform::Transform;
 #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
 mod transform_avx;
-#[cfg(all(any(target_arch = "aarch64", target_arch = "arm"), feature = "neon"))]
-mod transform_neon;
+//#[cfg(all(any(target_arch = "aarch64", target_arch = "arm"), feature = "neon"))]
+//mod transform_neon;
 #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
 mod transform_sse2;
 mod transform_util;
index f3d9e8b4c4cdc212f70a130180a3f04ee82bedb7..b5e5351837136c236ef846d6f0d0ba23065965b1 100644 (file)
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-#[cfg(all(any(target_arch = "arm", target_arch = "aarch64"), feature = "neon"))]
+/*#[cfg(all(any(target_arch = "arm", target_arch = "aarch64"), feature = "neon"))]
 use crate::transform_neon::{
     qcms_transform_data_bgra_out_lut_neon, qcms_transform_data_rgb_out_lut_neon,
     qcms_transform_data_rgba_out_lut_neon,
-};
+};*/
 use crate::{
     chain::chain_transform,
     double_to_s15Fixed16Number,
@@ -1364,7 +1364,7 @@ pub fn transform_create(
                 }
             }
 
-            #[cfg(all(target_arch = "arm", feature = "neon"))]
+            /*#[cfg(all(target_arch = "arm", feature = "neon"))]
             let neon_supported = is_arm_feature_detected!("neon");
             #[cfg(all(target_arch = "aarch64", feature = "neon"))]
             let neon_supported = is_aarch64_feature_detected!("neon");
@@ -1378,7 +1378,7 @@ pub fn transform_create(
                 } else if in_type == BGRA8 {
                     transform.transform_fn = Some(qcms_transform_data_bgra_out_lut_neon)
                 }
-            }
+            }*/
 
             if transform.transform_fn.is_none() {
                 if in_type == RGB8 {