mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:09:42 +00:00
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
43 lines
1.2 KiB
C++
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
|