diff options
author | Jamie Gennis <jgennis@google.com> | 2012-10-02 16:40:30 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-10-03 15:05:58 -0700 |
commit | 3fd12e41afcf323fdb99a4cf6bef0f904d72cc8b (patch) | |
tree | 4454a506c5596366f207953c5071022033953c48 /libs | |
parent | 35387922bd3213ea4c376c7dcfb109da67a6a33e (diff) | |
download | frameworks_native-3fd12e41afcf323fdb99a4cf6bef0f904d72cc8b.zip frameworks_native-3fd12e41afcf323fdb99a4cf6bef0f904d72cc8b.tar.gz frameworks_native-3fd12e41afcf323fdb99a4cf6bef0f904d72cc8b.tar.bz2 |
libgui: fix up compile options
This change adds debug info to SurfaceFlinger's dumpsys to indicate that the
USE_WAIT_SYNC compile option was enabled, and it removes the
ALLOW_DEQUEUE_CURRENT_BUFFER option.
Bug: 7238122
Change-Id: I70e08e34c2ef58aa6d2f88229e781a119f84b5a9
Diffstat (limited to 'libs')
-rw-r--r-- | libs/gui/Android.mk | 4 | ||||
-rw-r--r-- | libs/gui/BufferQueue.cpp | 45 | ||||
-rw-r--r-- | libs/gui/GuiConfig.cpp | 4 | ||||
-rw-r--r-- | libs/gui/SurfaceTexture.cpp | 10 |
4 files changed, 12 insertions, 51 deletions
diff --git a/libs/gui/Android.mk b/libs/gui/Android.mk index 923845c..902aeca 100644 --- a/libs/gui/Android.mk +++ b/libs/gui/Android.mk @@ -57,10 +57,6 @@ ifeq ($(TARGET_BOARD_PLATFORM), msm8960) LOCAL_CFLAGS += -DUSE_NATIVE_FENCE_SYNC endif -ifeq ($(TARGET_BOARD_PLATFORM), tegra) - LOCAL_CFLAGS += -DALLOW_DEQUEUE_CURRENT_BUFFER -endif - include $(BUILD_SHARED_LIBRARY) ifeq (,$(ONE_SHOT_MAKEFILE)) diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp index 8594b84..d408476 100644 --- a/libs/gui/BufferQueue.cpp +++ b/libs/gui/BufferQueue.cpp @@ -32,23 +32,6 @@ #include <gui/SurfaceTexture.h> #include <utils/Trace.h> -// This compile option causes SurfaceTexture to return the buffer that is currently -// attached to the GL texture from dequeueBuffer when no other buffers are -// available. It requires the drivers (Gralloc, GL, OMX IL, and Camera) to do -// implicit cross-process synchronization to prevent the buffer from being -// written to before the buffer has (a) been detached from the GL texture and -// (b) all GL reads from the buffer have completed. - -// During refactoring, do not support dequeuing the current buffer -#undef ALLOW_DEQUEUE_CURRENT_BUFFER - -#ifdef ALLOW_DEQUEUE_CURRENT_BUFFER -#define FLAG_ALLOW_DEQUEUE_CURRENT_BUFFER true -#warning "ALLOW_DEQUEUE_CURRENT_BUFFER enabled" -#else -#define FLAG_ALLOW_DEQUEUE_CURRENT_BUFFER false -#endif - // Macros for including the BufferQueue name in log messages #define ST_LOGV(x, ...) ALOGV("[%s] "x, mConsumerName.string(), ##__VA_ARGS__) #define ST_LOGD(x, ...) ALOGD("[%s] "x, mConsumerName.string(), ##__VA_ARGS__) @@ -325,24 +308,16 @@ status_t BufferQueue::dequeueBuffer(int *outBuf, sp<Fence>& outFence, dequeuedCount++; } - // this logic used to be if (FLAG_ALLOW_DEQUEUE_CURRENT_BUFFER) - // but dequeuing the current buffer is disabled. - if (false) { - // This functionality has been temporarily removed so - // BufferQueue and SurfaceTexture can be refactored into - // separate objects - } else { - if (state == BufferSlot::FREE) { - /* We return the oldest of the free buffers to avoid - * stalling the producer if possible. This is because - * the consumer may still have pending reads of the - * buffers in flight. - */ - bool isOlder = mSlots[i].mFrameNumber < - mSlots[found].mFrameNumber; - if (found < 0 || isOlder) { - found = i; - } + if (state == BufferSlot::FREE) { + /* We return the oldest of the free buffers to avoid + * stalling the producer if possible. This is because + * the consumer may still have pending reads of the + * buffers in flight. + */ + bool isOlder = mSlots[i].mFrameNumber < + mSlots[found].mFrameNumber; + if (found < 0 || isOlder) { + found = i; } } } diff --git a/libs/gui/GuiConfig.cpp b/libs/gui/GuiConfig.cpp index 0744e4f..bafd21a 100644 --- a/libs/gui/GuiConfig.cpp +++ b/libs/gui/GuiConfig.cpp @@ -28,8 +28,8 @@ void appendGuiConfigString(String8& configStr) #ifdef USE_NATIVE_FENCE_SYNC " USE_NATIVE_FENCE_SYNC" #endif -#ifdef ALLOW_DEQUEUE_CURRENT_BUFFER - " ALLOW_DEQUEUE_CURRENT_BUFFER" +#ifdef USE_WAIT_SYNC + " USE_WAIT_SYNC" #endif "]"; configStr.append(config); diff --git a/libs/gui/SurfaceTexture.cpp b/libs/gui/SurfaceTexture.cpp index 8df1302..57bcd2c 100644 --- a/libs/gui/SurfaceTexture.cpp +++ b/libs/gui/SurfaceTexture.cpp @@ -63,16 +63,6 @@ static const bool useWaitSync = true; static const bool useWaitSync = false; #endif -// This compile option makes SurfaceTexture use the EGL_KHR_fence_sync extension -// to synchronize access to the buffers. It will cause dequeueBuffer to stall, -// waiting for the GL reads for the buffer being dequeued to complete before -// allowing the buffer to be dequeued. -#ifdef USE_FENCE_SYNC -#ifdef ALLOW_DEQUEUE_CURRENT_BUFFER -#error "USE_FENCE_SYNC and ALLOW_DEQUEUE_CURRENT_BUFFER are incompatible" -#endif -#endif - // Macros for including the SurfaceTexture name in log messages #define ST_LOGV(x, ...) ALOGV("[%s] "x, mName.string(), ##__VA_ARGS__) #define ST_LOGD(x, ...) ALOGD("[%s] "x, mName.string(), ##__VA_ARGS__) |