tests: improve blit check pattern
We usually use a pattern consisting of 4 bytes. For formats where a pixel has
more than 4 bytes, we zeroed out the extra bytes. This change makes the
pattern wrap.
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index 871ee49..6918e8b 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -923,8 +923,10 @@
void ImageChecker::set_solid_pattern(const std::vector<uint8_t> &solid)
{
pattern_ = SOLID;
- pattern_solid_ = solid;
- pattern_solid_.resize(buffer_cpp());
+ pattern_solid_.clear();
+ pattern_solid_.reserve(buffer_cpp());
+ for (int i = 0; i < buffer_cpp(); i++)
+ pattern_solid_.push_back(solid[i % solid.size()]);
}
XGL_SIZE ImageChecker::buffer_cpp() const
@@ -1049,8 +1051,10 @@
#undef HASH_BYTES
#undef HASH_BYTE
- std::vector<uint8_t> val(output, output + ARRAY_SIZE(output));
- val.resize(buffer_cpp());
+ std::vector<uint8_t> val;
+ val.reserve(buffer_cpp());
+ for (int i = 0; i < buffer_cpp(); i++)
+ val.push_back(output[i % 4]);
return val;
}