enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
this flag should be enabled for all targets, but currently some have issues with it, so we're turning it on only for tested targets. this will hopefully resolve some performance issues. Bug: 5553562, 5631630 Change-Id: I54c7a9e2068586898ab13e405d95534669260537
This commit is contained in:
parent
6285c6cf10
commit
7c6eba6669
@ -32,6 +32,10 @@ LOCAL_SHARED_LIBRARIES := \
|
|||||||
|
|
||||||
LOCAL_MODULE:= libgui
|
LOCAL_MODULE:= libgui
|
||||||
|
|
||||||
|
ifeq ($(TARGET_BOARD_PLATFORM), tegra)
|
||||||
|
LOCAL_CFLAGS += -DALLOW_DEQUEUE_CURRENT_BUFFER
|
||||||
|
endif
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
ifeq (,$(ONE_SHOT_MAKEFILE))
|
ifeq (,$(ONE_SHOT_MAKEFILE))
|
||||||
|
@ -36,8 +36,12 @@
|
|||||||
#include <utils/Log.h>
|
#include <utils/Log.h>
|
||||||
#include <utils/String8.h>
|
#include <utils/String8.h>
|
||||||
|
|
||||||
|
#ifdef ALLOW_DEQUEUE_CURRENT_BUFFER
|
||||||
#define ALLOW_DEQUEUE_CURRENT_BUFFER false
|
#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 SurfaceTexture name in log messages
|
// Macros for including the SurfaceTexture name in log messages
|
||||||
#define ST_LOGV(x, ...) LOGV("[%s] "x, mName.string(), ##__VA_ARGS__)
|
#define ST_LOGV(x, ...) LOGV("[%s] "x, mName.string(), ##__VA_ARGS__)
|
||||||
@ -325,7 +329,7 @@ status_t SurfaceTexture::dequeueBuffer(int *outBuf, uint32_t w, uint32_t h,
|
|||||||
LOGW_IF((state == BufferSlot::FREE) && (mCurrentTexture==i),
|
LOGW_IF((state == BufferSlot::FREE) && (mCurrentTexture==i),
|
||||||
"dequeueBuffer: buffer %d is both FREE and current!", i);
|
"dequeueBuffer: buffer %d is both FREE and current!", i);
|
||||||
|
|
||||||
if (ALLOW_DEQUEUE_CURRENT_BUFFER) {
|
if (FLAG_ALLOW_DEQUEUE_CURRENT_BUFFER) {
|
||||||
if (state == BufferSlot::FREE || i == mCurrentTexture) {
|
if (state == BufferSlot::FREE || i == mCurrentTexture) {
|
||||||
foundSync = i;
|
foundSync = i;
|
||||||
if (i != mCurrentTexture) {
|
if (i != mCurrentTexture) {
|
||||||
|
Loading…
Reference in New Issue
Block a user