Loading libs/rs/rsAllocation.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,17 @@ Allocation::~Allocation() { free(mPtr); mPtr = NULL; if (mBufferID) { // Causes a SW crash.... //LOGV(" mBufferID %i", mBufferID); //glDeleteBuffers(1, &mBufferID); //mBufferID = 0; } if (mTextureID) { glDeleteTextures(1, &mTextureID); mTextureID = 0; } } void Allocation::setCpuWritable(bool) Loading libs/rs/rsContext.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -342,6 +342,9 @@ void * Context::threadProc(void *vrsc) rsc->mStateFragmentStore.deinit(rsc); ObjectBase::zeroAllUserRef(rsc); rsc->mObjDestroy.mNeedToEmpty = true; rsc->objDestroyOOBRun(); glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT); eglSwapBuffers(rsc->mEGL.mDisplay, rsc->mEGL.mSurface); Loading @@ -350,8 +353,6 @@ void * Context::threadProc(void *vrsc) rsc->deinitEGL(); pthread_mutex_unlock(&gInitMutex); rsc->mObjDestroy.mNeedToEmpty = true; rsc->objDestroyOOBRun(); LOGV("RS Thread exited"); return NULL; } Loading libs/rs/rsObjectBase.cpp +1 −6 Original line number Diff line number Diff line Loading @@ -113,12 +113,7 @@ bool ObjectBase::decSysRef() const void ObjectBase::setName(const char *name) { delete mName; mName = NULL; if (name) { mName = new char[strlen(name) +1]; strcpy(mName, name); } setName(name, strlen(name)); } void ObjectBase::setName(const char *name, uint32_t len) Loading libs/rs/rsScript.h +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ public: ObjectBaseRef<ProgramRaster> mRaster; ObjectBaseRef<ProgramFragmentStore> mFragmentStore; InvokeFunc_t mInvokables[MAX_SCRIPT_BANKS]; const char * mScriptText; char * mScriptText; uint32_t mScriptTextLength; }; Enviroment_t mEnviroment; Loading libs/rs/rsScriptC.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -46,6 +46,8 @@ ScriptC::~ScriptC() if (mAccScript) { accDeleteScript(mAccScript); } free(mEnviroment.mScriptText); mEnviroment.mScriptText = NULL; } void ScriptC::setupScript() Loading Loading @@ -404,7 +406,11 @@ void rsi_ScriptCSetScript(Context * rsc, void *vp) void rsi_ScriptCSetText(Context *rsc, const char *text, uint32_t len) { ScriptCState *ss = &rsc->mScriptC; ss->mScript->mEnviroment.mScriptText = text; char *t = (char *)malloc(len + 1); memcpy(t, text, len); t[len] = 0; ss->mScript->mEnviroment.mScriptText = t; ss->mScript->mEnviroment.mScriptTextLength = len; } Loading Loading
libs/rs/rsAllocation.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,17 @@ Allocation::~Allocation() { free(mPtr); mPtr = NULL; if (mBufferID) { // Causes a SW crash.... //LOGV(" mBufferID %i", mBufferID); //glDeleteBuffers(1, &mBufferID); //mBufferID = 0; } if (mTextureID) { glDeleteTextures(1, &mTextureID); mTextureID = 0; } } void Allocation::setCpuWritable(bool) Loading
libs/rs/rsContext.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -342,6 +342,9 @@ void * Context::threadProc(void *vrsc) rsc->mStateFragmentStore.deinit(rsc); ObjectBase::zeroAllUserRef(rsc); rsc->mObjDestroy.mNeedToEmpty = true; rsc->objDestroyOOBRun(); glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT); eglSwapBuffers(rsc->mEGL.mDisplay, rsc->mEGL.mSurface); Loading @@ -350,8 +353,6 @@ void * Context::threadProc(void *vrsc) rsc->deinitEGL(); pthread_mutex_unlock(&gInitMutex); rsc->mObjDestroy.mNeedToEmpty = true; rsc->objDestroyOOBRun(); LOGV("RS Thread exited"); return NULL; } Loading
libs/rs/rsObjectBase.cpp +1 −6 Original line number Diff line number Diff line Loading @@ -113,12 +113,7 @@ bool ObjectBase::decSysRef() const void ObjectBase::setName(const char *name) { delete mName; mName = NULL; if (name) { mName = new char[strlen(name) +1]; strcpy(mName, name); } setName(name, strlen(name)); } void ObjectBase::setName(const char *name, uint32_t len) Loading
libs/rs/rsScript.h +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ public: ObjectBaseRef<ProgramRaster> mRaster; ObjectBaseRef<ProgramFragmentStore> mFragmentStore; InvokeFunc_t mInvokables[MAX_SCRIPT_BANKS]; const char * mScriptText; char * mScriptText; uint32_t mScriptTextLength; }; Enviroment_t mEnviroment; Loading
libs/rs/rsScriptC.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -46,6 +46,8 @@ ScriptC::~ScriptC() if (mAccScript) { accDeleteScript(mAccScript); } free(mEnviroment.mScriptText); mEnviroment.mScriptText = NULL; } void ScriptC::setupScript() Loading Loading @@ -404,7 +406,11 @@ void rsi_ScriptCSetScript(Context * rsc, void *vp) void rsi_ScriptCSetText(Context *rsc, const char *text, uint32_t len) { ScriptCState *ss = &rsc->mScriptC; ss->mScript->mEnviroment.mScriptText = text; char *t = (char *)malloc(len + 1); memcpy(t, text, len); t[len] = 0; ss->mScript->mEnviroment.mScriptText = t; ss->mScript->mEnviroment.mScriptTextLength = len; } Loading