From 8da690a05c80c26dae2ffecb8ea9d49355357238 Mon Sep 17 00:00:00 2001 From: "Eunki, Hong" Date: Fri, 10 Sep 2021 21:59:40 +0900 Subject: [PATCH] Fix UTC with wrong usage of Dali::Vector Some utc in ImageOperations use Dali::Vector with wrong way. This patch fix it Change-Id: Ibb94ba1d09b9c20fde6508c8768cbc37f347268d Signed-off-by: Eunki, Hong --- .../utc-Dali-ImageOperations.cpp | 67 +++++++++++----------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/automated-tests/src/dali-adaptor-internal/utc-Dali-ImageOperations.cpp b/automated-tests/src/dali-adaptor-internal/utc-Dali-ImageOperations.cpp index bc48efe..17b7c06 100644 --- a/automated-tests/src/dali-adaptor-internal/utc-Dali-ImageOperations.cpp +++ b/automated-tests/src/dali-adaptor-internal/utc-Dali-ImageOperations.cpp @@ -108,7 +108,7 @@ inline uint32_t HashPixels(const uint32_t* const pixels, unsigned int numPixels) void SetupScanlineForHalvingTestsRGBA8888(size_t scanlineLength, Dali::Vector& scanline, Dali::Vector& reference) { scanline.Resize(scanlineLength); - reference.Reserve(scanlineLength / 2 + 32); + reference.Resize(scanlineLength / 2 + 32); // Prepare some random pixels: srand(19 * 23 * 47 * 53); @@ -129,10 +129,10 @@ void SetupScanlineForHalvingTestsRGBA8888(size_t scanlineLength, Dali::Vector> 1u, (green1 + green2) >> 1u, (blue1 + blue2) >> 1u, (alpha1 + alpha2) >> 1u)); + reference[i] = (PixelRGBA8888((red1 + red2) >> 1u, (green1 + green2) >> 1u, (blue1 + blue2) >> 1u, (alpha1 + alpha2) >> 1u)); } - for(size_t i = scanlineLength / 2; i < reference.Capacity(); ++i) + for(size_t i = scanlineLength / 2; i < reference.Count(); ++i) { reference[i] = 0xEEEEEEEE; } @@ -144,7 +144,7 @@ void SetupScanlineForHalvingTestsRGBA8888(size_t scanlineLength, Dali::Vector& scanline, Dali::Vector& reference) { scanline.Resize(scanlineLength); - reference.Reserve(scanlineLength / 2 + 32); + reference.Resize(scanlineLength / 2 + 32); // Prepare some random pixels: srand48(19 * 23 * 47 * 53); @@ -163,10 +163,10 @@ void SetupScanlineForHalvingTestsRGB565(size_t scanlineLength, Dali::Vector> 1u, (green1 + green2) >> 1u, (blue1 + blue2) >> 1u)); + reference[i] = (PixelRGB565((red1 + red2) >> 1u, (green1 + green2) >> 1u, (blue1 + blue2) >> 1u)); } - for(size_t i = scanlineLength / 2; i < reference.Capacity(); ++i) + for(size_t i = scanlineLength / 2; i < reference.Count(); ++i) { reference[i] = 0xEEEE; } @@ -178,7 +178,7 @@ void SetupScanlineForHalvingTestsRGB565(size_t scanlineLength, Dali::Vector& scanline, Dali::Vector& reference) { scanline.Resize(scanlineLength * 2); - reference.Reserve(scanlineLength + 32); + reference.Resize(scanlineLength + 32); // Prepare some random pixels: srand48(19 * 23 * 47 * 53 * 59); @@ -197,11 +197,11 @@ void SetupScanlineForHalvingTests2Bytes(size_t scanlineLength, Dali::Vector> 1u); - reference.PushBack((c12 + c22) >> 1u); + reference[i * 2] = ((c11 + c21) >> 1u); + reference[i * 2 + 1] = ((c12 + c22) >> 1u); } - for(size_t i = scanlineLength; i < reference.Capacity(); ++i) + for(size_t i = scanlineLength; i < reference.Count(); ++i) { reference[i] = 0xEE; } @@ -212,8 +212,8 @@ void SetupScanlineForHalvingTests2Bytes(size_t scanlineLength, Dali::Vector& scanline, Dali::Vector& reference) { - scanline.Resize(scanlineLength * 2); - reference.Reserve(scanlineLength + 32); + scanline.Resize(scanlineLength); + reference.Resize(scanlineLength / 2 + 32); // Prepare some random pixels: srand48(19 * 23 * 47 * 53 * 63); @@ -228,10 +228,10 @@ void SetupScanlineForHalvingTests1Byte(size_t scanlineLength, Dali::Vector> 1u); + reference[i] = ((c1 + c2) >> 1u); } - for(size_t i = scanlineLength; i < reference.Capacity(); ++i) + for(size_t i = scanlineLength / 2; i < reference.Count(); ++i) { reference[i] = 0xEE; } @@ -244,12 +244,12 @@ void SetupScanlineForHalvingTests1Byte(size_t scanlineLength, Dali::Vector& scanline1, Dali::Vector& scanline2, Dali::Vector& reference, Dali::Vector& output) { - scanline1.Reserve(scanlineLength); - scanline2.Reserve(scanlineLength); - reference.Reserve(scanlineLength + 32); - output.Reserve(scanlineLength + 32); + scanline1.Resize(scanlineLength); + scanline2.Resize(scanlineLength); + reference.Resize(scanlineLength + 32); + output.Resize(scanlineLength + 32); - for(size_t i = scanlineLength; i < output.Capacity(); ++i) + for(size_t i = scanlineLength; i < output.Count(); ++i) { output[i] = 0xDEADBEEF; reference[i] = 0xDEADBEEF; @@ -270,11 +270,11 @@ void SetupScanlinesRGBA8888(size_t scanlineLength, Dali::Vector& scanl const uint32_t alpha2 = RandomComponent8(); // The average of these pixels should equal the reference: - scanline1.PushBack(PixelRGBA8888(red1, green1, blue1, alpha1)); - scanline2.PushBack(PixelRGBA8888(red2, green2, blue2, alpha2)); + scanline1[i] = (PixelRGBA8888(red1, green1, blue1, alpha1)); + scanline2[i] = (PixelRGBA8888(red2, green2, blue2, alpha2)); // Average the two pixels manually as a reference: - reference.PushBack(PixelRGBA8888((red1 + red2) >> 1u, (green1 + green2) >> 1u, (blue1 + blue2) >> 1u, (alpha1 + alpha2) >> 1u)); + reference[i] = (PixelRGBA8888((red1 + red2) >> 1u, (green1 + green2) >> 1u, (blue1 + blue2) >> 1u, (alpha1 + alpha2) >> 1u)); } } @@ -284,7 +284,7 @@ void SetupScanlinesRGBA8888(size_t scanlineLength, Dali::Vector& scanl void MatchScanlinesRGBA8888(Dali::Vector& reference, Dali::Vector& output, size_t& numMatches, const char* const location) { numMatches = 0; - for(size_t i = 0, length = reference.Capacity(); i < length; ++i) + for(size_t i = 0, length = reference.Count(); i < length; ++i) { DALI_TEST_EQUALS(output[i], reference[i], location); numMatches += output[i] == reference[i]; @@ -851,7 +851,7 @@ int UtcDaliImageOperationsHalveScanlineInPlaceRGBA8888(void) // Check that the halving matches the independently calculated reference: size_t numMatches = 0; - for(int i = 0, length = reference.Size(); i < length; ++i) + for(int i = 0, length = scanlineLength / 2; i < length; ++i) { DALI_TEST_EQUALS(scanline[i], reference[i], TEST_LOCATION); numMatches += scanline[i] == reference[i]; @@ -859,7 +859,7 @@ int UtcDaliImageOperationsHalveScanlineInPlaceRGBA8888(void) DALI_TEST_EQUALS(numMatches, scanlineLength / 2, TEST_LOCATION); // Test for no beyond-bounds writes: - for(size_t i = scanlineLength / 2; i < reference.Capacity(); ++i) + for(size_t i = scanlineLength / 2; i < reference.Count(); ++i) { DALI_TEST_EQUALS(reference[i], (uint32_t)0xEEEEEEEE, TEST_LOCATION); } @@ -881,7 +881,7 @@ int UtcDaliImageOperationsHalveScanlineInPlaceRGB565(void) // Check output against reference: size_t numMatches = 0; - for(int i = 0, length = reference.Size(); i < length; ++i) + for(int i = 0, length = scanlineLength / 2; i < length; ++i) { DALI_TEST_EQUALS(scanline[i], reference[i], TEST_LOCATION); numMatches += scanline[i] == reference[i]; @@ -889,7 +889,7 @@ int UtcDaliImageOperationsHalveScanlineInPlaceRGB565(void) DALI_TEST_EQUALS(numMatches, scanlineLength / 2, TEST_LOCATION); // Test for no beyond-bounds writes: - for(size_t i = scanlineLength / 2; i < reference.Capacity(); ++i) + for(size_t i = scanlineLength / 2; i < reference.Count(); ++i) { DALI_TEST_EQUALS(reference[i], (uint16_t)0xEEEE, TEST_LOCATION); } @@ -911,7 +911,7 @@ int UtcDaliImageOperationsHalveScanlineInPlace2Bytes(void) // Test the output against the reference (no differences): size_t numMatches = 0; - for(int i = 0, length = reference.Size(); i < length; ++i) + for(int i = 0, length = scanlineLength; i < length; ++i) { DALI_TEST_EQUALS(1u * scanline[i], 1u * reference[i], TEST_LOCATION); numMatches += scanline[i] == reference[i]; @@ -936,11 +936,12 @@ int UtcDaliImageOperationsHalveScanlineInPlace1Byte(void) // Test the reference matches the output: size_t numMatches = 0; - for(int i = 0, length = reference.Size(); i < length; ++i) + for(int i = 0, length = scanlineLength / 2; i < length; ++i) { DALI_TEST_EQUALS(1u * scanline[i], 1u * reference[i], TEST_LOCATION); numMatches += scanline[i] == reference[i]; } + // Only half will be matched DALI_TEST_EQUALS(numMatches, scanlineLength / 2, TEST_LOCATION); END_TEST; @@ -975,7 +976,7 @@ int UtcDaliImageOperationsAverageScanlines1(void) // Check the output matches the independently generated reference: size_t numMatches = 0; MatchScanlinesRGBA8888(reference, output, numMatches, TEST_LOCATION); - DALI_TEST_EQUALS(numMatches, reference.Capacity(), TEST_LOCATION); + DALI_TEST_EQUALS(numMatches, reference.Count(), TEST_LOCATION); END_TEST; } @@ -1010,7 +1011,7 @@ int UtcDaliImageOperationsAverageScanlines2(void) // Check the output matches the independently generated reference: size_t numMatches = 0; MatchScanlinesRGBA8888(reference, output, numMatches, TEST_LOCATION); - DALI_TEST_EQUALS(numMatches, reference.Capacity(), TEST_LOCATION); + DALI_TEST_EQUALS(numMatches, reference.Count(), TEST_LOCATION); END_TEST; } @@ -1044,7 +1045,7 @@ int UtcDaliImageOperationsAverageScanlines3(void) // Check the output matches the independently generated reference: size_t numMatches = 0; MatchScanlinesRGBA8888(reference, output, numMatches, TEST_LOCATION); - DALI_TEST_EQUALS(numMatches, reference.Capacity(), TEST_LOCATION); + DALI_TEST_EQUALS(numMatches, reference.Count(), TEST_LOCATION); END_TEST; } @@ -1066,7 +1067,7 @@ int UtcDaliImageOperationsAverageScanlinesRGBA8888(void) // Check the output matches the independently generated reference: size_t numMatches = 0; MatchScanlinesRGBA8888(reference, output, numMatches, TEST_LOCATION); - DALI_TEST_EQUALS(numMatches, reference.Capacity(), TEST_LOCATION); + DALI_TEST_EQUALS(numMatches, reference.Count(), TEST_LOCATION); END_TEST; } -- 2.7.4