Loading libs/rs/rsAllocation.cpp +11 −2 Original line number Diff line number Diff line Loading @@ -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()); Loading @@ -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); Loading Loading @@ -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) Loading libs/rs/rsAllocation.h +1 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ public: void * getPtr() const {return mPtr;} const Type * getType() const {return mType.get();} void uploadToTexture(uint32_t lodOffset = 0); void uploadToTexture(Context *rsc, uint32_t lodOffset = 0); uint32_t getTextureID() const {return mTextureID;} void uploadToBufferObject(); Loading libs/rs/rsContext.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -726,6 +726,24 @@ void Context::deinitToClient() mIO.mToClient.shutdown(); } void Context::dumpDebug() const { LOGE("RS Context debug %p", this); LOGE("RS Context debug"); LOGE(" EGL ver %i %i", mEGL.mMajorVersion, mEGL.mMinorVersion); LOGE(" EGL context %p surface %p, w=%i h=%i Display=%p", mEGL.mContext, mEGL.mSurface, mEGL.mWidth, mEGL.mHeight, mEGL.mDisplay); LOGE(" GL vendor: %s", mGL.mVendor); LOGE(" GL renderer: %s", mGL.mRenderer); LOGE(" GL Version: %s", mGL.mVersion); LOGE(" GL Extensions: %s", mGL.mExtensions); LOGE(" GL int Versions %i %i", mGL.mMajorVersion, mGL.mMinorVersion); LOGE(" RS width %i, height %i", mWidth, mHeight); LOGE(" RS running %i, exit %i, useDepth %i, paused %i", mRunning, mExit, mUseDepth, mPaused); LOGE(" RS pThreadID %li, nativeThreadID %i", mThreadId, mNativeThreadId); } /////////////////////////////////////////////////////////////////////////////////////////// // Loading libs/rs/rsContext.h +2 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,8 @@ public: bool mLogObjects; } props; void dumpDebug() const; mutable const ObjectBase * mObjHead; protected: Loading Loading
libs/rs/rsAllocation.cpp +11 −2 Original line number Diff line number Diff line Loading @@ -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()); Loading @@ -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); Loading Loading @@ -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) Loading
libs/rs/rsAllocation.h +1 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ public: void * getPtr() const {return mPtr;} const Type * getType() const {return mType.get();} void uploadToTexture(uint32_t lodOffset = 0); void uploadToTexture(Context *rsc, uint32_t lodOffset = 0); uint32_t getTextureID() const {return mTextureID;} void uploadToBufferObject(); Loading
libs/rs/rsContext.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -726,6 +726,24 @@ void Context::deinitToClient() mIO.mToClient.shutdown(); } void Context::dumpDebug() const { LOGE("RS Context debug %p", this); LOGE("RS Context debug"); LOGE(" EGL ver %i %i", mEGL.mMajorVersion, mEGL.mMinorVersion); LOGE(" EGL context %p surface %p, w=%i h=%i Display=%p", mEGL.mContext, mEGL.mSurface, mEGL.mWidth, mEGL.mHeight, mEGL.mDisplay); LOGE(" GL vendor: %s", mGL.mVendor); LOGE(" GL renderer: %s", mGL.mRenderer); LOGE(" GL Version: %s", mGL.mVersion); LOGE(" GL Extensions: %s", mGL.mExtensions); LOGE(" GL int Versions %i %i", mGL.mMajorVersion, mGL.mMinorVersion); LOGE(" RS width %i, height %i", mWidth, mHeight); LOGE(" RS running %i, exit %i, useDepth %i, paused %i", mRunning, mExit, mUseDepth, mPaused); LOGE(" RS pThreadID %li, nativeThreadID %i", mThreadId, mNativeThreadId); } /////////////////////////////////////////////////////////////////////////////////////////// // Loading
libs/rs/rsContext.h +2 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,8 @@ public: bool mLogObjects; } props; void dumpDebug() const; mutable const ObjectBase * mObjHead; protected: Loading