diff options
author | 2017-02-16 05:27:03 +0000 | |
---|---|---|
committer | 2017-02-16 05:27:04 +0000 | |
commit | 125c3ae33e284b09dede27a7e01b0b51d0653227 (patch) | |
tree | 72ea8f979d9b4eb63a8af42f293781ac41e95c48 /services/surfaceflinger/DisplayDevice.cpp | |
parent | 6bd7143ec726bb17ea6858836be7a59ea22d5354 (diff) | |
parent | 720a72479292406b821cbb17b93e6e1659ce0c3e (diff) |
Merge changes from topic 'cfg_nsfbuf'
* changes:
configstore: removing BoardConfig variables (NUM_FRAMEBUFFER_SURFACE_BUFFERS)
configstore: use utility functions defined in ConfigStoreUtils.h
Diffstat (limited to 'services/surfaceflinger/DisplayDevice.cpp')
-rw-r--r-- | services/surfaceflinger/DisplayDevice.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/services/surfaceflinger/DisplayDevice.cpp b/services/surfaceflinger/DisplayDevice.cpp index 6c18ef7389..9af4402802 100644 --- a/services/surfaceflinger/DisplayDevice.cpp +++ b/services/surfaceflinger/DisplayDevice.cpp @@ -47,6 +47,9 @@ #include "SurfaceFlinger.h" #include "Layer.h" +#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h> +#include <configstore/Utils.h> + // ---------------------------------------------------------------------------- using namespace android; // ---------------------------------------------------------------------------- @@ -57,6 +60,14 @@ static constexpr bool kEGLAndroidSwapRectangle = true; static constexpr bool kEGLAndroidSwapRectangle = false; #endif +// retrieve triple buffer setting from configstore +using namespace android::hardware::configstore; +using namespace android::hardware::configstore::V1_0; + +static bool useTripleFramebuffer = getBool< + ISurfaceFlingerConfigs, + &ISurfaceFlingerConfigs::useTripleFramebuffer>(false); + #if !defined(EGL_EGLEXT_PROTOTYPES) || !defined(EGL_ANDROID_swap_rectangle) // Dummy implementation in case it is missing. inline void eglSetSwapRectangleANDROID (EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint) { @@ -165,9 +176,9 @@ DisplayDevice::DisplayDevice( // initialize the display orientation transform. setProjection(DisplayState::eOrientationDefault, mViewport, mFrame); -#ifdef NUM_FRAMEBUFFER_SURFACE_BUFFERS - surface->allocateBuffers(); -#endif + if (useTripleFramebuffer) { + surface->allocateBuffers(); + } } DisplayDevice::~DisplayDevice() { |