summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2011-08-17 17:15:23 -0700
committerJason Sams <rjsams@android.com>2011-08-17 17:15:23 -0700
commit85deb781658e870556c305c523fa7f2bf679efe3 (patch)
tree724ae41fd50cc0694bb572e110491c5b16967e8e /libs
parentc1b4c1ff9b2f9e691089f96e5b926b638d5b0e6a (diff)
downloadframeworks_base-85deb781658e870556c305c523fa7f2bf679efe3.zip
frameworks_base-85deb781658e870556c305c523fa7f2bf679efe3.tar.gz
frameworks_base-85deb781658e870556c305c523fa7f2bf679efe3.tar.bz2
Fix "return 0" behavior in rs
0 was not properly blocking for the next message. Change-Id: I0d9f0a8f799ba457197920c6a699f80f496eaa8e
Diffstat (limited to 'libs')
-rw-r--r--libs/rs/rsContext.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index f65dd47..8996ad1 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -252,10 +252,11 @@ void * Context::threadProc(void *vrsc) {
while (!rsc->mExit) {
uint64_t waitTime = 0;
uint64_t now = rsc->getTime();
- if (now < targetTime) {
- waitTime = targetTime - now;
- } else {
- doWait = false;
+ if (!doWait) {
+ if (now < targetTime) {
+ waitTime = targetTime - now;
+ doWait = true;
+ }
}
mDraw |= rsc->mIO.playCoreCommands(rsc, doWait, waitTime);
@@ -265,7 +266,7 @@ void * Context::threadProc(void *vrsc) {
if (mDraw && rsc->mIsGraphicsContext) {
uint64_t delay = rsc->runRootScript() * 1000000;
targetTime = rsc->getTime() + delay;
- doWait = delay != 0;
+ doWait = (delay == 0);
if (rsc->props.mLogVisual) {
rsc->displayDebugStats();