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
This commit is contained in:
parent
faf8203ea7
commit
94ddf54a6d
@ -583,7 +583,6 @@ size_t SkImage::getDeferredTextureImageData(const GrContextThreadSafeProxy& prox
|
||||
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 @@ size_t SkImage::getDeferredTextureImageData(const GrContextThreadSafeProxy& prox
|
||||
}
|
||||
|
||||
// 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 @@ size_t SkImage::getDeferredTextureImageData(const GrContextThreadSafeProxy& prox
|
||||
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,
|
||||
|
Loading…
Reference in New Issue
Block a user