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