Index: tests/ReadWriteAlphaTest.cpp |
diff --git a/tests/ReadWriteAlphaTest.cpp b/tests/ReadWriteAlphaTest.cpp |
index 851cf4e5018074b9b2f3c4b2f91701458a98ac14..1f235fd97a5ec740826857e26068c902c28568ac 100644 |
--- a/tests/ReadWriteAlphaTest.cpp |
+++ b/tests/ReadWriteAlphaTest.cpp |
@@ -36,6 +36,8 @@ static void validate_alpha_data(skiatest::Reporter* reporter, int w, int h, cons |
DEF_GPUTEST_FOR_GL_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { |
unsigned char alphaData[X_SIZE * Y_SIZE]; |
+ static const int kClearValue = 0x2; |
+ |
bool match; |
static const size_t kRowBytes[] = {0, X_SIZE, X_SIZE + 1, 2 * X_SIZE - 1}; |
for (int rt = 0; rt < 2; ++rt) { |
@@ -68,21 +70,23 @@ DEF_GPUTEST_FOR_GL_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { |
for (auto rowBytes : kRowBytes) { |
// upload the texture (do per-rowbytes iteration because we may overwrite below). |
- texture->writePixels(0, 0, desc.fWidth, desc.fHeight, desc.fConfig, |
- alphaData, 0); |
+ bool result = texture->writePixels(0, 0, desc.fWidth, desc.fHeight, desc.fConfig, |
+ alphaData, 0); |
+ REPORTER_ASSERT_MESSAGE(reporter, result, "Initial A8 writePixels failed"); |
size_t nonZeroRowBytes = rowBytes ? rowBytes : X_SIZE; |
SkAutoTDeleteArray<uint8_t> readback(new uint8_t[nonZeroRowBytes * Y_SIZE]); |
// clear readback to something non-zero so we can detect readback failures |
- memset(readback.get(), 0x1, nonZeroRowBytes * Y_SIZE); |
+ memset(readback.get(), kClearValue, nonZeroRowBytes * Y_SIZE); |
// read the texture back |
- texture->readPixels(0, 0, desc.fWidth, desc.fHeight, desc.fConfig, |
- readback.get(), rowBytes); |
+ result = texture->readPixels(0, 0, desc.fWidth, desc.fHeight, desc.fConfig, |
+ readback.get(), rowBytes); |
+ REPORTER_ASSERT_MESSAGE(reporter, result, "Initial A8 readPixels failed"); |
// make sure the original & read back versions match |
SkString msg; |
- msg.printf("rt:%d, rb:%d", rt, SkToU32(rowBytes)); |
+ msg.printf("rt:%d, rb:%d A8", rt, SkToU32(rowBytes)); |
validate_alpha_data(reporter, X_SIZE, Y_SIZE, readback.get(), nonZeroRowBytes, |
alphaData, msg); |
@@ -101,9 +105,10 @@ DEF_GPUTEST_FOR_GL_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { |
canvas.drawRect(rect, paint); |
- memset(readback.get(), 0x1, nonZeroRowBytes * Y_SIZE); |
- texture->readPixels(0, 0, desc.fWidth, desc.fHeight, desc.fConfig, readback.get(), |
- rowBytes); |
+ memset(readback.get(), kClearValue, nonZeroRowBytes * Y_SIZE); |
+ result = texture->readPixels(0, 0, desc.fWidth, desc.fHeight, |
+ desc.fConfig, readback.get(), rowBytes); |
+ REPORTER_ASSERT_MESSAGE(reporter, result, "A8 readPixels after clear failed"); |
match = true; |
for (int y = 0; y < Y_SIZE && match; ++y) { |
@@ -166,15 +171,17 @@ DEF_GPUTEST_FOR_GL_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { |
SkAutoTDeleteArray<uint8_t> readback(new uint8_t[nonZeroRowBytes * Y_SIZE]); |
// Clear so we don't accidentally see values from previous iteration. |
- memset(readback.get(), 0x0, nonZeroRowBytes * Y_SIZE); |
+ memset(readback.get(), kClearValue, nonZeroRowBytes * Y_SIZE); |
// read the texture back |
- texture->readPixels(0, 0, desc.fWidth, desc.fHeight, kAlpha_8_GrPixelConfig, |
- readback.get(), rowBytes); |
+ bool result = texture->readPixels(0, 0, desc.fWidth, desc.fHeight, |
+ kAlpha_8_GrPixelConfig, |
+ readback.get(), rowBytes); |
+ REPORTER_ASSERT_MESSAGE(reporter, result, "8888 readPixels failed"); |
// make sure the original & read back versions match |
SkString msg; |
- msg.printf("rt:%d, rb:%d", rt, SkToU32(rowBytes)); |
+ msg.printf("rt:%d, rb:%d 8888", rt, SkToU32(rowBytes)); |
validate_alpha_data(reporter, X_SIZE, Y_SIZE, readback.get(), nonZeroRowBytes, |
alphaData, msg); |
} |