Files
hardware_interfaces/configstore/1.0/default/SurfaceFlingerConfigs.cpp
Jaesoo Lee d643fc08c5 configstore: add new configuration item
This change adds to configstore@1.0 HAL a new configuration item
for surfaceflinger; useTripleFramebuffer()

In the default implementation, useTripleFramebuffer() will return true
only if the build flag NUM_FRAMEBUFFER_SURFACE_BUFFERS is defined as 3.

Bug: 34723491
Test: build & run. log message "SurfaceFlinger FrameBuffer: ?"
      should be seen.

Change-Id: Iac97e25cd69717c73a135f6b2a44538124544987
2017-02-16 08:35:01 +09:00

43 lines
1.2 KiB
C++

#include "SurfaceFlingerConfigs.h"
#include <android-base/logging.h>
namespace android {
namespace hardware {
namespace configstore {
namespace V1_0 {
namespace implementation {
// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) {
#ifdef VSYNC_EVENT_PHASE_OFFSET_NS
_hidl_cb({true, VSYNC_EVENT_PHASE_OFFSET_NS});
LOG(INFO) << "vsync event phase offset ns = " << VSYNC_EVENT_PHASE_OFFSET_NS;
#else
_hidl_cb({false, 0});
#endif
return Void();
}
Return<void> SurfaceFlingerConfigs::useTripleFramebuffer(useTripleFramebuffer_cb _hidl_cb) {
bool value = false;
#ifdef USE_TRIPLE_FRAMEBUFFER
value = true;
#endif
_hidl_cb({true, value});
LOG(INFO) << "SurfaceFlinger FrameBuffer: " << (value ? "triple" : "double");
return Void();
}
// Methods from ::android::hidl::base::V1_0::IBase follow.
ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* /* name */) {
return new SurfaceFlingerConfigs();
}
} // namespace implementation
} // namespace V1_0
} // namespace configstore
} // namespace hardware
} // namespace android