blob: ece78788c647a105c1610a2f574d30997f165a3c [file] [log] [blame]
// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#pragma once
#include "host-common/opengl/emugl_config.h"
#ifdef _MSC_VER
# ifdef BUILDING_EMUGL_COMMON_SHARED
# define EMUGL_COMMON_API __declspec(dllexport)
# else
# define EMUGL_COMMON_API __declspec(dllimport)
#endif
#else
# define EMUGL_COMMON_API
#endif
namespace android {
namespace base {
class GLObjectCounter;
} // namespace base
} // namespace android
namespace emugl {
// Set/get GLES major/minor version.
EMUGL_COMMON_API void setGlesVersion(int maj, int min);
EMUGL_COMMON_API void getGlesVersion(int* maj, int* min);
// Set/get renderer
EMUGL_COMMON_API void setRenderer(SelectedRenderer renderer);
EMUGL_COMMON_API SelectedRenderer getRenderer();
// Extension string query
EMUGL_COMMON_API bool hasExtension(const char* extensionsStr,
const char* wantedExtension);
// GL object counter get/set
EMUGL_COMMON_API void setGLObjectCounter(
android::base::GLObjectCounter* counter);
EMUGL_COMMON_API android::base::GLObjectCounter* getGLObjectCounter();
// Gralloc implementation get/set
EMUGL_COMMON_API void setGrallocImplementation(
GrallocImplementation gralloc);
EMUGL_COMMON_API GrallocImplementation getGrallocImplementation();
}