blob: 03b1706faa496b54164e250ddc74f08be29e0c92 [file] [log] [blame]
John Reck704bed02015-11-05 09:22:17 -08001/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#include <DeviceInfo.h>
17
18#include "Extensions.h"
19
20#include <GLES2/gl2.h>
21
22#include <thread>
23#include <mutex>
24
25namespace android {
26namespace uirenderer {
27
28static DeviceInfo* sDeviceInfo = nullptr;
29static std::once_flag sInitializedFlag;
30
31const DeviceInfo* DeviceInfo::get() {
32 return sDeviceInfo;
33}
34
35void DeviceInfo::initialize() {
36 std::call_once(sInitializedFlag, []() {
37 sDeviceInfo = new DeviceInfo();
38 sDeviceInfo->load();
39 });
40}
41
42void DeviceInfo::load() {
43 mExtensions.load();
44 glGetIntegerv(GL_MAX_TEXTURE_SIZE, &mMaxTextureSize);
45}
46
47} /* namespace uirenderer */
48} /* namespace android */