Browse Source

Added avx/no-avx runs to every Vector API based test

pull/1864/head
Dmitry Pentin 5 years ago
parent
commit
9ec9b5a987
  1. 87
      tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs

87
tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs

@ -9,7 +9,7 @@ using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder;
using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.ColorConverters;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.Tests.Colorspaces.Conversion;
using SixLabors.ImageSharp.Tests.TestUtilities;
using Xunit;
using Xunit.Abstractions;
@ -64,6 +64,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
var converter = JpegColorConverterBase.GetConverter(colorSpace, precision);
Assert.NotNull(converter);
Assert.True(converter.IsAvailable);
Assert.Equal(colorSpace, converter.ColorSpace);
Assert.Equal(precision, converter.Precision);
}
@ -76,8 +77,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
[InlineData(JpegColorSpace.YCbCr, 3)]
internal void ConvertWithSelectedConverter(JpegColorSpace colorSpace, int componentCount)
{
var converter = JpegColorConverterBase.GetConverter(colorSpace, 8);
ValidateConversion(
colorSpace,
converter,
componentCount,
1);
}
@ -105,10 +107,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
return;
}
ValidateConversion(
converter,
3,
seed);
FeatureTestRunner.RunWithHwIntrinsicsFeature(
RunTest,
seed,
HwIntrinsics.AllowAll | HwIntrinsics.DisableAVX);
static void RunTest(string arg) =>
ValidateConversion(
new JpegColorConverterBase.FromYCbCrVector(8),
3,
FeatureTestRunner.Deserialize<int>(arg));
}
#if SUPPORTS_RUNTIME_INTRINSICS
@ -155,10 +163,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
return;
}
ValidateConversion(
converter,
4,
seed);
FeatureTestRunner.RunWithHwIntrinsicsFeature(
RunTest,
seed,
HwIntrinsics.AllowAll | HwIntrinsics.DisableAVX);
static void RunTest(string arg) =>
ValidateConversion(
new JpegColorConverterBase.FromCmykVector(8),
4,
FeatureTestRunner.Deserialize<int>(arg));
}
#if SUPPORTS_RUNTIME_INTRINSICS
@ -205,10 +219,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
return;
}
ValidateConversion(
converter,
1,
seed);
FeatureTestRunner.RunWithHwIntrinsicsFeature(
RunTest,
seed,
HwIntrinsics.AllowAll | HwIntrinsics.DisableAVX);
static void RunTest(string arg) =>
ValidateConversion(
new JpegColorConverterBase.FromGrayScaleVector(8),
1,
FeatureTestRunner.Deserialize<int>(arg));
}
#if SUPPORTS_RUNTIME_INTRINSICS
@ -255,10 +275,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
return;
}
ValidateConversion(
converter,
3,
seed);
FeatureTestRunner.RunWithHwIntrinsicsFeature(
RunTest,
seed,
HwIntrinsics.AllowAll | HwIntrinsics.DisableAVX);
static void RunTest(string arg) =>
ValidateConversion(
new JpegColorConverterBase.FromRgbVector(8),
3,
FeatureTestRunner.Deserialize<int>(arg));
}
#if SUPPORTS_RUNTIME_INTRINSICS
@ -305,10 +331,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
return;
}
ValidateConversion(
converter,
4,
seed);
FeatureTestRunner.RunWithHwIntrinsicsFeature(
RunTest,
seed,
HwIntrinsics.AllowAll | HwIntrinsics.DisableAVX);
static void RunTest(string arg) =>
ValidateConversion(
new JpegColorConverterBase.FromYccKVector(8),
4,
FeatureTestRunner.Deserialize<int>(arg));
}
#if SUPPORTS_RUNTIME_INTRINSICS
@ -361,17 +393,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
return new JpegColorConverterBase.ComponentValues(buffers, 0);
}
private static void ValidateConversion(
JpegColorSpace colorSpace,
int componentCount,
int seed)
{
ValidateConversion(
JpegColorConverterBase.GetConverter(colorSpace, 8),
componentCount,
seed);
}
private static void ValidateConversion(
JpegColorConverterBase converter,
int componentCount,

Loading…
Cancel
Save