FboCache.cpp revision e2d345ea67e2960b37bfdc0fc8626d1bfa747404
1e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy/*
2e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy * Copyright (C) 2010 The Android Open Source Project
3e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy *
4e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy * Licensed under the Apache License, Version 2.0 (the "License");
5e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy * you may not use this file except in compliance with the License.
6e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy * You may obtain a copy of the License at
7e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy *
8e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy *      http://www.apache.org/licenses/LICENSE-2.0
9e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy *
10e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy * Unless required by applicable law or agreed to in writing, software
11e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy * distributed under the License is distributed on an "AS IS" BASIS,
12e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy * See the License for the specific language governing permissions and
14e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy * limitations under the License.
15e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy */
16e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
17e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy#define LOG_TAG "OpenGLRenderer"
18e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
19e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy#include "FboCache.h"
20e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy#include "Properties.h"
21e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
22e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guynamespace android {
23e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guynamespace uirenderer {
24e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
25e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy///////////////////////////////////////////////////////////////////////////////
26e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy// Constructors/destructor
27e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy///////////////////////////////////////////////////////////////////////////////
28e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
29e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain GuyFboCache::FboCache(): mMaxSize(DEFAULT_FBO_CACHE_SIZE) {
30e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy    char property[PROPERTY_VALUE_MAX];
31e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy    if (property_get(PROPERTY_FBO_CACHE_SIZE, property, NULL) > 0) {
32e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy        LOGD("  Setting fbo cache size to %s", property);
33e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy        mMaxSize = atoi(property);
34e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy    } else {
35e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy        LOGD("  Using default fbo cache size of %d", DEFAULT_FBO_CACHE_SIZE);
36e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy    }
37e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy}
38e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
39e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain GuyFboCache::~FboCache() {
40e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy    clear();
41e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy}
42e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
43e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy///////////////////////////////////////////////////////////////////////////////
44e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy// Size management
45e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy///////////////////////////////////////////////////////////////////////////////
46e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
47e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guyuint32_t FboCache::getSize() {
48e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy    return mCache.size();
49e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy}
50e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
51e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guyuint32_t FboCache::getMaxSize() {
52e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy    return mMaxSize;
53e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy}
54e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
55e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy///////////////////////////////////////////////////////////////////////////////
56e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy// Caching
57e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy///////////////////////////////////////////////////////////////////////////////
58e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
59e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guyvoid FboCache::clear() {
60e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
61e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy}
62e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
63e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain GuyGLuint FboCache::get() {
64e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy    return 0;
65e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy}
66e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
67e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guybool FboCache::put(GLuint fbo) {
68e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy    return false;
69e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy}
70e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy
71e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy}; // namespace uirenderer
72e2d345ea67e2960b37bfdc0fc8626d1bfa747404Romain Guy}; // namespace android
73