diff options
author | Jason Sams <rjsams@android.com> | 2011-08-17 17:23:16 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-08-17 17:23:16 -0700 |
commit | 24b352242894b38d224df8ef5f586d25ba6c210d (patch) | |
tree | 83cf6d01e646e7b187648b49b8b2a039d9907ff4 /libs | |
parent | 8c60d89b3704164d5a13e80ace6bea4b51af37a3 (diff) | |
parent | 85deb781658e870556c305c523fa7f2bf679efe3 (diff) | |
download | frameworks_base-24b352242894b38d224df8ef5f586d25ba6c210d.zip frameworks_base-24b352242894b38d224df8ef5f586d25ba6c210d.tar.gz frameworks_base-24b352242894b38d224df8ef5f586d25ba6c210d.tar.bz2 |
Merge "Fix "return 0" behavior in rs 0 was not properly blocking for the next message."
Diffstat (limited to 'libs')
-rw-r--r-- | libs/rs/rsContext.cpp | 11 |
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(); |