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"
2166f0a168c4227d4e302f4ffb21ec7e9d7b9ca828Jason Sams#include "rsInternalDefines.h"
22d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
2384bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams#if !defined(RS_SERVER) && !defined(RS_COMPATIBILITY_LIB)
24d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#include <utils/CallStack.h>
25d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#endif
26d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
27d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinesnamespace android {
28d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinesnamespace renderscript {
29d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
30d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
31d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinesclass DebugHelper {
32d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinespublic:
33d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines    DebugHelper() {
3484bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams#if !defined(RS_SERVER) && !defined(RS_COMPATIBILITY_LIB)
35d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines        mStack.update(2);
3684bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams#endif
37d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines    }
38d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
39d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines    void dump() {
4084bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams#if !defined(RS_SERVER) && !defined(RS_COMPATIBILITY_LIB)
4184bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams        String8 s = mStack.toString();
4284bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams        ALOGV("%s", s.string());
4384bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams        //mStack.dump();
4484bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams#endif
45d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines    }
46d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
47d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hinesprivate:
4884bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams#if !defined(RS_SERVER) && !defined(RS_COMPATIBILITY_LIB)
49d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines    CallStack mStack;
5084bf95dece5bdac4a56b6f40c160e85cc7bb9732Jason Sams#endif
51d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines};
52d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
53d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
54d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines}  // namespace renderscript
55d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines}  // namespace android
56d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
57d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines#endif //ANDROID_RS_DEBUG_HELPER_H
58d216dafa216f3329577ab624cdc5a5d1860ec035Stephen Hines
59