595264f1af
this is the first step of a series of improvements to BufferQueue. A few things happen in this change: - setSynchronousMode() goes away as well as the SynchronousModeAllowed flag - BufferQueue now defaults to (what used to be) synchronous mode - a new "controlled by app" flag is passed when creating consumers and producers those flags are used to put the BufferQueue in a mode where it will never block if both flags are set. This is achieved by: - returning an error from dequeueBuffer() if it would block - making sure a buffer is always available by replacing the previous buffer with the new one in queueBuffer() (note: this is similar to what asynchrnous mode used to be) Note: in this change EGL's swap-interval 0 is broken; this will be fixed in another change. Change-Id: I691f9507d6e2e158287e3039f2a79a4d4434211d
85 lines
1.9 KiB
Makefile
85 lines
1.9 KiB
Makefile
LOCAL_PATH:= $(call my-dir)
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES:= \
|
|
Client.cpp \
|
|
DisplayDevice.cpp \
|
|
EventThread.cpp \
|
|
FrameTracker.cpp \
|
|
Layer.cpp \
|
|
LayerDim.cpp \
|
|
MessageQueue.cpp \
|
|
SurfaceFlinger.cpp \
|
|
SurfaceFlingerConsumer.cpp \
|
|
SurfaceTextureLayer.cpp \
|
|
Transform.cpp \
|
|
DisplayHardware/FramebufferSurface.cpp \
|
|
DisplayHardware/HWComposer.cpp \
|
|
DisplayHardware/PowerHAL.cpp \
|
|
DisplayHardware/VirtualDisplaySurface.cpp \
|
|
EventLog/EventLogTags.logtags \
|
|
EventLog/EventLog.cpp \
|
|
RenderEngine/GLExtensions.cpp \
|
|
RenderEngine/RenderEngine.cpp \
|
|
RenderEngine/GLES10RenderEngine.cpp \
|
|
RenderEngine/GLES11RenderEngine.cpp
|
|
|
|
|
|
LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\"
|
|
LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
|
|
|
|
ifeq ($(TARGET_BOARD_PLATFORM),omap3)
|
|
LOCAL_CFLAGS += -DNO_RGBX_8888
|
|
endif
|
|
ifeq ($(TARGET_BOARD_PLATFORM),omap4)
|
|
LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
|
|
endif
|
|
ifeq ($(TARGET_BOARD_PLATFORM),s5pc110)
|
|
LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
|
|
endif
|
|
|
|
ifeq ($(TARGET_DISABLE_TRIPLE_BUFFERING),true)
|
|
LOCAL_CFLAGS += -DTARGET_DISABLE_TRIPLE_BUFFERING
|
|
endif
|
|
|
|
ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),)
|
|
LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS)
|
|
endif
|
|
|
|
LOCAL_CFLAGS += -fvisibility=hidden
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libcutils \
|
|
liblog \
|
|
libdl \
|
|
libhardware \
|
|
libutils \
|
|
libEGL \
|
|
libGLESv1_CM \
|
|
libbinder \
|
|
libui \
|
|
libgui
|
|
|
|
LOCAL_MODULE:= libsurfaceflinger
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
###############################################################
|
|
# uses jni which may not be available in PDK
|
|
ifneq ($(wildcard libnativehelper/include),)
|
|
include $(CLEAR_VARS)
|
|
LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\"
|
|
|
|
LOCAL_SRC_FILES:= \
|
|
DdmConnection.cpp
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libcutils \
|
|
liblog \
|
|
libdl
|
|
|
|
LOCAL_MODULE:= libsurfaceflinger_ddmconnection
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
endif # libnativehelper
|