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 | a17af04e62a3f40f729e7ebb8bd868d192e18405 (patch) | |
| tree | 1cbd4b4e3fcb86d318b2825758fcf89733adf3e0 /libs/rs/rsContext.h | |
| parent | 81c4cea9ec4b08f8c06fdef86d51069adb739eb7 (diff) | |
| download | frameworks_base-a17af04e62a3f40f729e7ebb8bd868d192e18405.zip frameworks_base-a17af04e62a3f40f729e7ebb8bd868d192e18405.tar.gz frameworks_base-a17af04e62a3f40f729e7ebb8bd868d192e18405.tar.bz2 | |
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 'libs/rs/rsContext.h')
| -rw-r--r-- | libs/rs/rsContext.h | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/libs/rs/rsContext.h b/libs/rs/rsContext.h index 6945342..c377c73 100644 --- a/libs/rs/rsContext.h +++ b/libs/rs/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(); |
