Added support for running tests on architectures other than x86_64.

This commit is contained in:
Kirill Kuzminykh
2021-11-26 10:21:24 +03:00
parent 52f92fda6b
commit 769355df03
3 changed files with 22 additions and 6 deletions
+4
View File
@@ -75,11 +75,13 @@ fn multiply_alpha_test(cpu_extensions: CpuExtensions) {
}
}
#[cfg(target_arch = "x86_64")]
#[test]
fn multiply_alpha_avx2_test() {
multiply_alpha_test(CpuExtensions::Avx2);
}
#[cfg(target_arch = "x86_64")]
#[test]
fn multiply_alpha_sse2_test() {
multiply_alpha_test(CpuExtensions::Sse2);
@@ -154,11 +156,13 @@ fn divide_alpha_test(cpu_extensions: CpuExtensions) {
}
}
#[cfg(target_arch = "x86_64")]
#[test]
fn divide_alpha_avx2_test() {
divide_alpha_test(CpuExtensions::Avx2);
}
#[cfg(target_arch = "x86_64")]
#[test]
fn divide_alpha_sse2_test() {
divide_alpha_test(CpuExtensions::Sse2);
+1
View File
@@ -59,6 +59,7 @@ fn resize_image_example() {
.unwrap();
}
#[cfg(target_arch = "x86_64")]
fn main() {
let mut resizer = fr::Resizer::new(fr::ResizeAlg::Convolution(fr::FilterType::Lanczos3));
unsafe {
+17 -6
View File
@@ -70,6 +70,7 @@ fn save_result(image: &Image, name: &str) {
.unwrap();
}
#[cfg(target_arch = "x86_64")]
#[test]
fn resize_avx2_lanczos3_upscale_test() {
let image = get_small_source_image();
@@ -207,8 +208,11 @@ fn resize_test<P: PixelExt>(resize_alg: ResizeAlg, cpu_extensions: CpuExtensions
let ext_name = match cpu_extensions {
CpuExtensions::None => "native",
#[cfg(target_arch = "x86_64")]
CpuExtensions::Sse2 => "sse2",
#[cfg(target_arch = "x86_64")]
CpuExtensions::Sse4_1 => "sse41",
#[cfg(target_arch = "x86_64")]
CpuExtensions::Avx2 => "avx2",
};
@@ -220,7 +224,12 @@ fn resize_test<P: PixelExt>(resize_alg: ResizeAlg, cpu_extensions: CpuExtensions
fn resize_u8() {
type P = U8;
resize_test::<P>(ResizeAlg::Nearest, CpuExtensions::None);
for cpu_extensions in [CpuExtensions::None, CpuExtensions::Avx2] {
let mut cpu_extensions_vec = vec![CpuExtensions::None];
#[cfg(target_arch = "x86_64")]
{
cpu_extensions_vec.push(CpuExtensions::Avx2);
}
for cpu_extensions in cpu_extensions_vec {
resize_test::<P>(ResizeAlg::Convolution(FilterType::Lanczos3), cpu_extensions);
}
}
@@ -238,11 +247,13 @@ fn resize_u8x3() {
fn resize_u8x4() {
type P = U8x4;
resize_test::<P>(ResizeAlg::Nearest, CpuExtensions::None);
for cpu_extensions in [
CpuExtensions::None,
CpuExtensions::Sse4_1,
CpuExtensions::Avx2,
] {
let mut cpu_extensions_vec = vec![CpuExtensions::None];
#[cfg(target_arch = "x86_64")]
{
cpu_extensions_vec.push(CpuExtensions::Sse4_1);
cpu_extensions_vec.push(CpuExtensions::Avx2);
}
for cpu_extensions in cpu_extensions_vec {
resize_test::<P>(ResizeAlg::Convolution(FilterType::Lanczos3), cpu_extensions);
resize_test::<P>(
ResizeAlg::SuperSampling(FilterType::Lanczos3, 2),