1ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian/* 2ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * Copyright (C) 2013 The Android Open Source Project 3ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * 4ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * Licensed under the Apache License, Version 2.0 (the "License"); 5ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * you may not use this file except in compliance with the License. 6ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * You may obtain a copy of the License at 7ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * 8ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * http://www.apache.org/licenses/LICENSE-2.0 9ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * 10ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * Unless required by applicable law or agreed to in writing, software 11ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * distributed under the License is distributed on an "AS IS" BASIS, 12ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * See the License for the specific language governing permissions and 14ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian * limitations under the License. 15ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian */ 16ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian 17ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian#ifndef ANDROID_GUI_SYNC_FEATURES_H 18ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian#define ANDROID_GUI_SYNC_FEATURES_H 19ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian 20ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian#include <utils/Singleton.h> 21ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian#include <utils/String8.h> 22ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian 23ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian 24ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopiannamespace android { 25ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian// ---------------------------------------------------------------------------- 26ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian 27ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopianclass SyncFeatures : public Singleton<SyncFeatures> { 28ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian friend class Singleton<SyncFeatures>; 29ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian bool mHasNativeFenceSync; 30ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian bool mHasFenceSync; 31ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian bool mHasWaitSync; 32ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian String8 mString; 33ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian SyncFeatures(); 34ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian 35ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopianpublic: 36ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian bool useNativeFenceSync() const; 37ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian bool useFenceSync() const; 38ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian bool useWaitSync() const; 39ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian String8 toString() const; 40ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian}; 41ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian 42ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian// ---------------------------------------------------------------------------- 43ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian}; // namespace android 44ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian 45ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian#endif // ANDROID_GUI_SYNC_FEATURES_H 46