Keeping asserts in release.
We have a bug that is showing up occasionally in Canary.
I want to see if these asserts could provide insight into why the bug
happens.
BUG=643845
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2342903003
Review-Url: https://codereview.chromium.org/2342903003
diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp
index 06ec224..7eb728f 100644
--- a/src/image/SkImage_Gpu.cpp
+++ b/src/image/SkImage_Gpu.cpp
@@ -583,7 +583,6 @@
FILL_MEMBER(dtiBufferFiller, fColorTableCnt, &ctCount);
FILL_MEMBER(dtiBufferFiller, fColorTableData, &ct);
FILL_MEMBER(dtiBufferFiller, fMipMapLevelCount, &mipMapLevelCount);
-// FILL_MEMBER(dtiBufferFiller, fMipMapLevelCount[0].fPixelData, &pixels);
memcpy(reinterpret_cast<void*>(bufferAsInt +
offsetof(DeferredTextureImage, fMipMapLevelData[0].fPixelData)),
&pixels, sizeof(pixels));
@@ -605,11 +604,11 @@
}
// Fill in the mipmap levels if they exist
- intptr_t mipLevelPtr = bufferAsInt + pixelOffset + SkAlign8(pixmap.getSafeSize());
+ intptr_t mipLevelPtr = pixelsAsInt + SkAlign8(pixmap.getSafeSize());
if (useMipMaps) {
- // offsetof, which we use below, requires the type have standard layout
- SkASSERT(std::is_standard_layout<MipMapLevelData>::value);
+ static_assert(std::is_standard_layout<MipMapLevelData>::value,
+ "offsetof, which we use below, requires the type have a standard layout");
SkAutoTDelete<SkMipMap> mipmaps(SkMipMap::Build(pixmap, gammaTreatment, nullptr));
// SkMipMap holds only the mipmap levels it generates.
@@ -626,11 +625,11 @@
mipmaps->getLevel(generatedMipLevelIndex, &mipLevel);
// Make sure the mipmap data is after the start of the buffer
- SkASSERT(mipLevelPtr > bufferAsInt);
+ SkASSERT_RELEASE(mipLevelPtr > bufferAsInt);
// Make sure the mipmap data starts before the end of the buffer
- SkASSERT(static_cast<size_t>(mipLevelPtr) < bufferAsInt + pixelOffset + pixelSize);
+ SkASSERT_RELEASE(static_cast<size_t>(mipLevelPtr) < bufferAsInt + pixelOffset + pixelSize);
// Make sure the mipmap data ends before the end of the buffer
- SkASSERT(mipLevelPtr + mipLevel.fPixmap.getSafeSize() <=
+ SkASSERT_RELEASE(mipLevelPtr + mipLevel.fPixmap.getSafeSize() <=
bufferAsInt + pixelOffset + pixelSize);
// getSafeSize includes rowbyte padding except for the last row,