diff options
author | Jason Sams <rjsams@android.com> | 2009-11-24 12:26:35 -0800 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-11-24 12:26:35 -0800 |
commit | 9dab667e03632181e487a04a8a170b3fa0bd5037 (patch) | |
tree | 801dac7a03b27058d8247f9d8034df252c897f16 /libs/rs/rsAllocation.cpp | |
parent | 99f7b56fbea7e3e112fd0b570818b42a8ebd4ef5 (diff) | |
download | frameworks_base-9dab667e03632181e487a04a8a170b3fa0bd5037.zip frameworks_base-9dab667e03632181e487a04a8a170b3fa0bd5037.tar.gz frameworks_base-9dab667e03632181e487a04a8a170b3fa0bd5037.tar.bz2 |
Force a crash under conditions where white square bug in all apps is likely to occur.
Diffstat (limited to 'libs/rs/rsAllocation.cpp')
-rw-r--r-- | libs/rs/rsAllocation.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/libs/rs/rsAllocation.cpp b/libs/rs/rsAllocation.cpp index b71d10c..ff8d29f 100644 --- a/libs/rs/rsAllocation.cpp +++ b/libs/rs/rsAllocation.cpp @@ -88,7 +88,7 @@ bool Allocation::fixAllocation() return false; } -void Allocation::uploadToTexture(uint32_t lodOffset) +void Allocation::uploadToTexture(Context *rsc, uint32_t lodOffset) { //rsAssert(!mTextureId); rsAssert(lodOffset < mType->getLODCount()); @@ -102,6 +102,15 @@ void Allocation::uploadToTexture(uint32_t lodOffset) if (!mTextureID) { glGenTextures(1, &mTextureID); + + if (!mTextureID) { + // This should not happen, however, its likely the cause of the + // white sqare bug. + // Force a crash to 1: restart the app, 2: make sure we get a bugreport. + LOGE("Upload to texture failed to gen mTextureID"); + rsc->dumpDebug(); + ((char *)0)[0] = 0; + } } glBindTexture(GL_TEXTURE_2D, mTextureID); glPixelStorei(GL_UNPACK_ALIGNMENT, 1); @@ -238,7 +247,7 @@ RsAllocation rsi_AllocationCreateSized(Context *rsc, RsElement e, size_t count) void rsi_AllocationUploadToTexture(Context *rsc, RsAllocation va, uint32_t baseMipLevel) { Allocation *alloc = static_cast<Allocation *>(va); - alloc->uploadToTexture(baseMipLevel); + alloc->uploadToTexture(rsc, baseMipLevel); } void rsi_AllocationUploadToBufferObject(Context *rsc, RsAllocation va) |