summaryrefslogtreecommitdiff
path: root/libs/rs/rsContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/rs/rsContext.cpp')
-rw-r--r--libs/rs/rsContext.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index 1dfedb3bd53c..2e6ea1243d9c 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -270,19 +270,23 @@ void Context::deinitEGL() {
Context::PushState::PushState(Context *con) {
mRsc = con;
- mFragment.set(con->getProgramFragment());
- mVertex.set(con->getProgramVertex());
- mStore.set(con->getProgramStore());
- mRaster.set(con->getProgramRaster());
- mFont.set(con->getFont());
+ if (con->mIsGraphicsContext) {
+ mFragment.set(con->getProgramFragment());
+ mVertex.set(con->getProgramVertex());
+ mStore.set(con->getProgramStore());
+ mRaster.set(con->getProgramRaster());
+ mFont.set(con->getFont());
+ }
}
Context::PushState::~PushState() {
- mRsc->setProgramFragment(mFragment.get());
- mRsc->setProgramVertex(mVertex.get());
- mRsc->setProgramStore(mStore.get());
- mRsc->setProgramRaster(mRaster.get());
- mRsc->setFont(mFont.get());
+ if (mRsc->mIsGraphicsContext) {
+ mRsc->setProgramFragment(mFragment.get());
+ mRsc->setProgramVertex(mVertex.get());
+ mRsc->setProgramStore(mStore.get());
+ mRsc->setProgramRaster(mRaster.get());
+ mRsc->setFont(mFont.get());
+ }
}