summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2011-08-17 17:23:16 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-08-17 17:23:16 -0700
commit24b352242894b38d224df8ef5f586d25ba6c210d (patch)
tree83cf6d01e646e7b187648b49b8b2a039d9907ff4 /libs
parent8c60d89b3704164d5a13e80ace6bea4b51af37a3 (diff)
parent85deb781658e870556c305c523fa7f2bf679efe3 (diff)
downloadframeworks_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.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();