diff options
| author | Jason Sams <rjsams@android.com> | 2010-11-17 15:29:32 -0800 |
|---|---|---|
| committer | Jason Sams <rjsams@android.com> | 2010-11-17 15:29:32 -0800 |
| commit | 60709257bbdeb0c50f39b9c8969dc76264d6e142 (patch) | |
| tree | 1e511f376d05763a598a583fbb41c703e15111cb /rsContext.h | |
| parent | a5eb6e17c08426deeedf989d6be280d89662ee82 (diff) | |
| download | android_frameworks_rs-60709257bbdeb0c50f39b9c8969dc76264d6e142.tar.gz android_frameworks_rs-60709257bbdeb0c50f39b9c8969dc76264d6e142.tar.bz2 android_frameworks_rs-60709257bbdeb0c50f39b9c8969dc76264d6e142.zip | |
Create holder inner class for pushing context state.
Fix bug with rsForEach corrupting parent context state.
Remove workaround from rsBalls.
Change-Id: I43a948536e70d44645d1c2ef7b97e1c5906f6943
Diffstat (limited to 'rsContext.h')
| -rw-r--r-- | rsContext.h | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/rsContext.h b/rsContext.h index 6945342d..c377c730 100644 --- a/rsContext.h +++ b/rsContext.h @@ -80,6 +80,21 @@ public: Context * mContext; Script * mScript; }; + + class PushState { + public: + PushState(Context *); + ~PushState(); + + private: + ObjectBaseRef<ProgramFragment> mFragment; + ObjectBaseRef<ProgramVertex> mVertex; + ObjectBaseRef<ProgramStore> mStore; + ObjectBaseRef<ProgramRaster> mRaster; + ObjectBaseRef<Font> mFont; + Context *mRsc; + }; + ScriptTLSStruct *mTlsStruct; RsSurfaceConfig mUserSurfaceConfig; @@ -101,18 +116,18 @@ public: void swapBuffers(); void setRootScript(Script *); - void setRaster(ProgramRaster *); - void setVertex(ProgramVertex *); - void setFragment(ProgramFragment *); - void setFragmentStore(ProgramStore *); + void setProgramRaster(ProgramRaster *); + void setProgramVertex(ProgramVertex *); + void setProgramFragment(ProgramFragment *); + void setProgramStore(ProgramStore *); void setFont(Font *); void updateSurface(void *sur); - const ProgramFragment * getFragment() {return mFragment.get();} - const ProgramStore * getFragmentStore() {return mFragmentStore.get();} - const ProgramRaster * getRaster() {return mRaster.get();} - const ProgramVertex * getVertex() {return mVertex.get();} + ProgramFragment * getProgramFragment() {return mFragment.get();} + ProgramStore * getProgramStore() {return mFragmentStore.get();} + ProgramRaster * getProgramRaster() {return mRaster.get();} + ProgramVertex * getProgramVertex() {return mVertex.get();} Font * getFont() {return mFont.get();} bool setupCheck(); |
