1d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines/* 2d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * Copyright (C) 2013 The Android Open Source Project 3d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * 4d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * Licensed under the Apache License, Version 2.0 (the "License"); 5d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * you may not use this file except in compliance with the License. 6d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * You may obtain a copy of the License at 7d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * 8d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * http://www.apache.org/licenses/LICENSE-2.0 9d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * 10d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * Unless required by applicable law or agreed to in writing, software 11d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * distributed under the License is distributed on an "AS IS" BASIS, 12d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * See the License for the specific language governing permissions and 14d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines * limitations under the License. 15d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines */ 16d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 17d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#ifndef ANDROID_RS_DEBUG_HELPER_H 18d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#define ANDROID_RS_DEBUG_HELPER_H 19d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 20d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#include "rsUtils.h" 21d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#include "rsDefines.h" 22d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 23d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#ifndef RS_SERVER 24d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines// This shouldn't ever be defined with RS_SERVER 25d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#define RS_OBJECT_DEBUG 0 26d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#endif 27d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 28d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#if RS_OBJECT_DEBUG 29d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#include <utils/CallStack.h> 30d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#endif 31d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 32d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinesnamespace android { 33d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinesnamespace renderscript { 34d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 35d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#if RS_OBJECT_DEBUG 36d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 37d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinesclass DebugHelper { 38d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinespublic: 39d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines DebugHelper() { 40d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines mStack.update(2); 41d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines } 42d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 43d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines void dump() { 44d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines mStack.dump(); 45d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines } 46d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 47d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinesprivate: 48d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines CallStack mStack; 49d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines}; 50d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 51d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#else 52d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 53d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinesclass DebugHelper { 54d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinespublic: 55d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines DebugHelper() { } 56d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines}; 57d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 58d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#endif 59d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 60d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines} // namespace renderscript 61d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines} // namespace android 62d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 63d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#endif //ANDROID_RS_DEBUG_HELPER_H 64d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines 65